数据新鲜度:A股:落后约 1 个工作日(可能是休市日,或数据管线尚未补齐)
入场观察 · 第四步:进场与撤退时机研究(不涉及选股)
进场/撤退时机:在开发期调出来的最优规则,到了没见过的 2022 年以后,只在 1/4 个市场过关;没调过参的 MA200 对照在 3/4 过关。
开发期与验证期的规则排名相关系数为 -0.25(越接近 +1 越说明“开发期好 = 验证期好”),没有可迁移性(甚至为负)。慢速的趋势类撤退比“精调”的止损/波动率规则更经得起样本外;进场侧没有找到可靠地优于“收盘站上 MA200”的规则。这是学习用的研究,不构成投资建议。
现在各市场处在什么状态
最新数据日 2026-10-23;规则版本 ma200_ref:164d410d9a8b,selected:1d7a612747dc
绿 = 持有(在场),红 = 空仓。“在场”时下面写的是离撤退条件还有多远,“空仓”时写的是离进场条件还有多远——只描述事实。状态路径从研究起点逐日推演,D 日收盘出信号、D+1 开盘执行;数据日之后的变化不会反映在这里。
进场规则与撤退规则
两条规则 + 对照;是怎么选出来的
- 开发期选出的规则:撤退 = 波动率分位≥90且<MA50;进场 = 自空仓低点反弹≥8%。(开发期四市场平均卡玛 0.64,验证期降到 0.27)
- MA200 对照(没调参):撤退 = 收盘 < MA200;进场 = 收盘 > MA200。
- R1 宽度闸门(原有):见方法说明。
- 预先声明的通过标准(看结果之前定的,三条全满足才算过):验证期最大回撤至少比买入持有浅 25%(即回撤深度 ≤ 买入持有的 75%);卡玛比(年化÷最大回撤)高于买入持有;年化收益至少保住买入持有的 50%(买入持有为负时,不比它更差)。
- 选规则的办法:24 个撤退规则 × 13 个进场规则 = 312 个组合,只在开发期里按“四个市场卡玛比平均值”排序,约束:平均在场时间 ≥ 40%、每年交易 ≤ 8 次(213 个组合合格)。验证期不参与选择。
- 执行:D 日收盘出信号,D+1 开盘成交;起点永远是“在场”(与买入持有同起点);撤退当天不会同日再进场。
样本外结果:开发期 vs 验证期,四个市场
开发期用来选,验证期只看一次;通过与否按上面预先写好的标准
开发期 = 各市场起点(2016-03-01 起算沪深300,其余 2015-01-02)→ 2021-12-31;验证期 = 2022-01-01 → 2026-10-22。同一条状态路径连续跑过切分点,切分点处不重置;成本:美股单边 0.05%,港股 / A股 0.1%;空仓不计利息。“交易次/年”= 买入与卖出的次数合计;“10日内打脸”= 撤退后 10 个交易日内又买回的次数。
哪些规则没过验证
过拟合的证据:开发期的冠军在验证期不是冠军
开发期里排第一的规则是“撤退:波动率分位≥90且<MA50 | 进场:自空仓低点反弹≥8%”,它在验证期只通过了 1/4 个市场,在 213 个合格组合里验证期排第 36。开发期的前 10 名在验证期整体下滑:
- 排名可迁移性:213 个合格组合里,开发期卡玛与验证期卡玛的 Spearman 相关 = -0.25(全部 312 个:-0.37)。负数意味着开发期里越“好”的组合,验证期里反而略差——这是过拟合的典型迹象,也可能是 2022 年以后的行情与 2015–2021 差别大。
- 验证期四市场全部通过的合格组合只有 4 个(共 213 个);通过 ≥3 个市场的有 31 个;一个市场都没通过的有 82 个。
事后观察(推断,未经检验)
下面 4 个组合在验证期四个市场都过关,但它们在开发期排名靠后,按流程不会被选中;把它们挑出来是看过验证结果之后的事,只能当作“下一批数据来了再检验”的假设,不能当作已验证的规则:
- 撤退:收盘<MA200连续3日 | 进场:突破60日高点:开发期排第 136(卡玛 0.35),验证卡玛 0.40,验证最大回撤 -18.5%
- 撤退:收盘<MA200连续3日 | 进场:突破120日高点:开发期排第 156(卡玛 0.33),验证卡玛 0.39,验证最大回撤 -16.5%
- 撤退:收盘<MA200 | 进场:突破120日高点:开发期排第 159(卡玛 0.33),验证卡玛 0.38,验证最大回撤 -15.6%
- 撤退:MA30下穿MA100 | 进场:突破120日高点:开发期排第 190(卡玛 0.28),验证卡玛 0.36,验证最大回撤 -15.4%
共同点:撤退用慢速的趋势线(收盘跌破 MA200、或 MA30 下穿 MA100),进场用“创新高”(突破 60/120 日高点)而不是“站上均线”。
按撤退规则家族:开发期最优的那个在验证期怎么样
按进场规则家族
“家族内平均通过市场数”看的是整个家族而不是单个冠军:家族平均越高,说明这类规则整体上更经得起样本外,而不是靠某个参数运气好。
换一种切法:逐年重新选规则(锚定前推)
另一种切法:每年年初只用此前的数据重新选一次规则,用来交易当年,把 2020–2026 的结果拼起来。一次固定切分可能碰巧好/坏,这个检验看的是“选规则的流程”本身。
7 年里换了 5 种不同的规则——流程选出的规则并不稳定,这本身就是证据:这类规则的“最优参数”靠不住。
下表三列用的是同一段 2020–2026,起点/终点相同,所以数字与上面验证期表不同。
稳健性:是运气还是真有东西
验证期:规则对比买入持有,差异有多大把握(块自助法 2000 次)与随机择时对照
随机择时 = 把规则的在场/空仓路径整体循环平移(保持在场比例与换手结构)1000 次,看真实路径在其中排第几。0.5 ≈ 与随机无异;常用的“显著”线是 0.95。块自助法保留 21 日内的相关性,但会低估长周期回撤,所以“概率”只是粗略参考。
- 在“卡玛”和“回撤”两项上同时胜过 95% 随机择时路径的市场数——选出规则:0/4;MA200:0/4。验证期只有约 4.8 年、主要是一个行情阶段,统计功效本来就很弱,“不显著”≠“没用”,只是证据不够。
参数邻域:选出规则(撤退:波动率分位≥90且<MA50 | 进场:自空仓低点反弹≥8%)的相邻参数
相邻参数的开发卡玛 0.51 / 0.42 / 0.49,选中的是 0.64:冠军与邻居的差距越大,越说明“最优”里有参数运气。
补充:沪深300 2005–2014(规则完全没见过的更早年代)
开发期规则从没见过 2005–2014 年的沪深300(含 2008 年大熊市)。纯价格规则可以直接拿来检验(不含需要宽度数据的规则):
2005-04-08 → 2014-12-31;网格里 230 个纯价格组合中 166 个通过——2008 年这种单边大熊市里,多数“跌破就走”的规则都显得有效,所以这段是“压力测试”,不是区分规则优劣的证据。纯价格规则;沪深300 指数 2005-04 才正式发布,之前为回算,本检验从 2005-04-08 起算。
大回撤事件:撤退省下了什么,又错过了什么
买入持有跌过 ≥15% 的每一段:规则在“下跌期间”少亏了多少,以及“低点后 6 个月”错过了多少反弹。独立的大回撤事件很少,所以这是描述,不是统计检验。
沪深300
港股 2800.HK
标普500 SPY
纳指100 QQQ
图:净值与在场区间
对数轴;淡紫色 = 验证期
沪深300:净值(对数轴,起点=1)
买入持有选出规则MA200R1闸门
淡紫色背景 = 验证期。下方色条:绿 = 在场,红 = 空仓。
港股 2800.HK:净值(对数轴,起点=1)
买入持有选出规则MA200R1闸门
淡紫色背景 = 验证期。下方色条:绿 = 在场,红 = 空仓。
标普500 SPY:净值(对数轴,起点=1)
买入持有选出规则MA200R1闸门
淡紫色背景 = 验证期。下方色条:绿 = 在场,红 = 空仓。
纳指100 QQQ:净值(对数轴,起点=1)
买入持有选出规则MA200R1闸门
淡紫色背景 = 验证期。下方色条:绿 = 在场,红 = 空仓。
逐年收益(选出规则 vs 买入持有)
沪深300
| 年 | 买入持有 | 选出规则 | 规则在场 |
|---|
| 2016 | 15.0% | 14.8% | 100% |
| 2017 | 21.8% | 21.8% | 100% |
| 2018 | -25.3% | -5.6% | 13% |
| 2019 | 36.1% | 18.7% | 75% |
| 2020 | 27.2% | 20.1% | 80% |
| 2021 | -5.2% | -5.2% | 100% |
| 2022 | -21.6% | -18.9% | 80% |
| 2023 | -11.4% | -11.4% | 100% |
| 2024 | 14.7% | 14.7% | 100% |
| 2025 | 17.7% | 7.9% | 91% |
| 2026 | -12.8% | 3.8% | 61% |
港股 2800.HK
| 年 | 买入持有 | 选出规则 | 规则在场 |
|---|
| 2015 | -4.4% | 8.0% | 51% |
| 2016 | 3.4% | 12.8% | 84% |
| 2017 | 40.5% | 40.5% | 100% |
| 2018 | -10.1% | -14.1% | 52% |
| 2019 | 13.4% | 4.5% | 95% |
| 2020 | -1.3% | -1.2% | 62% |
| 2021 | -11.8% | -5.6% | 38% |
| 2022 | -11.9% | 2.3% | 63% |
| 2023 | -10.6% | -10.6% | 100% |
| 2024 | 21.9% | 21.9% | 100% |
| 2025 | 33.1% | 4.4% | 83% |
| 2026 | -8.8% | -8.8% | 100% |
标普500 SPY
| 年 | 买入持有 | 选出规则 | 规则在场 |
|---|
| 2015 | 1.2% | -0.2% | 30% |
| 2016 | 12.0% | 15.4% | 84% |
| 2017 | 21.7% | 21.7% | 100% |
| 2018 | -4.6% | -5.5% | 47% |
| 2019 | 31.2% | 10.3% | 68% |
| 2020 | 18.3% | 18.8% | 79% |
| 2021 | 28.7% | 28.7% | 100% |
| 2022 | -18.2% | -18.1% | 71% |
| 2023 | 26.2% | 26.2% | 100% |
| 2024 | 24.9% | 24.9% | 100% |
| 2025 | 17.7% | 21.1% | 71% |
| 2026 | 12.9% | 12.9% | 100% |
纳指100 QQQ
| 年 | 买入持有 | 选出规则 | 规则在场 |
|---|
| 2015 | 9.4% | -4.9% | 85% |
| 2016 | 7.1% | 11.4% | 85% |
| 2017 | 32.7% | 32.7% | 100% |
| 2018 | -0.1% | -6.3% | 61% |
| 2019 | 39.0% | 27.5% | 91% |
| 2020 | 48.4% | 44.6% | 85% |
| 2021 | 27.4% | 27.4% | 100% |
| 2022 | -32.6% | -23.3% | 61% |
| 2023 | 54.9% | 54.9% | 100% |
| 2024 | 25.6% | 19.8% | 88% |
| 2025 | 20.8% | 10.4% | 82% |
| 2026 | 15.1% | 11.6% | 90% |
数据缺口与没做的事
- A 股只有 2016-03 起的研究区间:全 A 宽度数据 2016-01 才开始,宽度类规则需要预热,所以沪深300 不含 2015 年股灾;补充检验只用纯价格规则(见上)。沪深300 的研究冻结在 2026-10-22(宽度的最后有效日)。
- 港美股宽度用当前成分名单,早年缺已被剔除的股票(幸存者偏差);只影响用宽度的规则(R1、宽度推力、R1 进场)。
- 只有收盘价和开盘价:没有最高/最低价,所以没有测 ATR 之类的波幅止损;“自高点回撤”用收盘价高点。
- 没有测:分级/半仓回场、现金利息、税费、盘中止损。空仓不计利息会让撤退类规则的成绩略偏低(美股 2023 年后空仓有约 4–5% 的短债收益)。
- 慢速取数器仍在后台运行;本研究只用已入库的数据。更长的历史或新增数据到位后可以重跑(
experiments/entry_exit_timing.py,固定随机种子)。
已确认(有数据与测试支撑)
- 切分无泄漏:规则只在开发期里选;验证期只评估一次;有测试检查特征不含未来数据、信号 D 日出、D+1 开盘成交、成本被扣。
- 模拟器与回测引擎逐日一致(对照
backtest.engine)。 - 表中所有数字来自
data/research/timing_study.json,由 experiments/entry_exit_timing.py(种子固定)重现。
推断 / 局限(不能当结论)
- 验证期只有约 4.8 年,且主要是一个行情阶段;独立的大回撤事件很少,所以“通过 / 未通过”的置信度有限。
- MA200 在沪深300 上“通过”,部分是因为验证期买入持有本身是负收益(标准里年化只要不比它差)。
- 前推检验里每个候选规则的状态路径从研究起点连续算起(只依赖过去数据),所以逐年选择没有用到未来信息,但路径对起点有依赖。
- 这里只研究“什么时候在场”,不涉及选股;结论只对指数 / 大盘 ETF 这类标的成立,不能推广到个股。
附:规则网格
预先声明的全部网格(看数据之前定的,不回头改)
撤退规则
- 收盘<MA100
- 收盘<MA100连续3日
- 收盘<MA150
- 收盘<MA150连续3日
- 收盘<MA200
- 收盘<MA200连续3日
- 自高点回撤≥8%
- 自高点回撤≥10%
- 自高点回撤≥12%
- 自高点回撤≥15%
- 自高点回撤≥20%
- 自高点回撤≥8倍日波动(σ60)
- 自高点回撤≥12倍日波动(σ60)
- 自高点回撤≥16倍日波动(σ60)
- 跌破40日低点
- 跌破80日低点
- 跌破120日低点
- MA50下穿MA200
- MA30下穿MA100
- 波动率分位≥80且<MA50
- 波动率分位≥90且<MA50
- 宽度闸门R1
- 自高点回撤≥10% 或 收盘<MA200
- 自高点回撤≥15% 或 收盘<MA200
进场规则
- 收盘>MA50
- 收盘>MA100
- 收盘>MA200
- 突破60日高点
- 突破120日高点
- 自空仓低点反弹≥5%
- 自空仓低点反弹≥8%
- 自空仓低点反弹≥12%
- 20日低点抬高且>MA20
- 40日低点抬高且>MA40
- 宽度闸门R1
- 宽度推力(10日内≤30→≥55) 或 收盘>MA200
- 宽度推力(10日内≤40→≥65) 或 收盘>MA200