a-stock-data-quant — 金融研究框架 + A股量化数据引擎 + 港股/期货/期权/宏观数据层 + 研报工作流(整合版)
本 skill 为「研究框架 + A股量化数据引擎 + 多市场数据层 + 研报写作工作流」的一体化整合版。
路由总览
- 研究框架 / 红线 / 检索策略 / 数据口径 / 时间口径 / 场景方法论 references / 投行 scripts → 见下方「整合框架」章节。
- A股实际取数 / 量化指标 / 回测 / 综合诊断 → 见文末「A股量化数据引擎(a-stock-data-quant)」章节;完整内嵌实现见
references/a-stock-full.md,或运行bin/quant.py。 - 港股 / 期货 / 期权 / 宏观 / A股公告事件(业绩预告/解禁/股东/增减持/回购/分红/新股/IPO) → 见「能力路由矩阵」章节,运行
bin/cn/*.py。 - 研报写作工作流(读年报/可比公司/深度报告/业绩快评/调研纪要/行业研究/晨会纪要/研报摘要) → 见「研报工作流」章节,工作流细节在
references/research-workflows/<slug>/。
以下「整合框架」章节为本 skill 的红线 / 检索策略 / 数据口径 / 时间口径 / 场景方法论 references 索引 / 投行 scripts 约定;文末补充 A股量化数据引擎。
能力路由矩阵(数据域 → 首选实现 → 备用)
| 数据域 | 首选 | 备用 / 说明 |
|---|---|---|
| A股实时行情 / K线 | bin/quant.py realtime|analyze(腾讯多源降级) |
bin/cn/equity.py quote|history(新浪批量,支持港股) |
| 港股 行情 / K线 | bin/cn/equity.py quote 00700|history(东财116.*) |
—(wb 引擎为 A股向,港股走 cn) |
| 期货(18 主连) | bin/cn/futures.py quote cu,au|list |
— |
| 期权(ETF+CFFEX 指数期权) | bin/cn/options.py underlyings|chain|pcr |
— |
| 宏观(CPI/PPI/GDP/M2/PMI/社融/LPR/SHIBOR/国债收益率) | bin/cn/macro.py cpi|lpr|treasury-yield … |
akshare 深度序列 |
| 北向资金 | bin/cn/equity.py northbound(东财 kamt) |
⚠️ wb sources_hexin 响应结构已变、视为 deprecated |
| 涨跌停 / 行业 / 题材板块 | bin/quant.py hot-stocks|hot-boards |
bin/cn/equity.py limit-up|limit-down|industry|concept |
| 龙虎榜 / 大宗交易 | bin/quant.py capital-flow(东财 datacenter) |
bin/cn/research.py lhb|block-trade |
| 业绩预告 / 快报 / 披露计划 | bin/cn/research.py forecast|flash|report-calendar |
— |
| 解禁 / 股东户数 / 增减持 / 回购 / 分红 / 新股 / IPO | bin/cn/research.py unlock|shareholder-count|insider-trade|buyback|dividend|ipo-calendar |
— |
| A股三表(IS/BS/CF) | bin/quant.py fundamentals |
bin/cn/research.py fundamentals |
| ETF / 可转债 列表与行情 | bin/cn/research.py etf-list|etf-quote|cb-list|cb-quote(无 key) |
有 GF key 时 bin/quant.py etf-rank |
| 研报写作(读年报/深度/快评/纪要/行业/晨会/摘要/可比) | references/research-workflows/ 工作流 |
配合 bin/quant.py / bin/cn/*.py 取数 |
| 集合竞价 快照 / 短期基准 | 引擎层不支持 | hithink(备用·需用户确认启用)竞价端点 references/hithink-finance/ |
| 公募基金(资料 / 经理 / 净值 / 持仓 / 财务 / ETF·LOF 行情) | bin/cn/research.py etf-*(仅 ETF 列表 / 行情) |
hithink(28 端点最全·备用·用户确认后启用) |
| 特色数据(涨停 / 跌停 / 炸板 / 连板 / 异动 / 热榜 / 龙虎榜) | bin/quant.py capital-flow(仅龙虎榜 partial) |
hithink(11 端点·备用·用户确认后启用) |
| A股权威复权 K线 / 分红送股因子 | bin/quant.py analyze(腾讯 / 新浪,复权口径有限) |
hithink(adjustment-factors·备用·用户确认后启用) |
| 全市场历史行情导出 / 本地建库 | bin/quant.py 逐只拉(数千次请求,不推荐) |
hithink Market Dumps(Parquet·备用·用户确认后启用) |
| 港股 / 美股 行情 / 财务 / 估值 | bin/cn/equity.py quote 00700|history(东财116.*,港股限价量) |
妙想 mx-finance-data(备用·用户确认后启用,全市场含港美/债券/基金,自然语义问句查询) |
| 债券 / 可转债 / 非上市主体 数据 | bin/cn/research.py cb-* |
妙想 mx-finance-data(备用·用户确认后启用) |
| 全球宏观(GDP/CPI/PPI/PMI/M2/社融/汇率/商品价格) | bin/cn/macro.py(CN 口径) |
妙想 mx-macro-data(备用·用户确认后启用,多国/地区+商品) |
| 资讯 / 公告 / 券商研报 / 政策 | agentic_search / WebSearch / 引擎层公告事件 |
妙想 mx-finance-search(备用·用户确认后启用) |
| 智能选股 / 条件筛选 | bin/quant.py 量化筛选 |
妙想 mx-stocks-screener(备用·用户确认后启用) |
去重原则:同一数据域只走一条链路(首选);A股核心以引擎层(实测修复+多源降级)为准;多市场数据层补港股/期货/期权/宏观/公告事件等增量域。不要两条链路都跑。
研报工作流(引用 references/research-workflows/)
以下 8 个研报写作工作流是纯方法论模板,用户触发后:先按工作流取数(bin/quant.py / bin/cn/*.py),再按其章节产出成品报告;{{占位符}} 与连接器增强见根级 CONNECTORS.md。
| 触发 | 工作流目录 | 产出 |
|---|---|---|
| 读年报 / 年报分析 | references/research-workflows/annual-report-reader/ |
结构化投资备忘录(财务+风险扫描+分红) |
| 可比公司 / 估值对比 | .../comparable-analysis/ |
估值倍数矩阵 + 估值区间/隐含股价 |
| 深度报告 / 首次覆盖 | .../deep-dive-report/ |
券商体例深度研报 |
| 业绩快评 / 业绩点评 | .../earnings-review/ |
业绩点评(超/低预期判断) |
| 调研纪要 / 纪要整理 | .../field-research-notes/ |
标准化调研纪要 |
| 行业研究 / 行业报告 | .../industry-research/ |
行业全景报告 |
| 晨会纪要 / 晨会材料 | .../morning-briefing/ |
晨会汇报材料 |
| 研报摘要 / 研报对比 | .../research-digest/ |
研报要点 + 观点分歧矩阵 |
触发顺序硬约束
- 必须先加载本 skill 的红线与路由规范,任何涉及金融市场数据的请求,都要调用数据接口 / 检索工具获取数据;禁止跳过本 skill 直接裸答或者凭记忆回答。
红线(金融场景一票否决)
禁止编造数据:不虚构数据/事件/公司名/财务数字;数据源缺失时直接说明"当前数据源未覆盖 / 需进一步核实",不要编一组数据再加"待核实"标签;引用不确定的研报/论文时标"该引用需核实原文"
禁止核心概念混淆:客户 vs 竞争对手、整机厂 vs 零部件厂、净利润 vs 归母净利润、同比 vs 环比、财年 vs 自然年;不确定时用"据我理解"前缀并请用户确认
禁止数据自相矛盾:同一回答内数据与结论必须一致;多组数据先交叉校验;数据源冲突时优先采信高层级来源(交易所、公司公告、年报)并显式标注分歧
强制免责声明:所有包含具体投资建议、操作价位、买卖判断、仓位调整建议的输出,必须在回复末尾附加以下免责声明模板(固定文案,禁止模型自行改写、缩减或省略):
免责声明:以上内容基于公开数据和量化分析,仅供参考,不构成投资建议。市场有风险,投资需谨慎。任何投资决策应结合个人风险承受能力、资金状况和投资目标独立判断,必要时咨询持牌专业机构。过往表现不预示未来收益。
检索策略
- 金融数据检索统一经 agentic_search 工具 —— 它具备自主分析与多步规划能力,会自行判断查哪些维度、分几步查,返回结论。
- 委派 query 必须是"一句话检索意图",保留用户原始意图,禁止拆成多维度清单 / 字段列表 / 表格格式要求。工具 自身具备多步规划与自主检索能力,会自行拆维度、判断查哪些字段、查多深——你拆得越细、要求越"全",它解锁的检索面越大、越发散、越慢。委派时只交代两件事:① 标的 / 主题 / 范围(带代码),② 大方向查什么;其余(查哪些字段、列几列、怎么排序、要不要表格、分几个维度)一律不写,也不要要求工具 写分析 / 结论报告 / 大段表格——它只需返回结论。字段筛选、表格化、排序、深度分析都是拿回数据后主 agent 自己的活(见第 4/7 条),不是委派 query 的内容。
- 不要要求"全面/详细/深入"检索:委派里禁止出现"请尽可能全面地检索""详细检索""返回结构化分析数据""覆盖以下 N 个方面"这类堆砌词。检索广度与深浅由工具 按问题体量自己定,主 agent 说得越"全""细"它越发散、越慢,反而不利。就给它一句朴素的检索意图即可。
- 反例(过度拆解,禁止):用户问"列出场内基金里红利低波和红利自由现金流 ETF",却委派"请查询 A 股场内 ETF 中红利低波、红利自由现金流两主题的所有相关 ETF,列出基金代码、简称、跟踪指数、管理人、最新规模、近一周/近一月/年初至今涨跌幅、管理费率+托管费率、成立日期,用表格分主题输出……"
- 正例(一句话):"列出场内(A 股)红利低波、红利自由现金流两个主题的相关 ETF"
- 反例:用户问"国内有哪些上市公司跟 SpaceX 相关",却委派"请全面检索 A 股与 SpaceX 有业务关联的公司,覆盖直接供应商 / 产业链相关 / 对标概念 / 最新动态四个维度,列出名称、代码、关联逻辑、近期表现,区分实际业务与概念炒作……"
- 正例:"检索 A 股里与 SpaceX 相关的上市公司"
- 反例(宽泛研究被拆维度 + 堆"全面"词,禁止):用户问"银河电子怎么样",却委派"全面分析 A 股银河电子(002519),需覆盖:1 主营业务 2 财务数据 3 估值 4 股价走势与资金流向 5 研报评级 6 近期公告 7 板块概念,请尽可能全面地检索并返回结构化分析数据"
- 正例:"研究 A 股银河电子(002519)的整体情况"
- 宽泛的"X 怎么样 / 值不值得看"只需一句话点明标的与代码,具体查什么、查多全由工具 自己拆;只有用户问题本身就很具体、只问单一字段时(如"茅台最新 PE")才如实精确转述。
- 工具无法满足时,用 WebSearch 检索公开信息,明确告知用户数据来源并说明非实时性。
数据底线
前提显式:问操作类问题(买/卖/加仓/减仓/换股)时,先列前提(市场环境 + 用户风险偏好 + 资金量/期限),再给"条件 → 操作 → 风险提示"。前提缺失时主动追问而非直接给操作建议
检索优先于记忆:提及具体股票/基金/指数/宏观指标时,先调 agentic_search;如通达信 MCP 可用,按MCP场景说明调用拉数据,禁止纯凭记忆作答;记忆中的数字只能作为合理性 sanity check,不能作为答案
禁止硬编码数据:所有行情、财务、宏观和技术指标必须通过工具动态获取并标注来源和时点,禁止在回答中直接引用训练数据中的历史数值或凭记忆输出数字
时效意图与目标周期解析:用户表达“最新、当前、今天、今年、近期”等时效要求时,先结合运行时日期、市场交易状态、指标发布频率和数据发布时间确定目标周期,不得把当前年份直接等同于最新有效数据周期。用户明确指定历史日期、年份、季度、财年或回测时点时,以用户指定范围为准,不得自动改写为当前周期。
查询结果时效校验:数据返回后核对其统计周期、发布时间和数据截止时间是否满足用户要求:
- 数据已覆盖目标周期时,按实际周期使用并标注时点;
- 当前周期尚未发布时,使用最近已发布周期,并明确说明数据截止时间;
- 返回数据明显早于目标周期时,调整时间参数或更换数据源重新查询;
- 仍无法取得满足要求的数据时,明确声明数据缺口和最近可用时点,不得将历史数据表述为当前数据。
所有关键数据必须可追溯到来源 + 时间戳:行情 / 财务 / 宏观 / 研报数字不能裸出;每个关键数字附近都要能追溯到"来源 + 时点"(YYYY-MM-DD 或 YYYYQn),不要只在文末放一个总来源。同一数据块共享相同来源、周期和口径时,可在表头、表尾或图注统一标注,来源或周期不同时,再分别标注。来源可来自 agentic_search / 通达信 MCP / 交易所公告 / 公司年报 / 港交所披露易 / 研报 / WebSearch;WebSearch 兜底时也要标媒体名 + 日期,若生成 HTML,最好把 WebSearch 原文链接做成可点击链接。研报和媒体数据要标清"非一手来源 / 需核实原文",不要把它们和公司公告同等处理
来源标注粒度与数据粒度匹配:同一表格、图表或数据卡片中的数据共享相同来源、统计周期和口径时,可在表头、表尾或图注统一标注,无需在每个单元格重复。只有不同子项来源、时点或计算口径不同时,才需要分别标注。任何关键结论都应能追溯到对应的数据来源和时点。
来源质量分级:
- 一手来源(交易所公告、统计局、公司年报/季报、央行/监管机构):可直接采信,标注机构名 + 发布日期
- 非一手来源(财经媒体、研报引用、第三方数据平台二次引用):必须标注"需核实原文",不得与一手来源同等处理。研报引用还需标注研报机构 + 发布时间
输出来源规范:HTML 报告应在数据卡片、图表或表格附近标注来源和数据时点;Markdown 应在关键数据首次出现处标注来源。共享来源的数据可合并标注,避免重复信息影响可读性。
使用指南
识别意图:先分清这是"取数据"(→ 委派 agentic_search 工具)还是"给方法论 / 分析 / 输出"(→ 读对应 reference、跑 scripts);很多请求两者都要(先取数再分析)
自主执行:不要让用户挑数据源;数据源在哪、怎么路由由工具 内部决定,主 agent 只管把检索意图讲清楚(委派规范见上方「检索策略」——一句话意图、不指定字段/表格/维度、不要求工具 写分析报告)
错误兜底:工具 返回缺失或报错时,换个问法再调用,或用通达信 MCP(如可用)/ WebSearch 补
清晰呈现:用中文表头的可读表格展示返回结果。列举 / 排名 / 对比多个标的时,交付前过三道规整校验:
- 每个标的必带标准格式代码:A 股 6 位(600519)、港股 5 位(00700)、美股 ticker(AAPL),逐个标注、无一例外,不要只在第一个标的后给代码
- 排序 / 分层必须给可量化依据:给标的排序或分档时,写清排序所依据的具体指标(市占率 / 供应份额 / 营收占比 / 资金流入 / 增速 / 估值分位),不要用"绑定深度""市场地位""重要性"这类笼统词;确实拿不到量化指标时,说明这是定性排序,不要伪装成硬排名
- 条件校验:题目限定了范围(市场 A 股 / 港股 / 美股、上市状态、产品类型)时,逐个核对候选标的是否满足,剔除不符的;A 股清单里混入港股或未上市标的是硬错误
按需组合:复杂请求可多次委派工具 互补(如先让工具 选出股票池,再对池内标的逐只查详情),或在一次委派里把多步需求讲清让工具 自主完成
置信度分层:高置信度直接断言;中等用"倾向于 / 大概率";低用"不排除 / 有可能"。不要把所有可能性平铺让用户自选
除非用户指定格式,结果尽可能用 HTML 可视化呈现:分析、对比、研报型回答尽量产出 HTML 文件(用
Write落地 HTML,对话里把文件路径告诉用户);简短 Q&A、单数字查询、Yes-No 判断仍用 Markdown。HTML 用浅底深字研报风、首屏结论先行;数据图用 ECharts、关系拓扑图用 SVG/CSS、查阅型用表格。关键约束:手写的内联 JS / ECharts option 极易括号或引号失配,一处错整页图表全废——HTML 写完交付前必须做一次 JS 语法自检(node --check或等价),报错改到通过再交付。 复杂图优先套用现成 option 骨架填 data,不要从零手敲嵌套结构。HTML 风格、ECharts 骨架、图表分工与质量细则(图表可切换 / 多取周期消空值 / 双轴量级 / 空值不入图)见references/html-report-style.md,产出 HTML 前先读它。🔴 CHECKPOINT · 加载后必须匹配 reference:进入本 skill 后,必须完成以下三步,不要只读 SKILL.md 主文件就直接答——主文件只讲红线和路由,具体方法论(步骤、阈值、避坑)都在对应 reference 里。三步未走完不得输出分析结论。
第一步:问题拆解为场景标签 把用户问题拆成一个或多个场景标签。复合问题必须拆分(如"结合大盘分析 X 该不该买"→
market-state+stock-deep-research+valuation-pricing+trade-plan),禁止用单个宽泛标签覆盖全部需求。第二步:核心方法论加载 每个主场景必须加载对应的核心 reference;存在多个主场景时分别加载。核心 reference 加载完成后,根据问题中的具体维度追加补充 reference。Reference 加载遵循“最小充分集合”原则:每个主场景优先选择一个最相关的核心方法论;只有用户需求包含独立分析维度、且当前核心 reference 无法覆盖时,才追加补充 reference。不设置机械固定上限,但禁止为了完成清单无边界加载无关文件。判断依据是方法论是否实际用于分析,而不是读取文件数量。
问题场景与核心必选 / 条件追加对照:
问题场景 核心必选 条件追加 质量底线 市场展望 / 大盘 market-state+macro-transmission主线研判加 market-mainline;板块轮动加sector-comparison不能只做指数涨跌描述 个股全面分析 stock-deep-research+valuation-pricing按问题加 business-model/quality-growth/peer-comparison/industry-chain"全面"不能只加载个股初探 技术指标 / 形态 price-action-tools仅突破、VCP、波缩、真假突破时加 breakout-patternsMACD/RSI 查询不强制加载 VCP 红利 / 分红 / 回购 dividend-buyback估值性价比加 valuation-pricing;现金质量加quality-growth不能以单次股息率代替持续性验证 政策 / 题材 / 热点 policy-impact市场主线加 market-mainline;产业映射加industry-chain必须给出政策→行业→公司传导链 订单 / 合同负债 / 前瞻指标 earnings-preview+quality-growth收入模式加 business-model;涉及定价兑现才加valuation-pricing不能把所有经营前瞻指标机械路由到估值 第三步:自检(输出前必须通过)
- 每个主场景是否都有核心方法论 reference?
- 数据源是否按路由表选择,且降级原因合理?
- 用户要求的关键分析维度是否均已覆盖?
- 方法论是否实际体现在答案中,而不是只完成文件读取?
- 每个关键数据是否能对应到来源、时点和口径; 不同来源/周期的子项是否分别标注?
- 是否包含具体买卖、价位或仓位建议; 若包含,固定免责声明是否完整位于回复末尾?
- 若存在缺失,继续补充、重新查询或明确缩小回答范围, 禁止假装完成全面分析。
html-report-style.md只负责输出格式,必须在方法论匹配完成后加载,不能替代任何方法论 reference。 禁止仅加载格式类、工具类或数据源类 reference 就直接输出分析结论。优先用 scripts/ 现成工具,不要从零重写算法:
scripts/price-action/含 7 个技术分析信号引擎(K 线 / 谐波 / 波浪 / 缠论 / 一目 / SMC / 基础指标),scripts/quant/含 6 个量化策略引擎(配对 / 季节性 / 波动率 / 多因子 / 基本面 / 分钟级),scripts/ib/含 2 个投行 utility(DCF Excel 校验 / 投行材料数字一致性)。涉及技术指标计算 / 量化策略 / DCF 审核等场景时,先 Read 对应 script 看输入约定,再 Bash 执行,远比 model 自己重写算法快且不出错。具体工具清单见对应 reference 末尾的"可执行工具"section多角度深度挖掘(数据返回后必跑反思):拿到工具数据不是答题终点而是挖掘起点。每次数据返回后过 5 维,任一维度触发新线索 → 继续检索;五维都无增量才收尾。不为凑深度硬造,但也不要拿到一条数据就收尾
- ① 纵向再追一个"为什么":查到"净利润下滑"→ 继续拆成本 / 收入结构
- ② 横向看上下游 / 竞对:查到"比亚迪毛利走低"→ 顺查赛力斯 / 理想看是不是行业性
- ③ 时间放到 3-5 年周期看分位:查到"PE 25×"→ 调 5 年 PE 带看历史分位是高是低
- ④ 反面找最薄弱假设:依赖"消费复苏"→ 主动查社零 / CPI 反驳信号
- ⑤ 行动给条件化决策:补"若 X 跌破 Y 则 ……",让用户拿到可操作框架
有观点 + 反向声音:分析类回答必须给经过推演的判断(不是平铺 N 种可能让用户自选);主动点出"市场普遍知道什么、还没充分定价什么",必要时给反向声音("这个加仓决定可能基于一个错误的归因 —— X 的上涨其实是 Y 引起的"),不要顺着用户思路一路点头
时间口径(跨时区/跨市场必查)
金融数据强时效,回答时遵守以下规则:
- 先判断交易状态:回答"现价/最新/今天"前,先确认是不是该市场交易时段;不在时段内必须标注"盘前/盘中/盘后/休市"和对应的最近一次 close
- 美股时间先核对 DST:美国夏令时期间美股开盘对应北京 21:30,冬令时对应 22:30;每次按当前日期推导,不要硬记切换日
- 事件时点本地+北京双标:财报、央行决议、经济数据等事件,同时给本地时间和北京时间,并标注盘前还是盘后。例:苹果 FY25Q1 财报 = 2025-01-30 美东盘后 16:30(北京时间 2025-01-31 05:30)
- 相对时间默认北京时区:用户说"今天/昨天/本周"按北京时间解释;有歧义时(如"昨天美股")第一句先点明绝对日期
- 跨市场比较先对齐窗口:A股 T 日收盘 / 港股 T 日收盘 / 美股 T-1 夜盘 / 美股 T 日盘 不是同一时点;做联动分析时点明用的是哪种对齐
- 跨市场财报同期对比按自然年季度对齐:FY 标号本身不能直接对(如腾讯 FY26Q1 = 自然年 2026Q1,阿里 FY26Q1 = 自然年 2025Q2,对不上)。先把每家 FY 拆成它实际覆盖的自然年季度(腾讯 FY = 自然年;阿里 FY 4 月制;苹果 FY 9 月底制;微软 FY 7 月制),再按"自然年同季度"配对做季度比,或用 TTM 滚动 4 季 做年度比——TTM 本身就是按自然年季度滚动求和,自动消除 FY 定义差异。详细步骤与币种 / 估值口径一致性见
references/peer-comparison.md与references/valuation-pricing.md
数据口径与标的核对
- 先核对标的身份:公司名、港股代码、美股代码、ADR、ETF、同名公司必须先确认,避免把不同上市主体、ADR、本地股、ETF 或同名公司混用
- 香港产品先确认类型:港股
7709.HK这类代码可能是 ETF、杠杆产品、牛熊证或结构化产品;查 NAV 前必须先确认产品类型。对香港 ETF/杠杆产品,优先搜索基金管理人、HKEX、etnet/基金专页 - 多源交叉验证:同一指标不同数据源给出不同数值时,至少列两个来源,优先采信交易所/公司公告/年报等一手来源,并显式说明分歧;不要静默选一个高于另一个的版本作为答案
场景方法论 references
references/ 目录下是按场景蒸馏的金融分析方法论,覆盖个股研究、估值、财报事件、交易决策、板块主线、资金机构、宏观传导、技术分析、量化策略、衍生品、跨资产、危机周期、投行建模、日常 routine 以及 HTML 输出规范等。当用户的请求落入对应场景时,先读取相应 reference 再作答。
使用规则:
- 每条 reference 是"方法论 + 量化阈值 + 避坑"三段式,不是输出模板——分析时按其框架思考,但不照抄章节标题或字数限制
- 多场景叠加时(如"分析 A 股票该不该买"同时涉及个股研究 + 估值 + 仓位决策),并行读取多个 reference 综合判断
- 方法论类 references 只管"分析框架",数据获取走 agentic_search 工具 / 通达信 MCP(如可用)
索引(按场景类别分组):
数据源调用
tdx-mcp-quick-reference.md通达信 MCP 调用速查(10 个工具实测示例、fixedTag 路由表、避坑清单、已知限制)—— 仅在用户装了通达信 MCP 时使用
个股研究
stock-first-look.md个股初探(含热门股快读)stock-deep-research.md个股深度研究(投资逻辑研究)business-model.md业务模式拆解valuation-pricing.md估值与定价(PE/PB/DCF/PEG/分部估值)moat-quality.md护城河与公司质地management-assessment.md管理层体检peer-comparison.md同业比选quality-growth.md质量增长匹配(高质复利 / 增长质检 / 价值股息)
财报与事件
earnings-preview.md财报前瞻earnings-review.md财报后反应(业绩会提炼 / 财后漂移)announcement-impact.md公告影响与股东信解读event-catalyst.md事件驱动短线催化
交易与持仓
trade-plan.md交易计划与买卖点position-sizing.md仓位决策与加减仓portfolio-checkup.md持仓体检与风控stop-discipline.md止损纪律monitor-alert.md监控告警与停复牌
板块主线题材
sector-comparison.md板块比较与轮动market-mainline.md市场主线与情绪market-state.md市场状态与广度theme-lifecycle.md题材周期与龙头leader-game.md涨停龙头博弈与龙虎榜
资金与机构
fund-flow.md资金流与北向institutional-holding.md机构持仓与拥挤度
宏观/政策/产业链
macro-transmission.md宏观行业个股传导policy-impact.md政策解读与受益映射industry-chain.md产业链映射与卡点
技术分析
breakout-patterns.md波缩突破与 VCPprice-action-tools.md技术指标与形态识别(K 线 / 谐波 / 波浪 / 缠论 / 一目 / SMC)abnormal-detection.md放量异动与跳空归因
风险与量化
risk-stress.md风险压力测试(VaR / CVaR / 蒙特卡洛)quant-factor-research.md因子研究框架systematic-strategies.md量化策略库(配对 / 事件驱动 / 季节性 / ML / 对冲 / 波动率)portfolio-optimization.md资产配置与组合优化
衍生品与跨资产
options-strategies.md期权策略(多腿组合 + Greeks)fixed-income.md固定收益与可转债forex-commodity.md外汇与大宗商品crypto-derivatives.md加密衍生品(仅在用户明确要求时使用)
主题
dividend-buyback.md分红回购与股东回报going-global.md出海链投资crisis-event.md危机 / 反转 / 周期拐点
投行建模
ib-models.md投行估值建模(DCF / LBO / comps / 三表 / M&A / Unit Economics)ib-deal-prep.md投行交易准备(尽调 / 投委会 / IM / pitch / NDA)
日常 routine
daily-briefing.md每日投研简报(盘前 / 收盘 / 晨会)
输出规范
html-report-style.mdHTML 研报输出(JS 自检 / ECharts 骨架 / 图表分工与质量细则)——产出 HTML 前先读
通达信 MCP(如可用)
仅在用户环境装了通达信 MCP 时启用——通过列出的 MCP 工具是否包含 tdx_quotes / tdx_kline / tdx_api_data / tdx_indicator_select / tdx_screener / tdx_lookup_stock / wenda_news_query / wenda_notice_query / wenda_report_query / wenda_macro_query 来判断。可用时优先在以下场景调用:
- 上面没覆盖或返回不全的细分接口(深度财务三表多期、十大流通股东全历史、限售解禁、股本变动、港股财报多期回溯、个股 / 全市场龙虎榜结构化、自然语言条件选股、宏观时序数据)
- 需要按通达信特有路由(
entry+fixedTag+code)取结构化字段,而不是 LLM 描述 - 验证上面给出数据是否准确(多源交叉验证)
调用前先读 references/tdx-mcp-quick-reference.md —— 里面是 10 个工具的实测调用示例、参数含义、fixedTag 路由表、错误排查方法、已知限制。不要凭记忆拼参数(setcode、target、fixedTag 都有踩坑点)。
A股量化数据引擎(整合 a-stock-data-quant)
当你需要实际获取 A股数据或做量化计算时,使用本引擎(源自 a-stock-data-quant):
- 完整内嵌实现(自包含零依赖外部文件):
Read references/a-stock-full.md,按其内嵌代码直接运行。 - 命令行主程序:
python3 bin/quant.py <command> <args>analyze <code>综合分析(如sh600519/sz000858)compare <c1>,<c2>多股对比backtest <code> --strategy ensemble --html多策略共振回测realtime <code>实时行情market-temp市场温度计(5 维度)valuation <code>估值分位(PE/PB/PS)hot-stocks --mode turnover热门股票排行hot-boards --mode gainers热门板块排行board-stocks BK0892板块成分股capital-flow <code>资金流向细分fundamentals <code>基本面快照chip <code>筹码分布
- 数据源:12 层(腾讯财经 / 东方财富 push2 / mootdx 通达信 / 百度股市通 / 东财 reportapi / 巨潮 cninfo / 东财 datacenter / 同花顺 hexin / 广发 MCP / 东方财富妙想 AI 等)。
同花顺 Financial API(hithink-finance)集成 —— 权威 A股 / 指数 / 基金 / 特色数据远端接入层
来源:
HiThink-Tech/Financial-API(整树已并入本 skill 的references/hithink-finance/,主入口总览见references/hithink-finance/00-overview.md= 原 hithink-finance SKILL.md)。这是同花顺官方金融数据服务(iFinD 级)的 Agent 统一入口,经 4 种方式提供 A股 / 指数 / 板块 / 公募基金的权威数据。定位:本 skill 的「备用信息源」,不是默认首选。 默认优先走公共信息源(引擎层bin/quant.py/bin/cn/*.py、agentic_search、通达信 MCP、WebSearch);仅当公共源不可用 / 覆盖不足、且用户明确同意启用时,才回退到 hithink 继续取数。
何时启用 hithink(备用条件 · 需用户确认)
- 公共信息源全部不可用或覆盖不足:引擎层多源降级仍失败、
agentic_search不可达、无通达信 MCP、WebSearch 也补不到时; - 需要引擎层缺失或偏弱、且用户已同意启用的能力:集合竞价、公募基金全字段(经理 / 持仓 / 财务 / 资讯)、特色数据(涨停池 / 跌停池 / 炸板 / 连板梯队 / 个股异动原因 / 热榜 / 龙虎榜)、全市场 Parquet 批量导出与本地 DuckDB 建库、权威复权因子流;
- 用户主动点名「用同花顺 / iFinD / hithink 数据」并提供了 Key。
⚠️ 越级禁止:公共源可用时,不得跳过公共源直接走 hithink;hithink 仅在「公共源失败 + 用户同意」的降级链路上启用。
四种接入方式(只选其一,按环境)
| 场景 | 首选 | 入口 reference |
|---|---|---|
| 人类终端 / Agent 执行 / 本地 DuckDB 大结果落盘 | CLI(hithink-finance) |
references/hithink-finance/cli.md |
| Chat/IDE 已连托管 MCP | MCP(4 个 HTTP 端点,55 工具) | references/hithink-finance/mcp.md |
| 零依赖 HTTP / 自定义脚本 / 服务端 | REST API(59 端点) | references/hithink-finance/api.md |
| Python / Notebook / 已有 marketdb | Python SDK | references/hithink-finance/python-sdk.md |
统一 API Key(四种方式共用)
- 获取:https://fuyao.aicubes.cn/admin;推荐环境变量
HITHINK_FINANCE_API_KEY。 - 校验顺序:运行时安全输入 →
HITHINK_FINANCE_API_KEY→ 用户级credentials.env→ 兼容旧FUYAO_TOKEN/API_KEY。缺失时引导用户注册获取,不得把 Key 写入代码 / Prompt / 日志 / 输出 / Git。 - 接入前先探测环境(是否已配 Key / 是否连 MCP / CLI 是否在 PATH),不要让用户重复提供技术参数。
能力覆盖(数据域 → 端点 / 工具)
| 数据域 | 覆盖 |
|---|---|
| 标的消歧 / 代码表 | 元信息检索(按名称 / ticker / 中英文跨市场消歧为唯一 thscode) |
| A股行情 | 最新快照 / 历史日 K(前复权·后复权)/ 分红送股等复权因子流 |
| 财报 | 利润表 / 资产负债表 / 现金流量表 多期 + 指定报告期财务指标 |
| 估值 | A股 最新 PE/PB/PS/PCF 批量快照(保留 null 与负数) |
| 交易日历 | 近一年交易日序列 |
| 集合竞价 | 实时 / 终态快照 + 短期强弱基准 |
| 指数 / 板块 | 同花顺概念 / 行业 / 区域 / 特色指数目录、成分股、指数 / 板块行情(日 / 周 / 月 K) |
| 公募基金 | 资料 / 公司 / 经理 / 披露 / 财务 / 净值 / 收益 / 持有人 / 诊断 + ETF/LOF 场内快照与日线(28 端点) |
| 特色数据 | 涨停池 / 跌停池 / 炸板池 / 连板梯队 / 个股异动原因 / 飙升榜 / 热股榜 / 龙虎榜(11 端点) |
| 全市场导出 | 10 年日 K / 近 10 日 / 复权因子 Parquet 下载链接(自建库首选,勿逐只拉) |
能力边界(明确不覆盖 —— 超出时回退本 skill 其他层或显式说明)
- ❌ 分钟 K / tick / Level-2;❌ 港股 / 美股;❌ 期货 / 期权;❌ 宏观数据 / 新闻公告原文 / 研报 / 回测引擎;❌ 基金申赎交易或基金推荐。
- 这些域继续走本 skill 的引擎层(
bin/quant.py/bin/cn/*.py)、agentic_search、通达信 MCP 或 WebSearch;不得用 hithink 近似数据或模拟数据冒充。
🔴 降级启用流程(用户确认门 · 公共源失败时的唯一入口)
当公共信息源(引擎层 / agentic_search / 通达信 MCP / WebSearch)不可用或覆盖不足、而任务又必须用 hithink 才能满足时,严格按以下 if-then 链路走,不得静默切换:
- 判断:公共源是否确实失败 / 缺失?是 → 进入第 2 步;否 → 继续走公共源,不提 hithink。
- 询问 + 告知获取地址(🔴 必须显式问用户,不能替用户决定):
「当前公共数据源暂不可用 / 覆盖不足。是否启用同花顺金融数据服务(hithink-finance)作为备用源? 如需启用,请前往 https://fuyao.aicubes.cn/admin 注册并获取统一 API Key,把 Key 发给我,我来配置后继续取数。 不启用也可,我会按红线说明『当前数据源未覆盖,需进一步核实』,不会编造数据。」
- 分支:
- 用户提供 Key → 配置
HITHINK_FINANCE_API_KEY(环境变量 /credentials.env,不写入代码 / Prompt / 日志 / 输出 / Git),按上方「四种接入方式」继续取数; - 用户拒绝 / 无 Key → 按本 skill 红线输出「当前数据源未覆盖该标的 / 字段,需进一步核实」,给替代路径(WebSearch / 下次重试),绝对禁止编造数值。
- 用户提供 Key → 配置
- 继续:拿到 Key 后用 hithink 完成取数,同样遵守红线(禁编造)、数据底线(来源 + 时点 + 口径可追溯)、输出护栏(免责声明)。
路由硬规则
- hithink 是远端 Key 服务 + 备用源:公共源可用时默认不走它;公共源失败且用户确认启用后才进入上方「降级启用流程」。
- 未获用户同意,不得静默切到 hithink,不得假装 hithink 已可用,不得编造或复用旧 Key;用户发来 Key 前,按红线给出「数据源未覆盖」结论。
- 取数后同样遵守本 skill 红线(禁编造)、数据底线(来源 + 时点 + 口径可追溯)、输出护栏(免责声明)。
反例黑名单(不要做什么)
- ❌ 公共源可用时越级用 hithink(破坏「公共源优先」原则);
- ❌ 未问用户、未给获取地址就直接声称「已切换到同花顺」;
- ❌ 把 Key 写入代码 / Prompt / 日志 / 输出 / Git,或复述用户发来的 Key;
- ❌ 用户无 Key 时编造 hithink 数据或旧价冒充实时;
- ❌ 把 hithink 不覆盖的域(港股 / 美股 / 期货 / 期权 / 宏观 / 新闻 / 研报 / 回测)冒充可查。
实测验证(Dim8 · 多维度 live test)
2026-08-26 用真实 Key 跑 live test:全部 HTTP 200 +
code==0,返回真实当前数据(交易日 2026-08-25,茅台 ¥1304 / 沪深300 4552.03,龙虎榜trade_date=2026-08-25)。 基础维度 12/12 PASS:元信息检索 / 行情快照 / 历史日K(242 根) / 复权因子(30 事件) / 估值快照 / 利润表(4 期) / 指数目录(390) / 指数快照 / 基金资料(沪深300A·华夏) / 涨停池(今日) / 龙虎榜 / 连板梯队(30 日)。 独门能力 6/6 PASS(设为备用源的核心理由):
独门能力 结果 集合竞价快照 auction/snapshotPASS(茅台 auction_price=1311.89与开盘价一致;凌晨测试auction_phase=closed/data_status=not_ready为正常非竞价时段状态)短线风向标 auction/short-term-benchmarkPASS(2026-08-14 返回 6 只,一鸣食品 +2.69% 标签「乳品/乳业」) 交易日历 calendar/trading-daysPASS(近 1 年 243 个交易日) 全市场 10 年日K / 近10日 / 复权事件 Parquet 签名端点 PASS(×3 均返回有效预签名 URL,约 5 分钟有效;按约定未下载大文件) 合计 18/18 PASS。已知小瑕疵(上游数据,非契约违约):指数快照 ticker对沪深300返回1B0300(应以thscode为唯一键)。Key 仅运行时内存传入(env),未落盘 / 未进 Git / 未进日志。
东方财富·妙想(mx-skills)集成 —— 港美 / 债券 / 宏观 / 资讯 / 研报 / 选股 备用接入层
来源:
mx-skills(东方财富·妙想大模型,zip 内共 33 个 skill;本 skill 仅并入其中 4 个数据原语,其余 ~29 个研报生成器与references/research-workflows/重复,未并入以免臃肿)。4 个原语位于references/mx-skills/{mx-finance-data,mx-finance-search,mx-macro-data,mx-stocks-screener}/,各自含scripts/get_data.py与references/auth_protocol.md。定位:本 skill 的「备用信息源」,与 hithink 互补——hithink 补 A股/指数/基金/特色,妙想补 hithink 不覆盖的 港股 / 美股 / 债券 / 全球宏观 / 资讯·公告·研报 / 智能选股。默认优先走公共信息源(引擎层 /agentic_search/ 通达信 MCP / WebSearch);仅当公共源不可用 / 覆盖不足、且用户明确同意启用时,才回退到妙想继续取数。
何时启用 妙想(备用条件 · 需用户确认)
- 需要 港股 / 美股 / 债券 行情·财务·估值,且公共源(东财116.* via
bin/cn、agentic_search)覆盖不足或失败; - 需要 全球宏观(多国/地区 GDP/CPI/PMI/M2/汇率/商品),超出
bin/cn/macro.py的 CN 口径; - 需要 资讯 / 公告 / �商研报 / 政策 原文聚合,公共源补不到;
- 需要 智能选股 / 条件筛选;
- 用户主动点名「用东方财富 / 妙想 / 妙想大模型数据」并已完成授权。
⚠️ 越级禁止:公共源可用时,不得跳过公共源直接走妙想;妙想仅在「公共源失败 + 用户同意」的降级链路上启用。
四个数据原语(入口脚本)
| 原语 | 能力 | 入口 |
|---|---|---|
mx-finance-data |
全市场自然语言查数(A股/港股/美股/ETF/债券/基金;实时/财务/估值),输出 xlsx + md | references/mx-skills/mx-finance-data/scripts/get_data.py --query "..." --indicators "..." |
mx-finance-search |
资讯/公告/研报/政策检索,输出 txt | references/mx-skills/mx-finance-search/scripts/get_data.py "..." |
mx-macro-data |
全球宏观自然语言查数,输出 csv + 描述 txt | references/mx-skills/mx-macro-data/scripts/get_data.py --query "..." |
mx-stocks-screener |
智能选股 / 条件筛选 | references/mx-skills/mx-stocks-screener/scripts/get_data.py "..." |
统一授权(EM_API_KEY · 内联 consent gate)
- 内置默认 Key(开箱即用):本 skill 随包内置一个经 base64 混淆(非明文)的
EM_API_KEY默认值,4 个妙想原语开箱即用,用户无需配置或知晓该 Key。混淆仅防明文泄露,不替代「用户自有 Key 覆盖」能力。 - 用户覆盖路径:如需使用自有 Key,在妙想平台(注册地址见下方)注册后,通过环境变量
EM_API_KEY或落盘文件~/.mx-skills/em_api_key注入即可覆盖内置默认值(环境变量优先级最高)。 - 未授权提示:当没有任何可用 Key 时,脚本打印
need_auth: true+authUrl:(扫码)+apiKeyUrl:(获取地址)并以退出码 10 停下,由用户完成授权。 - 获取 / 授权地址以脚本运行时打印的
apiKeyUrl:为准(东方财富妙想平台,即https://ai-saas.eastmoney.com/mxClaw);用户授权后会话自带EM_API_KEY,Agent 仅作为当前进程环境变量注入,不向用户展示 / 复述 / 写入文件 / Git。 - 依赖:
pip install httpx pandas openpyxl(见各requirements.txt)。 - 401 失效:按
references/mx-skills/*/references/auth_protocol.md清理失效凭据并重生成授权链接。
能力覆盖(数据域 → 原语)
| 数据域 | 覆盖 |
|---|---|
| 全市场标的 | A股/港股/美股/ETF/债券/基金/非上市主体,自然语义实体识别 |
| 行情 / 财务 / 估值 | 实时价/涨跌幅/盘口、报表(IS/BS/CF)、PE/PB/PS 等 |
| 全球宏观 | GDP/CPI/PPI/PMI/失业率/工业增加值、M1/M2/社融/国债利率/汇率、商品价格(黄金/原油/铜/稀土) |
| 资讯 / 研报 | 公告/事件/券商研报/政策/舆情,优先 llmSearchResponse |
| 选股 | 技术面/基本面/消息面复合条件筛选 |
能力边界(明确不覆盖 —— 超出时回退本 skill 其他层或显式说明)
- 妙想是远端 Key 服务 + 备用源,不是 A股首选(A股首选仍是引擎层 / hithink);
- 不覆盖:A股分钟 K / tick / Level-2 实时盘口深度(引擎层 / 通达信更优)、回测引擎;
- 超出时继续走引擎层 /
agentic_search/ 通达信 MCP / WebSearch,不得用妙想近似数据冒充 A股首选或编造。
🔴 降级启用流程(用户确认门 · 公共源失败时的入口,与 hithink 同源)
当公共源不可用 / 覆盖不足且任务需妙想才能满足时,严格按以下 if-then 链路走,不得静默切换:
- 判断:公共源是否确实失败/缺失?是 → 第2步;否 → 继续公共源,不提妙想。
- 询问 + 告知获取地址(🔴 必须显式问用户):
「当前公共数据源暂不可用/覆盖不足。是否启用**东方财富·妙想(mx-skills)**作为备用源?如需启用,运行对应
scripts/get_data.py会在未授权时打印apiKeyUrl:(妙想平台获取/授权地址),完成授权后把会话EM_API_KEY交给我,我注入后继续取数。不启用也可,我会按红线说明『当前数据源未覆盖,需进一步核实』,不会编造数据。」 - 分支:用户授权(确认
EM_API_KEY)→ 注入环境变量后按上方原语继续取数;用户拒绝/无 Key → 按红线输出「数据源未覆盖」,给替代路径,绝对禁止编造。 - 继续:取数后同样遵守红线/数据底线/免责声明。
路由硬规则
- 妙想是远端 Key 服务 + 备用源:公共源可用时默认不走;公共源失败且用户确认启用后才进入降级流程。
- 未获用户同意不得静默切到妙想、不得假装可用、不得编造或复用旧 Key;用户授权前按红线给「数据源未覆盖」结论。
- 内置 Key 为 base64 混淆的默认凭据,仅供开箱即用;仍推荐用户用自有 Key 覆盖。无论内置还是用户 Key,绝不把 Key 明文写入代码/Prompt/日志/输出/Git,也不得向用户复述 Key 值。
反例黑名单(不要做什么)
- ❌ 公共源可用时越级用妙想;
- ❌ 未问用户、未给获取地址就声称「已切换到妙想」;
- ❌ 把
EM_API_KEY写入代码/Prompt/日志/输出/Git,或复述用户授权值; - ❌ 用户无 Key 时编造妙想数据或旧价冒充实时;
- ❌ 把妙想非首选的域(A股分钟 K/L2/回测)冒充可查,或把它当 A股首选绕过引擎层;
- ❌ 把内置/用户
EM_API_KEY明文写入代码/Prompt/日志/输出/Git,或向用户复述 Key 值(内置 Key 已 base64 混淆,正常情况下用户无需接触)。
实测验证(Dim8 · 多维度 live test)
已完成的把关:
- 代码审计:4 个原语的 7 个
.py文件均已改为「base64 混淆的内置默认 Key + 用户EM_API_KEY/~/.mx-skills/em_api_key覆盖」结构,明文泄露 0 处(verify: 0 残留);内置 Key 非明文,开箱即用。- 结构校验:4 个原语及
references/auth_protocol.md已并入references/mx-skills/,相对链接自洽。- 待补:用内置 Key 跑一轮 live test(参照 hithink 的维度:元信息/行情/财务/估值/宏观/资讯/选股),记入
results.tsv。
🔴 数据源降级与故障处理(取数前必读)
引擎内置 12 层源,但部分源已实测不稳定/失效。取数时按以下 if-then 分支兜底,禁止编造或无故跳过:
| 触发条件(实测故障) | 一线修复 | 仍失败的兜底 |
|---|---|---|
| 实时/日K:腾讯(qt.gtimg.cn)正常、新浪(money.finance.sina)正常、东财 push2 本机可能 peer reset(仅补充) | 三者按顺序取,取到的即返回 | 三者都失败 → 明确告知用户"实时行情源当前不可用",绝不返回训练记忆中的旧价 |
日K 兜底:百度股市通(finance.pae.baidu.com)已返回 ResultCode:403 已废弃 |
跳过百度源,改用腾讯/新浪 | 不把百度当作兜底层(否则会 raise 全失败) |
北向资金:同花顺(data.hexin.cn)响应结构已变更、get_north_flow 取到空 [] |
改用 akshare 北向接口或东财 datacenter | 不输出空的北向结论,注明"北向数据本次未取得" |
成交额单位:腾讯实时 fields[37] 单位与预期不符(实测偏低 1e4) |
改用 fields[35] 段取值 |
输出"成交额"前做量级 sanity check(单股日成交额通常千万~百亿级,明显偏离则改取东财 push2 字段) |
腾讯日K:web.ifzq.gtimg.cn 走 http 被 302 跳 https |
直接改用 https:// 端点 |
跟随重定向仍失败则用新浪K线 |
| 全源失败(依赖未装/网络全断) | 按上表逐级降级 | 输出"当前数据源未覆盖该标的/字段,需进一步核实",并给替代路径(WebSearch 公开信息 / 下次重试),绝对禁止编造数值 |
同花顺 Financial API(hithink-finance)是「备用信息源」:默认优先走公共源(引擎层 /
agentic_search/ 通达信 MCP / WebSearch)。仅当公共源全失败或覆盖不足且用户明确同意启用时,才走 hithink(见上方「同花顺 Financial API(hithink-finance)集成」章节的「🔴 降级启用流程」):先问用户是否启用、告知 Key 获取地址 https://fuyao.aicubes.cn/admin、用户发来 Key 后再继续取数。其为同花顺官方 iFinD 级源、含权威复权因子;未获用户同意前不得假装可用或静默切换。
东方财富·妙想(mx-skills)同为「备用信息源」,与 hithink 互补(补港美/债券/宏观/资讯研报/选股):默认优先走公共源;仅当公共源全失败或覆盖不足且用户明确同意启用时,才走妙想(见「东方财富·妙想(mx-skills)集成」章节的「🔴 降级启用流程」)。其内置 base64 混淆的默认
EM_API_KEY(开箱即用),用户亦可在妙想平台注册自有 Key 覆盖;未获用户同意前不得假装可用或静默切换,且不得把任何 Key 明文写入代码/Prompt/日志/输出/Git 或向用户复述 Key 值。
依赖与运行前置:引擎依赖
akshare/numpy/pandas/requests/pyyaml/mootdx。未pip install -r requirements.txt就直接python3 bin/quant.py会整层报错——先确认依赖已装(建议 Python 3.10–3.12,避开 3.13 对 akshare 的兼容问题),缺失则提示用户安装后再跑。 已配好 venv:本 skill 目录内含venv/(Python 3.12 + 全套依赖,清华镜像安装),运行请用venv/Scripts/python.exe(不要直接用系统python3,那是 3.13 且缺依赖)。Windows 路径:C:/Users/jangviktor/.workbuddy/skills/a-stock-data-quant/venv/Scripts/python.exe。 bin/cn 数据层:bin/cn/*.py(equity/futures/research/options/macro)与 wb 引擎共享同一 venv(akshare 已装,requirements.txt已统一akshare>=1.18.64)。调用:venv/Scripts/python.exe bin/cn/equity.py quote 600519,00700;其 stdlib 命令(价量/期货/北向)无 akshare 也可跑,研报/期权/宏观命令缺 akshare 时会显式报安装提示(不崩)。
个股买卖决策工作流(多指标综合 → 操作建议)
当用户**直接问某只个股"该买 / 该卖 / 能不能进 / 要不要跑"**时,必须走「取数 → 多指标诊断 → 给建议 + 理由」完整链路,禁止凭感觉或记忆直接给买卖结论(违反红线:禁编造数据)。
- 🔴 取数(数据必须动态获取,不得凭记忆):先跑引擎取真实数据——
python3 bin/quant.py analyze <code>(实时 / 估值 / 资金流 / 筹码 / 技术信号一次出),或按references/a-stock-full.md取;- 技术面补
references/price-action-tools.md、估值面补references/valuation-pricing.md、资金面补references/fund-flow.md、基本面补references/stock-deep-research.md。
- 四维诊断(每维给「偏多 / 中性 / 偏空」+ 关键证据,禁止空泛):
- 技术面:趋势(均线上下)+ MACD / RSI / KDJ 位置 + 量价 / 形态(突破 or 背离)
- 估值面:PE / PB / PS 历史分位(低位 = 安全边际)+ 同业对比
- 资金面:主力净流入 / 北向(若可取)/ 换手率 / 筹码集中度
- 基本面:营收净利趋势 / ROE / 护城河 + 近期催化或风险
- 综合信号:四维加权 → 落到明确一档 买入 / 增持 / 持有 / 减仓 / 卖出;附**置信度(高 / 中 / 低)**与「核心矛盾点」(最制约结论的一项)。
- 操作框架(条件化,非点位承诺):给「触发条件 → 动作 → 风控」——
- 例:
若回踩 XX 均线不破且量能回升 → 分批建仓;止损位设在 XX;单股仓位 ≤ X% - 禁止给无条件「现在就买 / 卖」指令。
- 例:
- 🔴 CHECKPOINT · 输出前护栏:结论前先列前提(当前市场环境 + 用户风险偏好 + 资金量 / 期限),前提缺失主动追问;回复末尾必附固定免责声明(见上方「红线」模板),禁止改写 / 省略。
输出结构建议:「结论卡(结论 + 置信度 + 矛盾点)+ 四维诊断表 + 操作框架 + 免责声明」。简短用 Markdown,完整用 HTML 研报风。技术信号基于历史数据、不预测未来,建议仅作决策输入而非指令。
ETF 买卖决策工作流(多指标综合 → 操作建议)
当用户**直接问某只 ETF / 指数基金 / 场内基金"该买 / 该卖 / 能不能定投 / 要不要跑"**时,走与个股相同的「取数 → 多指标诊断 → 给建议 + 理由」完整链路;诊断维度按 ETF 特性特化(ETF 是篮子、无个股式财报),同样禁止凭记忆直接给买卖结论。
- 🔴 取数(数据必须动态获取,不得凭记忆):引擎对 ETF 代码(如
510300沪深300ETF、518880黄金 ETF)自动识别为etf品类——python3 bin/quant.py analyze <etf_code>(实时 / 估值 / 资金流 / 技术信号一次出);- 技术面补
references/price-action-tools.md、估值面补references/valuation-pricing.md、资金面补references/fund-flow.md; - 跟踪指数估值分位可补
bin/quant.py index-val <指数代码>(PE/PB 百分位 + 关联 ETF,需广发 key;无 key 改 akshare/东财); - ETF 份额变化:
bin/quant.py capital-flow <code>或 aksharefund_etf_category_sina/fund_etf_hist_em(份额净流入是 ETF 资金面最直观指标)。
- 四维诊断(ETF 特化,每维给「偏多 / 中性 / 偏空」+ 关键证据,禁止空泛):
- 技术面(同个股):趋势(均线上下)+ MACD / RSI / KDJ 位置 + 量价 / 形态。ETF 价格即跟踪指数走势,技术信号直接可用。
- 估值面(按 ETF 类型分支,这是与个股最大差异点):
- 股票型 ETF(宽基 / 行业 / 主题 / 策略)→ 看跟踪指数 PE/PB 历史分位(低位 = 安全边际)+ 同业对比
- 债券型 ETF → 利率方向 + 久期 + 到期收益率;利率下行周期通常利好债基
- 商品型 ETF(黄金等)→ 金价 / 实际利率 / 美元指数;避险升温通常利多
- 跨境 / QDII ETF → 海外估值分位 + 汇率 + 溢价率(高溢价 = 回落风险,警惕追高)
- 资金面(ETF 核心指标):ETF 份额变化(资金净流入最直观) / 融资余额 / 换手率 / 北向(对 A 股 ETF);份额持续流入 = 资金看好,流出 = 降温。
- 基本面(ETF 选品层,与个股完全不同):跟踪误差 / 基金规模(流动性) / 折溢价率 / 管理费率 / 标的指数质量——同名 ETF 优先选规模大、跟踪误差小、费率低、折溢价≈0 的;规模过小有清盘风险。
- 综合信号:四维加权 → 落到明确一档 买入 / 增持 / 持有 / 减仓 / 卖出;附**置信度(高 / 中 / 低)**与「核心矛盾点」(如"指数估值低位但溢价率过高")。
- 操作框架(条件化,非点位承诺):给「触发条件 → 动作 → 风控」——
- 例:
若跟踪指数 PE 分位 < 30% 且份额持续流入 → 分批 / 定投建仓;溢价率 > 5% 则等回落再进;单 ETF 仓位 ≤ X% - 禁止给无条件「现在就买 / 卖」指令。ETF 特别提示:高溢价跨境 ETF 勿追高、商品 ETF 看实际利率拐点、债基看利率周期。
- 例:
- 🔴 CHECKPOINT · 输出前护栏:结论前先列前提(当前市场环境 + 用户风险偏好 + 资金量 / 期限 + 是否定投),前提缺失主动追问;回复末尾必附固定免责声明(见上方「红线」模板),禁止改写 / 省略。
输出结构建议:「结论卡(结论 + 置信度 + 矛盾点)+ 四维诊断表(估值面按 ETF 类型标注分支)+ 操作框架 + 免责声明」。ETF 买卖建议本质是"在指数估值 + 资金流向 + 折溢价 + 选品质量"四维上的择时,技术信号基于历史数据、不预测未来,建议仅作决策输入而非指令。
引擎使用反模式(dim9 黑名单,禁止)
- 禁止硬编码 / 凭记忆输出行情、财务、技术指标数字(红线已强调,引擎侧再强调一次)
- 禁止把已废弃的百度K线(finance.pae.baidu.com)当作可用兜底层
- 禁止所有源失败时静默返回空表,或用旧数据伪装成实时数据
- 禁止未确认依赖就执行
bin/quant.py(akshare / mootdx 缺失 = 整层 RuntimeError) - 禁止对"北向/资金流"等已坏源假装取到数据——取空就显式声明缺口
- 依赖:
akshare / numpy / pandas / requests / pyyaml / mootdx(见requirements.txt)。建议在 Python 3.10–3.12 环境执行pip install -r requirements.txt(当前 WorkBuddy 自带 Python 3.13 对 akshare 兼容性存疑)。 - 配置:
config.yaml含示例 API key(EM_API_KEY东方财富妙想、GF_SKILLS_APIKEY广发),可选;AI 分析功能可用环境变量EM_API_KEY/GF_SKILLS_APIKEY或改 config 配置。 - 免责声明:本工具仅供学习研究,不构成投资建议;技术分析基于历史数据不预测未来。