自助选股驾驶舱(Stock Cockpit)
定位与总流程
面向产业投资与二级市场研究的一站式选股流水线。用户用一句自然语言下达指令,本技能按以下五个阶段执行并输出结构化驾驶舱看板:
① 筛选建池 → ② 数据拉取 → ③ 舆情校验 → ④ 分析打分 → ⑤ 看板输出
核心设计原则:
1. 数据通道唯一:同一类数据只走一条通道,严禁多通道重复拉取(口径不一致会产生幻觉)。通道分工见下表。
2. 财务排雷强制前置:价值模式下先排雷后分析;排雷异常降分并标注,不自动剔除标的(保留研究困境反转的空间)。
3. 量化模块默认关闭:默认只跑价值维度;用户明确要求"开启量化/短线参考"时才加载模式 B。
4. 舆情强预警不越权:重大利空自动置顶红标,但不替用户做取舍。
5. 所有输出末尾必须附带文末《边界与免责声明》,逐字输出,不得省略。
底层能力路由
启动时先做能力探测:检查当前会话可用技能与工具(westock CLI 是否已安装、neodata 脚本是否可用)。按下表路由,命中即唯一通道:
| 数据需求 | 唯一通道 | 降级链(前者不可用时) |
|---|---|---|
| 批量筛选/策略/标签/事件/排行/预设选股 | westock-screener |
用户给定标的清单(跳过筛选);否则如实告知无法建池 |
| 单标的/批量行情、K线、财务三大表、技术指标、公告、龙虎榜、板块估值、ETF、资金流 | westock-data |
neodata-financial-search(注明来源) |
| 自然语言综合查询、券商研报、机构评级、社媒舆情、宏观/大宗/债券/期货/期权专题 | neodata-financial-search |
westock-data 对应命令(注明来源) |
| 个股新闻/公告/研报清单 | westock-data(news/notice/report) |
neodata-financial-search(--data-type doc 倾向)→ 均未覆盖时用 WebSearch 并显著注明"非行情源" |
| 价值深度尽调框架 | 本技能 references/value-diligence.md |
— |
| 量化辅助信号框架 | 本技能 references/quant-signals.md(默认关闭) |
— |
| 打分与风险红标规则 | 本技能 references/scoring.md |
— |
| 赛道预设模板 | 本技能 references/templates.md |
— |
可选增强探测:若会话中已安装以下市场技能,则优先调用其能力并映射到对应模块——【价值投资】公司深度分析→模式A增强;量化模型交易决策→模式B增强;股票分析专家→AI点评增强;同花顺iFinD/平安证券资讯/智能选股筛选→按其描述映射到筛选与资讯模块。未安装时不阻塞流程,按上表内置通道执行。
westock 调用纪律(继承自 westock 系技能,违反即产出不可靠结果):
- 首次使用先跑安装脚本(westock-screener 的 scripts/setup.ps1 或 setup.sh),已装先 westock version --json 核对版本。
- 代码必带市场前缀(sh/sz、hk、us),禁止裸数字或 601988.SH 格式;A股与港美股字段名不同(如 PE_TTM vs PeTTM),禁止混用。
- 批量标的用逗号写在同一条命令里;无依赖的多条查询(quote+finance+news+technical)同一轮并行发出。
- 禁止 | grep/| head 等终端截断,条数分页只用命令自身参数;筛选指标名以 --list 实时返回为准,禁止臆造;条件预设名是封闭集,先 westock screen condition --list-presets。
- PE/PB 负值排除(A股加 PE_TTM > 0);不支持北交所,涉及北交所时如实告知。
- 命令失败如实转述,禁止编造筛选结果、禁止失败后手搓数据。
NeoData 调用纪律(继承自 neodata 技能):
- 第一步永远是直接执行 python3 scripts/query.py --query "查询",脚本输出 TOKEN_EXPIRED/TOKEN_MISSING 时才走取凭证流程(connect_cloud_service → --save-token);鉴权失败最多重试 1 次。
- --data-type 默认不传;仅在用户明确只要数字时用 api、明确只要研报/公告/新闻时用 doc。
- 凭证内容静默处理,禁止向用户展示。
指令解析
将用户自然语言指令映射为执行模式,识别不清时先确认再执行:
| 用户意图特征 | 执行模式 |
|---|---|
| "筛选/帮我选/股票池/哪些股票 + 条件" | 全流水线:筛选建池起跑 |
| 直接给出 2~10 只标的名单 + "对比/拉数据" | 跳过①,从②起跑,标的池=用户名单 |
| "深度分析/尽调/排雷/基本面拆解 + 某标的" | 单标的:②→③→④模式A→⑤ |
| "开启量化/短线信号/量能换手" | 打开模式B开关(本次会话内保持),重新打分 |
| "关闭量化/只看价值" | 关闭模式B开关 |
| "舆情/利空/风险新闻检查" | 单模块:仅跑③,输出舆情简报 |
| "加载XX模板/储能模板/高股息模板" | 从 references/templates.md 载入预设条件,更新数据后重跑 |
| "导出报告/深度报告" | 在看板基础上逐标的展开完整报告(Word 或 Markdown 按用户要求) |
标的池规模纪律:筛选默认取 Top 20 以内(--limit ≤ 20);全流水线逐标的深挖时单批不超过 5 只,超出部分先出汇总看板、再按用户指令分批深挖。
五阶段工作流
① 筛选建池(westock-screener)
- 把用户的自然语言条件翻译为筛选命令:条件组合 →
westock screen condition --expression "intersect([...])";风格策略 →--preset或screen strategy;赛道/概念 →westock search <关键词> --type sector拿板块再取成份,或screen label;事件(解禁/减持/回购)→screen event;排名 →screen ranking。 - 用户指定的赛道不在标签封闭集内时,用
search --type sector定位板块 code 后以--sector或成份股交集落地,禁止臆造标签名。 - 记录筛选条件原文、执行日期、标的数量——看板头部必须原样回显。
- 空结果时向用户说明并建议放宽哪一维条件,禁止悄悄放宽条件后重跑。
② 数据拉取(westock-data + neodata,同一轮并行)
对池内全部标的(批量逗号并行,一次拉全池,禁止逐只串行):
- westock quote <codes>:现价、涨跌幅、总市值;
- westock finance <codes> --limit 4:近4期核心财务(默认 --fields core;排雷需要全字段时对重点标的单独 --fields all);
- westock technical <codes>:技术面与估值参考;
- westock fund flow <codes>(A股/港股):资金流;北向持仓 westock fund north-holding <codes>;
- 舆情素材:westock news list <codes> --limit 10、westock notice list <codes> --limit 10、westock report list <codes> --limit 5(并行,见③);
- NeoData 补充:板块资金与行业景气、宏观与大宗商品(仅当筛选主题涉及,如储能赛道拉碳酸锂价格)、研报评级与盈利预测(query.py --query "...")。
- 拉取结果必须标注数据日期;westock 与 NeoData 数字冲突时以 westock 为准并注明差异。
③ 舆情校验(风险标记)
- 对②的新闻/公告/研报逐条做事件分类,按
references/scoring.md的《舆情事件扣分表》归类计分。 - 重大利空(监管立案、业绩预告大幅下修、大额解禁/减持、诉讼仲裁、审计保留意见、实控人高质押、可转债/商誉暴雷风险)→ 置顶红标 + 在看板"风险标签"列标注关键词,不剔除标的。
- 利好(中标、项目落地、回购增持、业绩超预期)→ 记入舆情简报,不直接加分封顶(利好按扣分表上限控制)。
- 近30日无任何资讯的标的标注"资讯覆盖不足",舆情分给中性值而非满分。
④ 分析打分(双模式)
- 模式A 价值深度尽调(默认开启):按
references/value-diligence.md执行——先跑《财务排雷清单》(商誉/现金流/有息负债/质押/减持/审计意见),再逐标的做业务壁垒、产能与订单、估值逻辑拆解。排雷异常 → 基本面分直接套用降分规则并红标。 - 模式B 量化辅助(默认关闭):用户开启后按
references/quant-signals.md,基于②已拉的 technical/kline/fund flow 计算趋势、量能、换手、动量四类信号,输出短线参考分。禁止为量化模式额外发起大篇幅数据拉取。 - AI 复盘点评:综合②③④数据生成 3~5 句/标的的点评,直陈数据、不给买卖指令。
- 打分权重与计算细则严格按
references/scoring.md;量化关闭时权重自动重新归一,不得手工加权。
⑤ 看板输出
按 references/cockpit-template.md 的固定版式输出:头部回显筛选条件与数据日期 → 综合打分总表 → 逐标的详情(财报速览/行业资金/舆情简报/价值分析/量化信号(如开启)/AI点评)→ 整体风险汇总(红黄绿分级)→ 可选操作指令(导出报告/修改条件重跑/加入自选跟踪/切换模式)。末尾逐字附带《边界与免责声明》。
导出要求:用户要求导出 Word 报告时,按正式交付版式(封面/章节/表格/数据日期标注)生成到用户指定或默认输出目录。
权限与开关(会话内状态)
| 开关 | 默认 | 触发变更 | 影响 |
|---|---|---|---|
| 量化模块 | 关闭 | "开启量化/短线参考" | 加载模式B,权重重归一 |
| 舆情强预警 | 开启 | "关闭舆情预警" | 关闭后利空仅列入详情不置顶 |
| 排雷降分 | 强制 | 不可关闭 | 排雷异常必降分必标注 |
| 赛道模板 | — | "加载XX模板" | 载入模板条件重跑① |
同一会话内开关状态保持;新会话恢复默认。看板头部需注明"量化模块:开/关"。
边界与免责声明(每次看板末尾逐字输出)
> 1. 本驾驶舱仅自动聚合金融数据、资讯与模型指标,所有输出不构成任何投资建议,不保证预测准确。
> 2. 数据来源:westock(腾讯自选股)、NeoData 等数据接口,数据延迟与口径差异以原始平台为准;看板已标注数据日期。
> 3. 量化信号、AI 点评仅为辅助参考,禁止单一依据本工具做出交易决策。
> 4. 本工具无法覆盖非公开信息、线下项目、隐性担保等表外风险;深度尽调仍需人工复核。
参考文件
references/scoring.md— 四维打分模型、权重、舆情事件扣分表、排雷降分规则(打分前必读)references/value-diligence.md— 模式A:买方尽调框架与财务排雷清单(价值模式必读)references/quant-signals.md— 模式B:量化辅助信号定义(开启量化时读)references/templates.md— 赛道模板库(储能上游材料/逆变器/系统集成/电网侧设备/高股息等,加载模板时读)references/cockpit-template.md— 驾驶舱看板输出版式(输出前读)