关于 breadth-chart-analyst
用于分析美国市场广度图表和 CSV 数据的技能,可生成有关市场状况、交易信号和仓位建议的英文报告。它结合 S&P 500 中长期广度指标与短期上升趋势股票比例。
主要功能
- 01基于 CSV 获取广度读数
- 02分析两类市场广度指标
- 03解读回测策略信号
- 04生成情景与仓位报告
适用场景
- 01根据广度数据评估市场状况
- 02寻找波段交易时机信号
- 03结合中长期与短期市场视角
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tradermonty/ claude-trading-skills --skill breadth-chart-analyst安装后在 Claude Code 中输入/breadth-chart-analyst确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
requirements.txtassets/breadth_analysis_template.mdreferences/breadth_chart_methodology.mdscripts/detect_breadth_values.pydetect_uptrend_ratio.pyextract_chart_right_edge.pyfetch_breadth_csv.pyscripts/tests/__init__.pyconftest.pytest_detect_breadth_values.pytest_detect_uptrend_ratio_synthetic.pytest_detect_uptrend_ratio.pytest_extract_chart_right_edge.pytest_fetch_breadth_csv_io.pytest_fetch_breadth_csv.py详细介绍
Breadth Chart Analyst
概述
此技能可对两类互补的市场宽度图表进行专业分析,分别提供战略性(中长期)和战术性(短期)的市场视角。分析市场宽度图表图像,评估市场健康状况,根据经过回测的策略识别交易信号,并制定仓位建议。所有思考和输出均仅使用英语。
适用场景
在以下情况下使用此技能:
- 用户提供 S&P 500 Breadth Index(基于 200-Day MA)图表图像并要求分析
- 用户提供 US Stock Market Uptrend Stock Ratio 图表图像并要求分析
- 用户要求评估市场宽度或市场健康状况
- 用户询问基于市场宽度指标的中期战略性仓位安排
- 用户需要短线波段交易的战术性择时信号
- 用户希望获得结合战略与战术的市场展望
- 用户要求进行市场宽度分析,但未提供图表图像(CSV 数据模式)
以下情况请勿使用此技能:
- 用户要求分析个股(改用
us-stock-analysis技能) - 用户需要在没有市场宽度图表的情况下分析行业轮动(改用
sector-analyst技能) - 用户希望基于新闻进行市场分析(改用
market-news-analyst技能)
前提条件
- 图表图像可选:公开来源的 CSV 数据是主要数据来源;图表图像提供补充性的视觉背景
- 无需 API 密钥:CSV 数据从公开的 GitHub Pages 获取;无需订阅外部 API
- 语言:所有分析和输出均使用英语
输出
此技能会生成 Markdown 分析报告,并保存到 reports/ 目录:
- 仅图表 1:
breadth_200ma_analysis_[YYYY-MM-DD].md - 仅图表 2:
uptrend_ratio_analysis_[YYYY-MM-DD].md - 两张图表:
breadth_combined_analysis_[YYYY-MM-DD].md
报告包含执行摘要、当前读数、信号识别、包含概率的情景分析,以及针对不同交易者类型的可执行仓位建议。
核心原则
- 双时间框架分析:结合战略性(图表 1:200MA Breadth)和战术性(图表 2:Uptrend Ratio)视角
- 侧重经过回测的策略:应用基于历史模式、经过验证的系统化策略
- 客观识别信号:聚焦明确定义的阈值、转折和标记
- 英语沟通:所有分析和报告均使用英语
- 提供可执行建议:为不同类型的投资者提供具体的仓位指导
图表类型与用途
图表 1:S&P 500 Breadth Index(基于 200-Day MA)
用途:中长期战略性市场仓位安排
关键元素:
- 8-Day MA(橙线):短期市场宽度趋势,主要入场信号生成器
- 200-Day MA(绿线):长期市场宽度趋势,主要离场信号生成器
- 红色虚线(73%):平均峰值水平——市场过热阈值
- 蓝色虚线(23%):8MA 平均谷值水平——极度超卖,是绝佳买入机会
- 三角形:
- 紫色 ▼ = 8MA 谷值(反转时为买入信号)
- 蓝色 ▼ = 200MA 谷值(主要周期低点)
- 红色 ▲ = 200MA 峰值(卖出信号)
- 粉色背景:下跌趋势期间
经过回测的策略:
- 买入:8MA 从谷值反转时(尤其是在 23% 以下)
- 卖出:200MA 形成峰值时(通常接近或高于 73%)
- 结果:历史表现优异,可避开熊市
图表 2:美国股市——上升趋势股票占比
用途:短期战术择时和波段交易
关键要素:
- 上升趋势股票的定义:股价高于 200MA/50MA/20MA,且 1 个月表现为正的股票
- 绿色区域:市场处于上升趋势阶段
- 红色区域:市场处于下降趋势阶段
- 约 10% 水平(下方橙色虚线):短期底部,极度超卖
- 约 40% 水平(上方橙色虚线):短期顶部,市场过热
波段交易策略:
- 做多入场:颜色由红转绿时(尤其是从低于 10–15% 的水平开始转变)
- 做多离场:颜色由绿转红时(尤其是从高于 35–40% 的水平开始转变)
- 时间范围:数天至数周
分析工作流
步骤 0:获取 CSV 数据(主要数据源——必须执行)
重要:CSV 数据是所有广度指标值的主要数据源。必须在分析任何图像之前执行此步骤。
python3 skills/breadth-chart-analyst/scripts/fetch_breadth_csv.py
CSV 为主要数据源的原因:
- OpenCV 图像检测容易出错——图表格式变化会导致灾难性故障(Issue #7)
- CSV 可直接从数据源提供精确数值
- 图像分析仅为辅助用途(用于了解趋势的视觉背景)
数据源:
- 市场广度:
tradermonty.github.io/market-breadth-analysis/market_breadth_data.csv- 提供:200-Day MA、8-Day MA、趋势、死叉状态
- 上升趋势占比:
tradermonty/uptrend-dashboard/data/uptrend_ratio_timeseries.csv- 提供:当前占比、10MA、斜率、趋势(UP/DOWN)、颜色(GREEN/RED)
- 板块汇总:
tradermonty/uptrend-dashboard/data/sector_summary.csv- 提供:各板块占比、趋势、状态(超买/超卖)
数据源优先级:
| 优先级 | 来源 | 用途 | 可靠性 |
|---|---|---|---|
| 1(主要) | CSV 数据 | 所有数值、死叉状态、颜色 | 高 |
| 2(辅助) | 图表图像 | 趋势的视觉背景、形态确认 | 中 |
| 3(已弃用) | 不可靠 | ||
| 4(最后手段) | 低 |
预期输出:
============================================================
Breadth Data (CSV) - 2026-02-13
============================================================
--- Market Breadth (S&P 500) ---
200-Day MA: 62.26% (healthy (>=60%))
8-Day MA: 67.56% (healthy_bullish (60-73%))
8MA vs 200MA: +5.30pt (8MA ABOVE -- NO dead cross)
Trend: UPTREND
--- Uptrend Ratio (All Markets) ---
Current: 33.03% GREEN (neutral_bullish)
10MA: 32.65%, Slope: +0.0055, Trend: UP
--- Sector Summary ---
...
============================================================
验证:运行 CSV 获取后,确认:
- 已成功获取 CSV 数据
- 已记录 200-Day MA 值
- 已记录 8-Day MA 值
- 已确定死叉状态(8MA < 200MA = 死叉)
- 已记录上升趋势占比值、颜色和趋势
- 后续所有分析均以这些 CSV 值作为权威数据源
步骤 1:接收图表图像并准备分析
用户提供广度图表图像进行分析时:
- 确认已收到图表图像
- 确认提供了哪些图表:
- 仅图表 1(200MA 广度)
- 仅图表 2(上升趋势占比)
- 两张图表
- 记录用户特别关注的内容或提出的问题
- 重要:分析前提取图表图像的右侧区域(步骤 1.5)
如果未提供图表图像:跳过步骤 1、1.5 和基于图像的分析。仅使用步骤 0 中的 CSV 数据作为数据源,并直接进入分析和报告生成步骤。
语言说明:后续所有思考、分析和输出均使用英文。
步骤 1.5:两阶段图表分析(提供图表时必须执行)
重要:采用两阶段分析方法,避免将历史数据误读为当前值。
阶段 1:完整图表分析(历史背景)
首先,分析完整图表图像,以了解:
- 整体历史趋势和周期
- 重要的历史事件(低谷、峰值、复苏)
- 长期形态和背景
阶段 2:聚焦右侧区域的分析(当前值)
随后,提取并分析图表最右侧的 25%,以准确确定当前值。
执行 Python 脚本以提取右侧区域:
python3 skills/breadth-chart-analyst/scripts/extract_chart_right_edge.py <image_path> --percent 25
为什么必须进行两阶段分析
| 阶段 | 目的 | 提取内容 |
|---|---|---|
| 阶段 1(完整图表) | 历史背景、趋势周期 | 整体模式、过去的低谷/峰值 |
| 阶段 2(右侧边缘) | 当前数值(至关重要) | 8MA 数值、200MA 数值、当前颜色、当前斜率 |
此流程可避免的常见错误:
- 大模型读取了 2025 年年中低点(8MA 约为 25-30%),而非当前数值(8MA 约为 60-65%)
- 单独查看右侧边缘后,“当前”数据便一目了然
分析流程
- 读取完整图表 → 记录历史背景
- 运行提取脚本 → 生成右侧边缘图像
- 读取右侧边缘图像 → 以高置信度记录当前数值
- 交叉核对:如果阶段 1 和阶段 2 的数值差异显著,以阶段 2(右侧边缘)为准
- 同时报告两者:在分析中纳入阶段 1 的背景信息和阶段 2 的当前数值
步骤 2:加载市场宽度图表方法论
开始分析前,请阅读全面的市场宽度图表方法论:
Read: references/breadth_chart_methodology.md
此参考资料包含以下详细指南:
- 图表 1:基于 200MA 的市场宽度指数解读与策略
- 图表 2:上升趋势股票比例的解读与策略
- 信号识别与阈值的重要性
- 策略规则与风险管理
- 综合两张图表以实现最佳决策
- 需要避免的常见陷阱
步骤 3:查看示例图表(首次使用或作为参考)
要了解图表格式和视觉元素,请查看此技能附带的示例图表:
View: assets/SP500_Breadth_Index_200MA_8MA.jpeg
View: assets/US_Stock_Market_Uptrend_Ratio.jpeg
这些示例展示了:
- 各类图表的外观和结构
- 信号和阈值的显示方式
- 颜色编码和标记系统
- 历史模式和周期
步骤 4:分析图表 1(基于 200MA 的市场宽度指数)
如果提供了图表 1,请进行系统分析:
4.1 提取当前读数
从图表图像中识别:
- 当前 8MA 水平(橙线):具体百分比
- 当前 200MA 水平(绿线):具体百分比
- 8MA 斜率:上升、下降或持平
- 200MA 斜率:上升、下降或持平
- 与 73% 阈值的距离:距离过热还有多远
- 与 23% 阈值的距离:距离极度超卖还有多远
- 图表中可见的最近日期
4.1.5 关键:最新数据点的详细趋势分析
此步骤为必做项,可避免误读近期趋势变化。
关键警告:图表可能会造成误导。大多数分析错误都是因为分析者:
- 把 8MA(橙色)与 200MA(绿色)混淆
- 查看历史趋势,而不是当前最右侧的数据点
- 误判哪条线正在上升、哪条线正在下降
分析趋势方向前,先确认线条颜色:
- ✓ 8MA = 橙色线(移动较快,波动性较大)
- ✓ 200MA = 绿色线(移动较慢,走势较平滑)
- 如果不确定哪条线对应哪项指标,请停止分析并重新查看图例和颜色
重点查看图表最右侧的 3-5 个数据点(最近几周):
对于 8MA(橙色线)——分析最新走势:
- 确定最新位置:图表最右侧的 8MA 在哪里?
- 向前追溯 3-5 个数据点(约 3-5 周):
- 1 周前的 8MA 水平是多少?
- 2 周前的 8MA 水平是多少?
- 3 周前的 8MA 水平是多少?
- 判断方向变化:
- 最新值比 1 周前高还是低?
- 最新值比 2 周前高还是低?
- 趋势是持续上升、持续下降,还是不规律?
- 判断当前斜率(而非历史斜率):
- 上升:最新数据点高于前 2-3 个数据点,且走势呈向上弯曲
- 下降:最新数据点低于前 2-3 个数据点,且走势呈向下弯曲
- 持平:最新数据点与前几个数据点大致相同(相差在 2-3% 以内)
需要回答的关键问题:
- 8MA 当前在最右侧是向上还是向下移动?
- 如果近期出现过低谷,8MA 是否持续上行,还是已经掉头向下?
- 统计连续上升的周期数:8MA 已连续上升几个周期?(需要 2-3 个周期才能确认)
- 统计连续下降的周期数:8MA 已连续下降几个周期?(如果低谷后开始下降,则表明反转失败)
对于 200MA(绿色线)——分析最新走势:
- 确定最新位置:200MA 在最右侧的位置在哪里?
- 向前追溯 4-6 周:
- 2 周前的 200MA 水平是多少?
- 4 周前的 200MA 水平是多少?
- 判断当前斜率:
- 最近一段时间是上升、下降还是持平?
识别失败反转(关键): 如果近期已识别出 8MA 低谷(紫色 ▼):
- 8MA 是否只上升了 1-2 个周期,随后又转为下降?
- 8MA 是否在下跌前未能达到 60%?
- 反弹后,8MA 是否又开始下降?
- 如果任一项的答案为是:这是失败反转——请勿进场,信号无效
分析示例格式:
Latest 8MA Data Points (rightmost to left):
- Current (Week 0): 48%
- 1 week ago: 52%
- 2 weeks ago: 55%
- 3 weeks ago: 50%
Analysis: 8MA is FALLING. It rose from 50% to 55% (weeks 3-2), but has since declined to 48%.
This shows a failed reversal pattern - bounce was temporary, downtrend has resumed.
SLOPE: Falling (not rising!)
必须进行交叉核验(避免误读): 确定趋势后,请自问:
- “如果我判断 8MA 正在上升,但它实际上已经连续下跌数周,这会是什么样子?”
- 答案:最右侧的数据点会低于前面的数据点(确认其正在下降)
- “我的分析是否与最右侧橙色线的视觉斜率一致?”
- 如果橙色线在最右侧视觉上向下倾斜 → 正在下降
- 如果橙色线在最右侧视觉上向上倾斜 → 正在上升
- “最右侧附近是否有粉色背景阴影(下降趋势)?”
- 如果有 → 这确认了下降趋势,8MA 很可能正在下降
- “8MA 和 200MA 是正在汇聚(距离缩小)还是正在发散?”
- 从下方汇聚 → 可能形成死亡交叉 → 看跌
- 从上方汇聚 → 可能形成黄金交叉 → 看涨
4.2 识别信号标记
查找并记录:
- 最近的 8MA 谷值(紫色 ▼):日期和数值
- 最近的 200MA 谷值(蓝色 ▼):日期和数值(如果在时间范围内可见)
- 最近的 200MA 峰值(红色 ▲):日期和数值
- 距离最近信号的天数/周数
- 任何粉色背景阴影(下跌趋势期间)
4.3 评估市场状态
根据读数和形态,将当前市场分类为:
- 健康的牛市
- 过热的牛市
- 市场顶部/派发阶段
- 熊市/回调
- 绝望性抛售/极度超卖
- 早期复苏
提供图表中的具体证据来支持分类。
4.4 确定策略仓位
应用回测策略规则,并严格遵守确认要求:
检查买入信号(必须满足所有条件):
- ✓ 形成谷值:8MA 是否形成了清晰的谷值(紫色 ▼)?
- ✓ 开始反转:8MA 是否已从谷值开始向上移动?
- ✓ 达到确认条件:谷值之后,8MA 是否连续 2-3 个周期上涨?
- ✓ 近期未反转:根据步骤 4.1.5 的分析,8MA 当前是否正在上涨(而非下跌)?
- ✓ 走势持续:8MA 是否持续向上,没有掉头回落?
- ⭐ 可选但有力:谷值处的 8MA 是否低于或接近 23%(极度超卖)?
买入信号状态:
- 已确认:满足全部 5 项必需条件 → 做多
- 形成中:已形成谷值,但连续上涨不足 2-3 个周期 → 等待并监控
- 失效:已形成谷值,但 8MA 已掉头并开始下跌 → 不要入场,等待下一个谷值
- 无信号:尚未形成谷值 → 等待
检查卖出信号:
- 200MA 是否已形成峰值(红色 ▲)?
- 200MA 是否接近或高于 73%?
- 这是需要退出仓位的有效卖出信号吗?
确定当前仓位:
- 做多:买入信号已确认,已入场并持有
- 准备入场:买入信号正在形成(已形成谷值,等待确认)
- 等待/空仓:没有有效信号,或检测到反转失败
- 准备退出:卖出信号正在形成(200MA 接近峰值)
4.5 制定情景
制定 2-3 种情景并估算概率:
- 基准情景(概率最高)
- 其他情景
- 每种情景均包含:描述、支持因素、策略影响、关键价位
步骤 5:分析图表 2(上升趋势股票占比)
如果提供了图表 2,请进行系统分析:
5.0 必须执行 已弃用:上升趋势占比检测脚本(已由步骤 0 的 CSV 获取取代)
注意(Issue #7):此 OpenCV 检测步骤已弃用。请将步骤 0 中的 CSV 数据作为首要数据来源。OpenCV 脚本仅可用于辅助验证,但在所有情况下均以 CSV 数值为准。
python3 skills/breadth-chart-analyst/scripts/detect_uptrend_ratio.py <image_path> [--debug]
5.1 提取当前读数
从图表图像中识别:
- 当前上升趋势股票占比:具体百分比
- 当前颜色:绿色(上升趋势)或红色(下降趋势)
- 占比斜率:上升、下降或持平
- 与 10% 阈值的距离:距离极度超卖有多近
- 与 40% 阈值的距离:距离超买有多近
- 图表上可见的最近日期
5.2 识别趋势转换
查找并记录:
- 最近一次由红转绿:转换日期及转换时的占比
- 最近一次由绿转红:转换日期及转换时的占比
- 当前颜色阶段的持续时间:当前趋势已持续多久
- 距离最近一次转换的天数/周数
5.3 评估市场状况
根据当前占比和颜色,将市场分类为:
- 极度超卖(<10%)
- 温和看跌(10-20%,红色)
- 中性/过渡(20-30%)
- 温和看涨(30-37%,绿色)
- 极度超买(>37-40%)
提供图表中的具体证据来支持分类。
5.4 确定交易持仓
应用波段交易策略规则:
检查是否出现做多信号:
- 颜色是否已从红色变为绿色?
- 转换是否始于超卖水平(<15%)?
- 转换是否已确认(连续 2-3 天为绿色)?
检查是否出现平多信号:
- 颜色是否已从绿色变为红色?
- 转换是否始于超买水平(>35%)?
- 动能是否正在减弱?
当前持仓:做多、空仓、准备入场或准备退出
5.5 制定情景
创建 2-3 种情景并估算概率:
- 基准情景(概率最高)
- 备选情景
- 每种情景均包括:描述、支持因素、交易影响、关键水平
第 6 步:综合分析(提供两张图表时)
如果提供了两张图表,则整合战略和战术视角:
6.1 一致性评估
创建持仓矩阵:
- 图表 1(战略):看涨 / 看跌 / 中性 + 信号状态
- 图表 2(战术):看涨 / 看跌 / 中性 + 信号状态
- 综合影响:两者是否一致,或存在冲突?
6.2 情景分类
确定适用的四种情景之一:
情景 1:两者均看涨
- 图表 1:8MA 上升,200MA 尚未见顶
- 图表 2:绿色(上升趋势),比率从超卖水平回升
- 影响:采取最积极的看涨立场,积极建仓
情景 2:战略看涨,战术看跌
- 图表 1:8MA 上升,200MA 尚未见顶
- 图表 2:红色(下降趋势),比率下跌或处于高位
- 影响:持有核心多头仓位,等待战术入场时机
情景 3:战略看跌,战术看涨
- 图表 1:200MA 已见顶或正在下跌
- 图表 2:绿色(上升趋势),比率上升
- 影响:仅进行短期战术交易,设置紧密止损
情景 4:两者均看跌
- 图表 1:两条 MA 均下跌
- 图表 2:红色(下降趋势),比率下跌
- 影响:采取防御性持仓,持有现金或做空
6.3 统一建议
提供整合后的持仓指导,分别针对:
- 长期投资者(主要依据图表 1)
- 波段交易者(主要依据图表 2)
- 活跃战术交易者(依据两者的组合)
说明图表之间的任何冲突,并解释如何化解。
第 7 步:用英语生成分析报告
使用模板结构创建一份完整的 Markdown 报告:
Read and use as template: assets/breadth_analysis_template.md
重要:所有分析和输出都必须使用英语。
报告结构会根据分析的图表而有所不同:
仅分析图表 1:
- 执行摘要
- 图表 1 的完整分析章节
- 总结与结论
- 省略图表 2 和综合分析章节
仅分析图表 2:
- 执行摘要
- 图表 2 的完整分析章节
- 总结与结论
- 省略图表 1 和综合分析章节
分析两张图表:
- 执行摘要
- 图表 1 的完整分析章节
- 图表 2 的完整分析章节
- 综合分析章节(必需)
- 总结与结论
文件命名约定:将每份分析保存为:
- 仅分析图表 1:
breadth_200ma_analysis_[YYYY-MM-DD].md - 仅分析图表 2:
uptrend_ratio_analysis_[YYYY-MM-DD].md - 分析两张图表:
breadth_combined_analysis_[YYYY-MM-DD].md
第 8 步:质量保证
定稿前,请核实:
- ✓ 语言:所有内容均为英文(思考和输出)
- ✓ 线条颜色核实:趋势分析前已明确确认 8MA = 橙色、200MA = 绿色
- ✓ 最新数据趋势分析:已彻底完成第 4.1.5 步——分析最近的 3–5 个数据点,以确定当前趋势方向
- ✓ 趋势方向准确性:所述的 8MA 斜率(上升/下降/持平)准确反映最右侧的数据点,而非历史走势
- ✓ 已完成交叉核对:已回答强制性交叉核对问题,确认趋势方向与目测斜率一致
- ✓ 死亡交叉/黄金交叉检查:如果 8MA 和 200MA 正在汇合,已明确指出正在形成死亡交叉还是黄金交叉
- ✓ 反转失败检查:如果识别出谷底,已通过分析最新走势明确核实反转是持续还是失败
- ✓ 具体数值:所有读数均包含具体百分比/水平,而非模糊描述
- ✓ 信号状态:明确标识有效信号(已确认买入 / 形成中 / 失败 / 卖出 / 等待)
- ✓ 策略一致性:建议与回测策略及确认要求一致
- ✓ 概率:各种情景的概率总和为 100%
- ✓ 可执行性:针对不同类型交易者给出明确的仓位建议
- ✓ 背景信息:与历史走势对比,并参考过去类似情况
- ✓ 风险管理:明确说明失效水平和风险因素
最终合理性检查:
- 如果报告声称有“买入信号”或“8MA 上升”,请确认这与用户图表显示的死亡交叉或下跌趋势不矛盾
- 如果报告声称“看涨”,请确认图表中没有粉色背景阴影或死亡交叉
- 如果对任何趋势方向不确定,请明确说明不确定性,而不是猜测
质量标准
客观性要求
- 严格依据图表中可观察到的数据进行所有分析
- 除非与分析特别相关,否则不要纳入外部信息(新闻、基本面)
- 始终使用准确的技术术语
- 明确区分事实观察与概率预测
- 信号含义模糊时,承认存在不确定性
完整性要求
- 涵盖分析模板中的所有相关部分
- 为所有关键指标提供具体数值
- 根据技术因素说明概率估计的依据
- 为每种情景提供失效水平
- 将当前读数与图表中可见的历史形态进行比较
清晰度要求
- 使用专业、分析性的英文撰写
- 使用清晰的章节标题和结构
- 适当时以表格呈现信息
- 提供具体、可执行的建议
- 避免使用未加解释的术语
策略遵循要求
- 正确应用经过回测的策略规则
- 区分策略性(图表 1)和战术性(图表 2)信号
- 清晰说明仓位状态(做多/空仓/建仓中/平仓中)
- 适用时提供具体的入场/离场水平
- 说明风险管理措施(止损、仓位规模)
常见分析错误及避免方法
错误 1:混淆 8MA 和 200MA
表现:报告声称 8MA 正在上升,实际上上升的是 200MA
预防措施:
- 务必核实:8MA = 橙色,200MA = 绿色
- 检查线条波动性:8MA 变化更快,波动更大
- 如果不确定,请说明:“根据线条颜色,我将[橙色/绿色]线识别为[8MA/200MA]”
错误 2:把历史趋势误读为当前方向
表现:报告描述的是 1–2 个月前的情况,而非当前走势
预防措施:
- 只关注最右侧的 3–5 个数据点
- 明确写出:“在当前最右侧,8MA 位于 X%,并且正在[上升/下降]”
- 如果我们正在分析 11 月,就忽略 9 月发生的情况
错误 3:未识别死亡交叉或黄金交叉形态
症状:当 8MA 和 200MA 即将形成死亡交叉(看跌)时,报告却看涨
预防措施:
- 始终检查:“8MA 和 200MA 是越来越接近(收敛)还是越来越远(发散)?”
- 如果正在收敛,且 8MA 高于 200MA → 可能形成死亡交叉 → 看跌
- 如果正在收敛,且 8MA 低于 200MA → 可能形成黄金交叉 → 看涨
- 明确说明:“8MA 目前[高于/低于] 200MA,且两者正在[收敛/发散]”
错误 4:忽略粉色背景阴影
症状:图表显示粉色下跌趋势背景,报告却声称形势看涨
预防措施:
- 检查最右侧边缘是否有粉色阴影
- 粉色背景 = 下跌趋势时期 = 看跌状况
- 如果存在粉色阴影,报告必须提及看跌状况
错误 5:过早宣称反转
症状:8MA 仅上涨 1 周,报告就称“买入信号已确认”
预防措施:
- 必须有 2-3 周连续上涨的 8MA 才能确认
- 如果只有 1 周:信号处于“形成中”阶段,而非“已确认”
- 如果 8MA 上涨后再次下跌:信号为“失败”,不具有效性
使用场景示例
示例 1:仅使用 CSV 分析(无图表)
User: "breadth分析して" (Analyze breadth)
[No chart images provided]
Breadth Analyst:
1. Executes fetch_breadth_csv.py to get latest CSV data
2. Reads breadth_chart_methodology.md
3. Analyzes CSV data:
- 200MA: 62.26% (healthy)
- 8MA: 67.56% (healthy_bullish)
- 8MA vs 200MA: +5.30pt (NO dead cross)
- Uptrend Ratio: 33.03% GREEN (neutral_bullish)
- Sector summary with overbought/oversold sectors
4. Assesses market regime based on CSV values
5. Generates report: breadth_combined_analysis_2026-03-16.md
示例 2:战略广度分析(仅图表 1)
User: "Please analyze this S&P 500 breadth chart and tell me where we are in the market cycle."
[Provides Chart 1 image: 200MA Breadth Index]
Breadth Analyst (thinking in English):
1. Executes CSV fetch for authoritative numerical values
2. Confirms receipt of Chart 1 (200MA-based breadth index)
3. Reads breadth_chart_methodology.md for Chart 1 guidance
4. Two-stage analysis: full chart → right edge extraction
5. Cross-checks CSV values with chart readings
6. Generates comprehensive report in English
示例 3:战略 + 战术综合分析(两张图表)
User: "Analyze both of these breadth charts and give me your overall market view."
[Provides both Chart 1 and Chart 2 images]
Breadth Analyst (thinking in English):
1. Executes CSV fetch as PRIMARY source
2. Confirms receipt of both charts
3. Reads full breadth_chart_methodology.md
4. Two-stage analysis for each chart
5. Cross-checks all values against CSV data
6. Combined assessment and unified recommendation
7. Generates comprehensive combined report
资源
此技能包含以下捆绑资源:
references/breadth_chart_methodology.md
涵盖以下内容的完整方法论:
- 图表 1(200MA 广度):组成部分、解读方法、市场状态、回测策略、分析检查清单
- 图表 2(上升趋势比率):组成部分、解读方法、市场状况、波段交易策略、分析检查清单
- 综合分析:一致性情景、综合决策
- 常见陷阱:各类图表应避免的错误
用法:在进行任何广度图表分析之前,请先阅读此文件,以确保解读系统且准确。
assets/breadth_analysis_template.md
用于广度分析报告的结构化英文模板。
用法:每次撰写分析报告时都使用此模板结构。
assets/SP500_Breadth_Index_200MA_8MA.jpeg
用于参考格式的图表 1 示例图片。
assets/US_Stock_Market_Uptrend_Ratio.jpeg
用于参考格式的图表 2 示例图片。
scripts/fetch_breadth_csv.py
主要数据源。从公开 CSV 数据源获取市场广度、上升趋势比率和行业摘要数据。仅使用标准库(urllib + csv),无外部依赖。
python3 skills/breadth-chart-analyst/scripts/fetch_breadth_csv.py # Human-readable
python3 skills/breadth-chart-analyst/scripts/fetch_breadth_csv.py --json # JSON output
scripts/extract_chart_right_edge.py
提取图表图片最右侧的部分,以便聚焦于最新数据点。需要 PIL/Pillow。
python3 skills/breadth-chart-analyst/scripts/extract_chart_right_edge.py <image_path> --percent 25
scripts/detect_uptrend_ratio.py (已弃用)
基于 OpenCV 的上升趋势比率检测。现已由 CSV 获取方式取代。需要 opencv-python + numpy。
scripts/detect_breadth_values.py (已弃用)
基于 OpenCV 的广度值检测。现已由 CSV 获取方式取代。需要 opencv-python + numpy。
特别说明
语言要求
重要:所有分析、思考和输出都必须使用英文。包括:
- 内部分析和推理
- 报告生成
- 表格和数据展示
- 情景描述
- 建议
请勿翻译或使用任何其他语言。用户只希望收到英文输出。
策略重点
此技能侧重于经过回测的系统化策略,而非主观解读。始终:
- 按照文档所述应用策略规则
- 参考历史表现模式
- 提供具体的入场/离场标准
- 提供风险管理指导
实际应用
目标是提供可执行的情报。每项分析都应回答:
- 战略层面:中期来看,我应该做多、观望还是做空市场?
- 战术层面:短期内,我应该开仓还是平仓?
- 时机:我应该何时行动,在哪些价位行动?
- 风险:什么情况会使这一观点失效,止损位应该设在哪里?