核心概念
系统把两个问题分开回答:
- Ticker Strength:股票本身的趋势、动量、相对强度和 price action 是否强。
- ETF Support:持有该股票的已配置 ETF,是否形成广泛且一致的强势环境。
ETF 与 Ticker 强度分数
ETF 和股票使用同一套 0–100 本地模型。FMP 提供日线 OHLCV、ETF holdings 等原始数据,不直接提供这个综合分数。
| 组件 | 权重 | 主要输入 |
|---|---|---|
| Trend | 25 | Close 与 SMA20 / SMA50 / SMA200 的排列 |
| Momentum | 25 | 20 日、60 日收益率 |
| Relative Strength | 25 | 相对 SPY 的 20 日、60 日超额收益 |
| Price Action | 25 | 20 日区间位置、60 日高点回撤、量价分布质量 |
score ≥ 65 视为强势,score ≤ 40 视为弱势,中间区域代表中性、轮动或过渡状态。
ETF Support Score
Support Score 用于快速排序 ticker 的 ETF 环境,范围为 0–100:
| 输入 | 计算 | 目的 |
|---|---|---|
| Weighted ETF Score | 按该 ticker 在各 ETF 中的持仓权重,对 ETF 强度加权平均 | 衡量最相关 ETF 的整体质量 |
| Strong ETF Share | 强势 ETF 数 ÷ 已追踪 ETF 数 | 区分一致支持与少数强势 |
| ETF Breadth | min(ETF 数 ÷ 5, 1) |
奖励多 ETF 确认,5 只封顶 |
| Universe Diversity | min(类型数 ÷ 3, 1) |
奖励 sector、thematic、industry 交叉确认 |
如果 ETF 持仓权重缺失,Weighted ETF Score 退化为 ETF 强度的简单平均。Support Score 不包含 ticker 自身分数,因此可独立比较“环境”和“个股”。Support Score 只使用已追踪 universe 中有本地强度分数的 ETF;点击 ticker 后的 ETF 暴露表会额外显示 FMP 返回的全量 ETF exposure,未追踪 ETF 不参与打分。
ETF 共识标签
| 标签 | 规则 | 解读 |
|---|---|---|
| Broad Support | 至少 3 个强势 ETF,且没有弱势 ETF | ETF 环境形成较广泛的正向确认 |
| Broad Headwind | 至少 2 个弱势 ETF,且没有强势 ETF | 多个 ETF 环境同步承压 |
| Mixed | 同时存在强势和弱势 ETF | 不同主题或行业正在分化 |
| Limited | 不满足以上规则 | 覆盖不足或共识尚未形成 |
如何使用
- 进入 Ticker Support,把 Minimum ETFs 设为
3+或5+。 - 按 Support 降序,优先查看 Broad Support 且 Types ≥ 2 的 ticker。
- 同时比较 Ticker Score。高 support + 高 ticker score 是强势环境中的强势股票。
- 高 support + 较弱 ticker score 代表环境较好但个股尚未确认,需要等待自身 price action 改善。
- Broad Headwind + 低 ticker score 可用于弱势延续筛选。
- 弱 ETF 环境中相对 ETF 明显更强的股票,可在单个 ETF holdings 的 Rebound 分组中寻找。
- 点击 ticker 查看具体 ETF、持仓权重、ETF 强度与相对 SPY 表现,排除只由单一低权重 ETF 驱动的结果。
强度变化速度
历史强度可以使用一阶导和二阶导判断变化:
- Velocity:近期 strength score 的斜率。正值代表强度改善,负值代表恶化。
- Acceleration:velocity 的变化。正值代表改善速度加快,负值代表动量正在减速。
最有价值的组合通常是:高绝对分数且 velocity 为正;或低分区出现 velocity 转正、acceleration 为正的早期修复。导数对短期噪声敏感,必须结合绝对分数、RS 和价格结构。
RRG 轮动轨迹
首页 RRG 使用 60 日相对 SPY 收益作为 X 轴,使用 RS20 - RS60 作为 Y 轴。X 为正代表中期相对领先,Y 为正代表短期相对动量正在改善。5D、13D、21D 控件用于观察 ETF 在领先、转弱、落后和改善四个象限中的移动路径。
为避免轨迹重叠,页面默认显示 Sector 和 5D 轨迹。所有 ETF 的最新位置都会保留,但默认只突出移动幅度最大的 6 条轨迹。悬停可以临时聚焦任意 ETF,点击后会保持聚焦并打开详情。坐标范围采用绝对值的第 95 百分位,减少单个极值对整体可读性的影响。
这是本项目的 RRG-style 本地近似,不是专有的 JdK RS-Ratio / RS-Momentum 公式。
数据范围与更新
- 价格与 holdings 来源:Financial Modeling Prep。
- 基准:SPY。
- Universe:配置中的 sector、thematic 和 industry ETF。
- 每个 ETF 至少分析权重最高的 25 个有效 ticker;若累计权重不足 80%,继续增加,最多分析 50 个。
- Ticker Support 分数只统计已追踪 universe 中有本地强度分数的 ETF;ticker 详情页的 ETF 暴露表会显示 FMP 返回的全量 ETF exposure。
- 静态站点显示最近一次构建快照;计划任务在交易日收盘后更新。
局限性
- ETF holdings 可能滞后于基金实际调仓,且不同发行商更新频率不同。
- 同一股票在不同 ETF 中的权重不能直接相加成“总市场持仓比例”。
- 模型不理解财报、估值、新闻、流动性、期权定位或宏观事件。
- 多个 ETF 可能高度重叠,ETF 数量并不等于独立信息源数量。
- 历史 momentum 可能反转。实际使用时仍需定义入场、失效条件和风险预算。