Files
ATRI-NOTES/ATRI My Dear Moments/questions/2026-09-22-回测口径:三把尺子.md
T

80 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-09-22 · 回测口径:三把尺子
**状态**:已结论 · 明日继续
**来源**:当晚与一位朋友的期货私聊(本机 130 条)
---
## 一、三把尺子
| # | 口径 | 做法 | 特点 |
|:---|:---|:---|:---|
| ① | **不复权拼接** | 按成交量逐日选主力,直接拼 | **保留换月跳空** → 凭空造出或抹掉一段损益 |
| ② | **后复权拼接** | 拼接后按比例调整 | 接近实盘但不精确;调整比例本身是"事后"信息 |
| ③ | **分段分合约** ✅ | **指标在每个合约自己的历史上计算**,不拼接 | **精确实盘口径**——换月时平旧开新,权益不变 |
**最终采用**:③。
---
## 二、一个关键结论:误差的**方向**取决于跳空的**方向**
- 若累计**向上**跳空 → ①不复权**虚高**(凭空多出利润);
- 若累计**向下**跳空 → ①不复权**虚低**(凭空吃掉利润)。
所以「不复权和后复权哪个更保守」**没有统一答案**——同一套策略,不同的品种会给出相反的方向。
本晚实测:一个品种累计向上跳、另一个累计向下跳,因此两版的差异一正一负,看起来"自相矛盾",实则是同一机制的两种表现。
---
## 三、当事人给出的两个标准反驳(都成立)
1. **「今天赚 1000,明天换月跳多 100,回测显示赚 1100,但我实际只赚了 1000 并换了个合约。」**
→ 直接戳破了我"后复权 = 实盘"的说法,**我当场收回**。
2. **「既然不复权浮盈更大,为什么后复权减小误差反而让盈利变多?」**
→ 抓住了上面第二节这个方向性问题的要害。
---
## 四、我自己犯的错(三次 + 一个 bug)
| # | 错误 | 性质 |
|:---|:---|:---|
| ① | 说「后复权 = 实盘」 | **表述不精确**,被对方用具体例子推翻 |
| ② | 把「样本只有 2 个品种」判为 ❌ | **忘了自己几天前做过 25 品种全品种检验**;被对方提醒后收回 |
| ③ | 报「中位净盈亏为负」 | **手工排序排错**,实际为正;CSV 里没有这一行,我自己排的 |
| ④ | 合约代码格式写错(4 位年 vs 2 位年) | **导致全部数据拉不到、跑不出结果**——根因级 bug |
---
## 五、核心结果(分段分合约口径)
- **稀释止损的目的达到了**:把本金放大后,止损触发总次数 **95 → 17(↓82%)**,某品种的最大回撤从「亏穿归零」显著改善;
→ **说明那 5% 止损在小本金下其实一直在"假装工作",真正管风险的应该是指标本身。**
- 横截面表现:正收益品种约六成,MAR 中位数在 0.1 附近,个别品种(玻璃等)显著突出。
- **定性**:不是「指标在某些品种上失效」,而是**原料不对**——**趋势指标是放大器不是引擎**:品种里有趋势就放大成利润,只有噪音就放大成亏损。
---
## 六、收尾时给出的框架结论
问:能不能给一套「全 A 的指标」?
答:**没有「全 A 的指标」,只有「全 A 的框架」。** 三环——品种筛选 / 策略 / 心理承受——后两环拿不到 A,而且**都不在指标内部**,所以不可能靠改公式解决。
---
## 七、明日待接(对方已说「明天弄吧」)
1. ★ 监控器补【合约代码 + 换月移仓】(否则止损价会一直错,且错得很隐蔽);
2. 加「数据日期与上次相同则跳过」,避免同日重复提醒;
3. 提醒里标注数据日期;
4. 手数改为波动率平价(现在只出现在提醒文字里,未真正生效)。
---
## 八、教训(可复用)
- **旧结论要复核**:我三次错误里,有两次是"凭记忆/凭手感"下判断(忘了自己做过什么、手排中位数);
- **遇到对方用反例反驳时,第一反应应当是核对而不是解释**——今晚两次都是对方对、我错;
- **尺子选错,后面的所有数字都白跑**:口径问题必须在动手前钉死,不能边跑边改。