个股 12 步量能深度分析 (专业版)
> 📌 版本说明:技能元数据版本为 5.1.1(skillhub 展示用,遵循 semver 规范);报告页脚/图表标题内显示的 V5.1.1 与之等价,均为同一版本。所有版本号由 theme.py 的 SKILL_VERSION 单一信源注入,避免前后不一致。
🚀 30 秒上手
只需三步,立刻得到一份可分享的量能分析报告:
pip install pandas numpy plotly pyyaml # 1) 装依赖(仅 4 个包)
python cli.py 600036 # 2) 分析招商银行(零配置,离线兜底)
# 3) 打开 output/reports/600036_SH_analysis.html 查看完整积木式报告
- 不想读长文?直接看报告顶部的「决策速览卡」,一屏给结论。
- 完整使用方式、代码示例、三种模式说明见下方「使用方式与触发示例」。
📚 文档导航
| 你想做什么 | 看哪里 |
|---|---|
| 快速跑通、看图学(推荐先看) | 👉 新手必读:references/tutorial-图文.md(6 步图文)、references/quickstart.md、references/faq.md、references/anti-patterns.md |
| 理解每一步评分标准 | references/12step-sop.md |
| 排查降级 / 低量能 / 量能结构 | references/data-resilience.md |
| 配置数据源路由 / Agent 编排 | references/data-source-architecture.md |
| 二次开发 / 改架构(开发者向) | design.md、DESIGN-REVIEW.md、红利价值视角模块设计.md |
技能概述
基于环境自适应数据源的个股深度决策支持系统
专注股票量能分析,生产级的专业技能。以五维量能评分为第一闸门,通过四层架构、12 步 SOP生成完整的个股投资决策报告。输出统一积木式 HTML 报告文件。支持 A 股/港股市场。支持个股、两股比较、组合分析三种模式。可自动化每天监控股票的量能情况。
核心理念:
- 🔑 量能第一原则:量能评分<40 分不再硬终止,自动触发「静默市场深度分析」、测吸筹/派发模式
- 🎯 概率思维贯穿:所有结论基于三情景推演,禁止单一目标价预测
- ✅ 交叉验证体系:四层架构相互验证,置信度动态调整
- 📊 可视化驱动:内置 5 张 Plotly 专业交互式图表 + 1 个综合仪表盘
- 🏭 行业适配:银行/红利/龙头制造业差异化参数
- 🛡️ 数据韧性:五级渐进降级容错,数据缺失不中断分析
- 🧩 积木式报告:统一积木式 HTML 报告,暗色/亮色双主题、四层架构决策脊、12步积木块
能力边界与限制
明确知道什么能做、什么做不了,是对工具最基本的尊重。
✅ 擅长分析的场景
| 场景 | 说明 |
|---|---|
| A股主板/创业板 | 流动性正常的沪深两市个股,代码格式 600036.SH / 000333.SZ / 300750.SZ |
| 港股通标的 | A+H两地上市或港股通核心标的,代码格式 03968.HK / 00700.HK |
| 银行/红利股 | 已内置差异化参数,量能/拥挤度/止损均自动适配 |
| 龙头制造业 | 美的/宁德时代/比亚迪等大市值制造龙头,参数自动调整 |
| 数据完整场景 | 环境中至少1个数据源可用(通达信MCP/腾讯自选股/国泰海通等)时分析最完整 |
| 放量/温和放量行情 | 量能评分≥60分时,12步全流程+5张图表+可执行交易单完整输出 |
⚠️ 受限但仍可分析的场景
| 场景 | 限制说明 |
|---|---|
| 低量能/缩量行情 (量能评分<40) | 自动转为「静默市场深度分析」模式:仅提供吸筹/派发检测、历史量能分位、有限范围报告(~500字),不生成交易单 |
| 数据源部分缺失 | 自动降级到缓存→行业均值→本地股票池,数据完整性<60%时在报告中明确标注「置信度降低」 |
| 非银行/红利/龙头制造业 | 使用通用参数(未针对特定行业优化),基本面评分可能不够精准 |
| 无同业数据 | 三情景推演降级为简化版(基于技术价位),相对价值评级不可用 |
| 港股非港股通标的 | 资金流向/北向资金/股东数据通常不可用,仅做量价技术分析 |
| 仅手动输入数据 | 仅能执行有限范围分析(量能评分+价格阶段+简化三情景),完整L2多维验证不可用 |
❌ 明确不适用的场景
| 场景 | 原因 |
|---|---|
| 美股 | 数据源适配层不支持美股,行业分类/北向资金/拥挤度模型均为A股逻辑 |
| 流动性枯竭个股 | 日均成交额<1000万的个股,量能评分模型失真,技术指标无意义 |
| 新股/次新股 (上市<60日) | 历史K线不足,无法计算技术指标、中期均量趋势、历史量能分位 |
| ST/*ST/退市整理期 | 风险模型不覆盖壳价值/重组博弈/退市补偿等特殊逻辑 |
| ETF/可转债/期货/期权 | 分析框架专为个股设计,不适用于衍生品和基金产品 |
| 日内T+0/高频交易决策 | 本工具基于日线级别分析,不支持分钟级/分时级信号 |
| 投资建议/财务顾问 | 所有输出仅供参考,不构成投资建议 |
| 无在线源且离线快照未构建、无手动输入 | 数据完整性0%时,仅能返回本地股票池中的代码与名称,无法执行任何分析(若已构建离线快照则可正常分析) |
📋 必要输入
| 输入 | 格式 | 必需程度 | 示例 |
|---|---|---|---|
| 股票代码 | Wind格式后缀 | 🔴 必需 | 600036.SH / 000333.SZ / 03968.HK |
| 股票名称 | 中文全称 | 🟡 建议 | 招商银行 / 美的集团 |
| 数据源 | 环境中的MCP/Skill | 🟡 建议 | 通达信MCP / 腾讯自选股 / 国泰海通 (任一即可) |
| 手动数据 | 6-8个关键指标 | 🟢 降级备选 | 当前价格、量比、PE、ROE、主力净流入占比等 |
使用方式与触发示例
触发词
量能分析 · 个股深度分析 · 12步量能法 · 股票量能评分 · 量能可视化分析 · 分析某个股票的量能情况 · 看一下股票的走势情况
典型使用示例
示例 1:标准个股深度分析 (有数据源)
> 用户:请用12步量能法分析一下招商银行 600036.SH
>
> 系统行为:
> 1. 自动检测环境中的数据源 → 发现通达信MCP + 国泰海通Skill
> 2. L0 拉取120日K线、实时行情、资金流向、基本面、研报、同业数据
> 3. 执行完整12步分析,生成 Quick Take 卡片 + 完整报告 + 交易单
> 4. 生成统一积木式 HTML 报告文件 (保存在 output/reports/)
> 5. 输出数据完整性评分,标注置信度
示例 2:低量能股票 (静默市场模式)
> 用户:分析一下 601288.SH 农业银行
>
> 系统行为 (假设该股当日量能评分=32 < 40):
> 1. L1 五维量能评分 → 32分,触发闸门1
> 2. 不硬终止,自动切换为「静默市场深度分析」
> 3. 输出:量能体制、吸筹/派发模式检测、历史相似量能统计
> 4. 生成静默市场报告(~500字)+ 关注触发条件列表
> 5. 不生成完整交易单,但提供操作方向建议
示例 3:无在线数据源时的离线兜底分析
> 用户:我想看一下中国神华 601088.SH 的量能情况
>
> 系统行为 (假设环境中没有任何可用的 MCP/Skill 在线数据源):
> 1. 自动发现数据源 → 0 个在线源可用
> 2. 自动回退到内置离线快照(若 data/offline_snapshot/ 已构建):拉取真实历史 K线 + 基本面,跑完整 12 步分析
> 3. 报告中标注数据来自离线快照的 as_of_date,时效性低于实时,置信度相应调整
> 4. 若离线快照也未构建 → 触发数据韧性回退(手动输入 + 行业均值),输出有限分析并标注「置信度降低」
>
> 💡 离线快照让"无在线源"不再是分析死角:首次使用时按提示选择覆盖范围构建一次即可长期受益。
代码调用方式
from analysis_engine import AnalysisEngine, analyze_stock
# 方式A:一行分析
result = analyze_stock('600036.SH', '招商银行')
# 方式B:自定义引擎 (启用缓存+韧性)
engine = AnalysisEngine(enable_cache=True, enable_resilience=True)
result = engine.analyze('600036.SH', '招商银行')
# 查看结果
print(f"量能评分: {result.volume_score:.0f}/100")
print(f"最终评级: {result.final_rating}")
print(f"期望收益: {result.expected_return:+.1f}%")
print(f"盈亏比: {result.reward_risk_ratio:.1f}:1")
# 生成报告
print(engine.generate_quick_take(result)) # Quick Take 卡片
print(engine.generate_full_report(result)) # 完整分析报告
print(engine.generate_trade_plan(result)) # 可执行交易单
# 生成统一积木式 HTML 报告 (自包含 .html 文件)
html = engine.generate_html(result, mode='single', detail='full')
# → 保存到 output/reports/{代码}_analysis.html
命令行运行 (零配置,推荐)
pip install pandas numpy plotly pyyaml # 安装依赖
python cli.py 600036 # 个股:代码(或中文名 招商银行)
python cli.py 600036 601857 # 两股比较
python cli.py --portfolio # 组合分析(默认用 stock_pool_core.csv)
python cli.py --portfolio stock_pool_example.csv # 用开箱即用示例池
python cli.py --light 600036 # 浅色主题报告
💡 新手零配置起步:直接 python cli.py --portfolio stock_pool_example.csv。
示例池内置 10 只蓝筹——前 4 只(600036 招商银行 / 601857 中国石油 / 600938 中国海油 / 600061 国投资本)随包离线快照兜底,无任何在线源也能跑完整 12 步;其余在线时自动补全、离线时自动跳过。
四层架构
┌─────────────────────────────────────────────────────────────────────┐
│ 个股 12 步深度量能分析 V5.1.1 │
├─────────────────────────────────────────────────────────────────────┤
│ L0:数据采集层 (前置) │
│ 一次性拉取全部所需数据:量价/资金/技术/财务/股东/研报/公告 │
│ ↓ │
│ L1:量能诊断层 (第 1-3 步) ← 第一闸门 │
│ 第 1 步:五维量能评分 + 三维拥挤度惩罚 → 量能评级 (🟢🟡🟠🔴) │
│ 第 2 步:V5 八阶段价格结构定位 → 价格阶段 + 趋势方向 │
│ 第 3 步:连续量能趋势分析 → 量能健康度 │
│ → 闸门 1:量能评分 < 40?→ 触发静默市场深度分析 │
│ ↓ 通过 │
│ L2:多维验证层 (第 4-8 步) │
│ 第 4 步:基本面六维分析 → 基本面评级 │
│ 第 5 步:技术面多重共振 → 共振强度 │
│ 第 6 步:筹码与股东结构 + L2 资金流增强 → 资金面评级 │
│ 第 7 步:机构观点聚合 → 情绪评级 │
│ 第 8 步:多维交叉验证 → 一致性 + 置信度 │
│ → 闸门 2:严重分歧?→ 标记"低置信度",降级处理 │
│ ↓ │
│ L3:决策矩阵层 (第 9-11 步) │
│ 第 9 步:四维决策矩阵 → 综合得分 + 基础评级 │
│ 第 10 步:催化剂跟踪 → 评级调整 │
│ 第 11 步:板块弹性与组合暴露 → 仓位调整建议 │
│ → 闸门 3:综合得分 < 2.0?→ 评级🔴回避,跳过 L4 │
│ ↓ │
│ L4:交易执行层 (第 12 步) │
│ 第 12 步:风险收益比与三情景分析 → 期望收益 + 盈亏比 + 关键价位 │
│ → 闸门 4:盈亏比 < 2:1?→ 标注"赔率不足" │
│ → 闸门 5:量能趋势确认 → 入场时机建议 │
│ 输出:可执行交易单 (建仓/加仓/止损/止盈/仓位/监控) │
│ ↓ │
│ 输出层:Quick Take 卡片 + 完整报告 + 交易单 + 5张图表 + HTML报告 │
└─────────────────────────────────────────────────────────────────────┘
> 📖 12 步 SOP 详细评分标准(每步的维度、权重、阈值、行业适配参数)见 references/12step-sop.md。
行业适配参数总表
| 参数 | 通用 | 银行/红利 | 龙头制造业 |
|---|---|---|---|
| 量比权重 | 20 分 | 15 分 | 20 分 |
| 外盘占比权重 | 20 分 | 15 分 | 20 分 |
| 主力净流入权重 | 20 分 | 25 分 | 20 分 |
| 拥挤度阈值 (>80% 扣 10) | >80% | >70% | >85% |
| 基本面权重 | 1.0x | 1.3x | 1.1x |
| 技术共振权重 | 1.0x | 0.8x | 1.0x |
| 北向资金权重 | 1.0x | 1.2x | 1.2x |
| 四维矩阵 (量/价/资/情) | 30/25/25/20 | 25/20/30/25 | 30/25/25/20 |
| 止损幅度 | -7% | -5% | -8% |
30 秒看懂评级
不想读完整报告?看这 4 个信号就够了:
| 信号 | 怎么看 | 含义 |
|---|---|---|
| 评级色灯 | 🟢 / 🟡 / 🟠 / 🔴 | 🟢 强烈推荐 · 🟡 推荐/增持 · 🟠 观望 · 🔴 回避 |
| 量能评分 | 0-100 | ≥60 放量健康、≥40 温和、<40 静默市场(自动转深度吸筹分析) |
| 四维得分 | 量/价/资/情 各 0-5 | 短板决定下限:任一项 ≤1.5 需警惕 |
| 三情景 | 期望收益 + 盈亏比 | 期望收益 >0 且盈亏比 ≥2:1 才值得下手 |
一眼决策:
- 🟢 且量能 ≥60 → 重点跟踪,按交易单执行
- 🟡 且量能 ≥40 → 列入关注,等放量确认
- 🟠 → 观望,信号分歧或量能偏弱
- 🔴 或量能 <40 → 回避,或仅做长线定投视角
> 更细的逐维打分、图表与交易单,见每次生成的统一积木式 HTML 报告(顶部「决策速览卡」一屏给结论)。
输出格式
Quick Take 卡片 (约 300 字)
# {股票名称} ({代码}) 量能速览
**评级**: {🟢/🟡/🟠/🔴} {评级描述}
**量能评分**: {原始分} → {调整后}分 (拥挤度惩罚{惩罚分})
**V5 阶段**: 阶段{X} - {阶段名称}
**基本面**: {🟢/🟡/🟠/🔴} {评级}
**四维得分**: {X.X}/5.0 (量能{X.X}/价格{X.X}/资金{X.X}/情绪{X.X})
**核心信号**:
- ✅ {最强利好信号 1}
- ✅ {最强利好信号 2}
- ⚠️ {主要风险点}
**三情景期望**: 期望收益 {+X.X}%, 盈亏比 {X}:1
**置信度**: {高/中/低}
**操作建议**: {一句话建议}
统一积木式 HTML 报告
必须输出。 每次分析完成后,使用 generate_html() 生成自包含 HTML 报告,保存到 output/reports/。
from reports.html_generator import generate_html
# 个股完整报告
html = generate_html(result, mode='single', detail='full',
output_path='output/reports/600036_SH_analysis.html')
# 两股对比
html = generate_html(result_a, mode='compare', result_b=result_b,
output_path='output/reports/600036_vs_601398_compare.html')
# 组合分析
html = generate_html(results, mode='portfolio', portfolio_name='自选池',
output_path='output/reports/portfolio_自选池_analysis.html')
设计特性:
- 🎨 积木哲学:每个分析步骤 = 独立 <section class="block">
- 🌓 暗色/亮色双主题:data-theme="dark" 默认,一键切换
- 📍 四层决策脊导航:IntersectionObserver scrollspy 高亮
- 🎯 双色轴体系:方向轴(红涨绿跌)vs 评级轴(蓝→青→琥珀→红)
- 📱 响应式:桌面/平板/手机自适应,打印友好
- 📦 自包含:内嵌全部 CSS/JS
数据源与依赖
Python 依赖
| 包 | 用途 | 必需 |
|---|---|---|
| pandas | 数据处理 | 是 |
| numpy | 数值计算 | 是 |
| plotly | 可视化图表 | 是 |
| pyyaml | 配置文件解析 | 是 |
注意:不依赖 akshare/efinance/pytdx/yfinance 等Python数据源库。数据源完全由运行环境中的MCP工具和Skill提供。
> 📖 数据源架构详细说明(路由配置、适配器架构、Agent→引擎编排流程、data_injector CLI、数据时效与披露政策)见 references/data-source-architecture.md。
>
> 📖 数据韧性与静默市场分析(五级降级容错、静默市场四步分析、V3.4量能结构诊断)见 references/data-resilience.md。
首次运行 / 离线快照(稳定数据源 · V5.1 新增)
核心改进:本 Skill 现在具备「在线 + 离线分层」数据源。westock 等在线源优先;当环境中没有任何在线源时,自动回退到随 Skill 发布的内置离线快照(真实历史 K线 + 基本面等),零配置即可跑完整 12 步分析,不再"只能做简单分析"。
agent 操作约定(关键)
- 分析前先检测:运行
python bootstrap.py(或调用bootstrap.ensure_snapshot())。
- 返回READY:离线快照已存在,直接分析即可。
- 返回FIRST_RUN:离线快照目录为空。 - 首次使用提示覆盖范围(用户补充要求):当检测到
FIRST_RUN时,用 AskUserQuestion 询问用户离线数据覆盖范围,给出三选项:
- 默认 ~50 只(核心持仓 + 主要银行 + 红利蓝筹)—— 推荐,已内置真实数据,立即可用
- 扩展至沪深300(--scope csi300)—— 覆盖范围更大,需联网构建(体积较大)
- 更宽(中证红利 + 中证银行)(--scope broad)—— 需联网构建 - 按用户选择构建:运行
python build_offline_snapshot.py --scope <选择>。
- 有 westock 在线源时--online可联网刷新;无在线源时自动复用已注入的 westock 缓存 /data/raw灌入。
- 构建幂等,已存在默认跳过(--force覆盖)。 - 构建完成后
ensure_snapshot()返回READY,正常分析。
> ⚠️ 若用户选择跳过构建且环境中确实无任何在线源,仅有离线快照兜底——报告中会标注数据来自离线快照的 as_of_date,时效性低于实时数据,置信度相应调整。
离线快照自动保鲜(V5.1.1 新增 · 默认开启)
每次在线分析完成后,系统自动把本次用到的在线数据回灌到离线快照(offline_snapshot.sync_from_provider),使离线兜底始终持有"最近一次在线"的真实数据,彻底避免快照过期。
- 触发点:
AnalysisEngine.analyze()数据采集后自动调用,无需 agent 额外操作。 - 智能判断:仅把由在线源(westock_cache 等)提供的数据类型写回;若某类型由
offline_snapshot自身兜底(即在线不可用),则跳过——绝不用离线数据覆盖离线数据。 - 纯离线运行:当环境中完全没有在线源时,
sync_from_provider自动返回online=False,不做任何写入,离线快照原样保留。 - 关闭开关:
config.py的OFFLINE_SNAPSHOT['auto_update'] = False可禁用(默认True)。 - 溯源标注:自动回灌的文件
meta.source记录真实来源(如westock_cache)、meta.auto_updated=True、meta.as_of_date取真实数据日期,报告与list_offline_snapshot()可据此区分"内置快照"与"自动保鲜快照"。
> 💡 这意味着:用户只需正常用 Skill 分析几次,离线快照就会自动覆盖到其关注的所有标的,且始终新鲜——首次构建的覆盖范围(core50 等)只是起点,后续由实际使用自然扩展并保鲜。
离线快照说明
| 项 | 说明 |
|---|---|
| 存储位置 | data/offline_snapshot/{代码}_{类型}.json(与 westock 缓存目录并列,互不影响) |
| 数据形态 | 真实历史日线 + 实时末值 + 基本面/股东/北向/研报/同业(按需) |
| 新鲜度 | 无 TTL 强制过期;通过 meta.as_of_date / freq 在报告层标注时效 |
| 覆盖范围 | core50(内置默认)、csi300、broad(详见 config.py 的 OFFLINE_SNAPSHOT) |
| 构建脚本 | build_offline_snapshot.py(--scope / --codes / --online / --force) |
| 管理 | offline_snapshot.list_offline_snapshot() / clear_offline_snapshot() |
版本历史
- V5.1.1 (2026-08-09): 离线快照自动保鲜——每次在线分析后自动回灌在线数据到离线快照(仅写在线源提供类型,纯离线运行自动跳过),兜底数据始终新鲜;新增
auto_update开关 - V5.1.0 (2026-08-09): 在线+离线分层数据源,新增离线快照适配器 / 构建脚本 / 首启引导,零配置离线兜底
- V5.0.1 (2026-08-06): 全项目版本号统一、WestockCacheAdapter 默认路由集成、三维拥挤度惩罚文档统一、五级降级描述修正
- V3.4 (2026-08-02): 统一积木式 HTML 报告生成器 (3→1)、Quick/Full双详细度、暗色/亮色双主题、四层决策脊scrollspy导航。WestockCacheAdapter (最高优先级JSON缓存适配器)、data_injector.py、ResilientDataProvider默认接入引擎五级降级链
- V3.3 (2026-07-28): 数据韧性五级容错、静默市场深度分析 (替代闸门1硬终止)、数据完整性评分
- V3.2 (2026-07-08): 环境自适应数据源 (MCP/Skill自动发现+按数据类型路由)、完整 12 步分析引擎、集中配置管理、相对路径重构
- V3.1 (2026-07-08): 新增 4 个优化模块 (L2 资金流增强/三维拥挤度惩罚/同业对比三情景/Plotly 可视化仪表盘)
- V3.0 (2026-07-07): 重构为四层架构,明确数据流,增加 5 个闸门,行业适配参数化
- V2.0 (2026-07-07): 四大模块架构 + 12 步 SOP
- V1.0 (规划中): 初始线性框架
相关技能
portfolio_construction: 将个股分析结果转化为组合权重股票交易策略: 基于持仓成本的买卖点分析Public-company-one-page-investment-memo: 一页纸投资报告生成
扩展文档指引
> 以下文件按需读取,不在加载 SKILL.md 时自动读取。
> 推荐顺序:新手必读(quickstart → faq → anti-patterns)→ 12step-sop → 其余;design.md / DESIGN-REVIEW.md / 红利价值视角模块设计.md 为开发者向,二次开发再读。
| 文档 | 何时读取 | 路径 |
|---|---|---|
| 12 步 SOP 详细评分标准 | 需要查看每步维度/权重/阈值/行业适配时 | references/12step-sop.md |
| 4 个优化模块详情 | 需要了解L2资金流增强/拥挤度/同业对比/可视化时 | references/optimization-modules.md |
| 数据源架构与编排 | 配置数据源路由/Agent→引擎流程/data_injector时 | references/data-source-architecture.md |
| 数据韧性与静默市场 | 排查降级逻辑/低量能分析/量能结构诊断时 | references/data-resilience.md |
| 新手入门教程 | 首次使用/5分钟快速上手 | references/quickstart.md |
| 反模式与常见误区 | 避免踩坑/理解信号陷阱 | references/anti-patterns.md |
| 常见问题 FAQ | 排查问题/理解评分差异 | references/faq.md |