方法说明 · 数据口径 · 免责声明
学习研究用途,不构成投资建议。
这里只展示规则的状态与历史回测,用来学习如何衡量市场、什么时候该撤退或进场。它不会给出买卖指令,回测不代表未来。
两个信号是什么
- MA200 慢信号:收盘 > 200 日均线 = 在场,否则空仓;不设确认,D+1 开盘执行。
- 宽度闸门 R1:站上 20 日均线的占比 ≥ 30%,且满足三条支路之一(A:Δ5 ≥ +5pp 且 收盘 > MA20;B:收盘 > MA20 且 > MA60;C:Δ5 ≥ 0 且 收盘 > MA60);状态切换需连续 2 日确认;D 日收盘出信号,D+1 开盘执行。
- 状态灯:绿 = 在场,红 = 空仓,橙 = 两信号分歧。颜色表示规则状态,不表示涨跌。
已确认(有回归测试 / 逐日核对)
- R1 闸门规则对站点的复刻:逐日一致率 98.60%(我们的宽度)/ 99.42%(站点宽度),错日列表由回归测试冻结。
- A股全 A 宽度 2603/2603 日一致;ETF 轮动持仓 1213/1214 日一致。
- 海外回测的关键数字(SPY / QQQ / 2800.HK / 沪深300 的买入持有、R1、MA200)有回归测试锁定。
- 页面上每个数据日、rule_hash、sha256 都来自发布层 manifest,没有手填。
推断 / 未检验
- “MA200 做总开关、宽度做辅助”来自一次全样本、样本内回测,没有做样本外(walk-forward)检验。
- 港美股宽度用的是当前成分名单,早年缺少已被剔除的股票,存在幸存者偏差;推断会让早年的宽度略偏高。
- 沪深300 的 R1 回测从 2016-03 起(门控需要全 A 宽度),无法检验 2015 年股灾。
- 轮动在海外池的“靠黄金”结论是单一样本里的观察,对时期敏感。
数据与已知局限
- 港股数据来自 Yahoo,偶尔出现“有成交量但收盘价为空”的日子,流水线会丢弃该日并标为过期,而不是用半截数据。
- 美股当日盘中数据不会被使用;只写已收盘交易日。
- 回测不计现金利息(美股 2023 年后空仓时的短债收益约 4–5%),门控版本的真实表现会略好于表中。
- 本站的“过期”判断只看工作日,不识别各地假日:休市日可能显示“落后 1 个工作日”。
发布清单(manifest)
数据发布时间:2026-10-24T07:02:59+08:00;各市场数据日:cn 2026-10-22,hk 2026-10-22,us 2026-10-23。
| 文件 | 数据日 | rule_hash | sha256 前 10 位 |
|---|---|---|---|
| market/cn.json | 2026-10-22 | b067921ebbd9 | dfd648e710 |
| market/hk.json | 2026-10-22 | ma200:5ea34c8e163a, r1:3f4f714563d7 | 95dcbd9bb9 |
| market/us.json | 2026-10-23 | ma200:5ea34c8e163a, r1:3f4f714563d7 | 2d1a806dee |
| market/us_qqq.json | 2026-10-23 | ma200:5ea34c8e163a, r1:3f4f714563d7 | dfb74f8a78 |
| rotation/cn_site.json | 2026-10-23 | cc18094f598f | cc6061a811 |
| rotation/hk_etf.json | 2026-10-22 | e82855bb78f1 | 3c97074492 |
| rotation/us_sectors.json | 2026-10-23 | b1dd791f1632 | 45eaaa4b4f |
| rotation/us_site4.json | 2026-10-23 | 00cfd0c2c6bd | 7452e234eb |
平台分层
本站只负责最后一层
- 数据层:Parquet + DuckDB,读时复权
- 特征层:宽度 / 动量 / 均线(纯函数)
- 规则层:params.yaml + rule_hash,冻结已对数的变体
- 回测层:A股 T+1、涨跌停、整手;港美 T+0
- 发布层:JSON + manifest
- 展示层:本站(静态,不含任何 API 调用)
站点本身
纯静态页面,内联 SVG 图表,无脚本、无统计、无外部请求,不含任何账号或密钥。页面由 scripts/build_site.py 从 publish/out 的 JSON 生成;数据缺失或过期时降级显示提示,而不是报错。