预测已死,风控永生:海龟交易法则的工程学解构
来源:Top Traders Unplugged - Open Interest 10 (ft. Bill Eckhardt & Rob Sorrentino) 核心议题:海龟实验、现代系统化交易、风险控制的数学本质
大多数交易者终其一生都在犯同一个错误:试图扮演上帝。他们沉迷于“下一根K线往哪走”,似乎只要预测准确率从 51% 提升到 55%,财富自由就指日可待。
但在 Top Traders Unplugged 的这期对话中,Bill Eckhardt——海龟实验那个“负责数学与逻辑”的大脑——直接判了这种思维死刑。Bill 的观点冷酷而精确:预测是脆弱的,而风险控制是反脆弱的。
如果不理解这一点,你构建的不是交易系统,而是一个并不复杂的自杀机器。
本文不谈玄学,只谈工程。我们将拆解海龟法则中关于风控的底层逻辑,并剔除过时的噪音,提取出能直接嵌入你现代交易系统的“硬核模块”。
01. 理念层:承认你的无知
Bill 在节目中给出了一个令人不适的权重建议:将你对风险控制的重视程度,设定为对市场预测的 10 倍。
为什么?因为在数学上,只要时间拉得足够长,任何基于“预测”的优势都会被市场噪声稀释到接近 50/50。Bill 直言,即使是顶级系统,其方向判断的胜率往往也只有 51%~52%。
这意味着,你和扔硬币的猴子之间的唯一区别,不在于“猜对方向”,而在于:
- 猜错时,你被砍掉一根手指(小亏);
- 猜对时,你砍下市场一条腿(大赚);
- 甚至在猜的过程中,你永远不会因为单次赌注过大而被踢出牌桌。
核心结论:与其意淫“市场要去哪”,不如把代码写死——“无论市场去任何地方,我的系统将如何存活?”。这是先验的(a priori)风控,而非事后的补丁。
02. 规则层:海龟风控的硬骨架
海龟法则之所以成为经典,不是因为 Richard Dennis 赚了多少钱,而是因为 Bill Eckhardt 设计了一套将异构风险标准化的数学框架。
这套框架由三个核心组件构成,缺一不可。
组件 A:N (Volatility Normalization)
定义:N = ATR(20)
作用:度量市场的“体温”。
大多数新手还在用“固定手数”或“固定金额”开仓。这是极度危险的。一手玉米的波动风险和一手比特币的波动风险完全不在一个维度。
海龟引入 N(真实波幅均值),不仅是为了看波动,更是为了抹平品种间的差异。在海龟的系统里,没有“黄金”或“大豆”,只有“波动率单位”。
组件 B:Unit (标准化风险单位)
这是海龟系统的灵魂。Bill 设计了一个公式,让所有市场的 1 个 Unit 风险等同于账户权益的 1%。
公式模板(直接抄进你的代码):
f:你的风险偏好系数(海龟原始为 1%,现代建议 0.25% ~ 0.5%)。N:ATR(20)。Dollars Per Point:合约乘数。
工程意义:这个公式确保了无论你在交易日经指数还是糖,你的痛苦程度(Pain Level)是恒定的。你不再是被动接受市场的波动,而是主动定义了你能承受的波动。
组件 C:2N 硬止损 (The Hard Stop)
规则:价格触及反向 2N 距离,必须离场。无例外,无借口。
这不仅仅是一个止损位,它是与 Unit Size 严格耦合的。
- 因为
1N的波动1%的权益波动; - 所以
2N的止损2%的权益硬亏损(Hard Loss)。
Bill 的警告:止损是不可协商的(Non-negotiable)。他在节目中提到了巴林银行和 LTCM 的倒掉,本质上都是因为觉得“自己比市场聪明”,试图扛过波动。止损不是承认错误,而是系统维护成本。
03. 进阶层:动态风险管理 (Dynamic Constraint)
仅仅有开仓风控是不够的,你还需要处理“贪婪”和“黑天鹅”。
1. 赢家的诅咒:金字塔加仓与止损上移
很多人只学了海龟的“顺势加仓”,却忽略了配套的“总风险约束”。
- 加仓规则:价格有利方向每走
0.5N,加仓 1 Unit(上限 4 Units)。 - 风控规则(关键):每加仓一次,全仓止损位必须上移。
目的:确保即使你加到了满仓(4 Units),如果市场突然掉头,你的总亏损依然被锁定在初始风险预算附近(约 2%)。这叫用市场的钱玩(Free Roll)。如果只加仓不移止损,你不是在做趋势,你是在做马丁格尔自杀策略。
2. 也是一种相关性:暴露上限 (Exposure Limits)
不要以为你做多原油、燃油、天然气是在“分散投资”。在数学上,你只是做多了“能源贝塔”。 海龟的限制非常硬核:
- 单品种上限:4 Units
- 强相关市场(如黄金+白银)上限:6 Units
- 弱相关市场上限:10 Units
- 单方向(全多或全空)上限:12 Units
迁移指南:你的系统必须有一个Correlation Matrix(相关性矩阵)模块。如果两个标的相关性 > 0.7,它们就该共享同一个 Unit 上限配额。
3. 反脆弱机制:回撤降杠杆 (Deleveraging)
这是原始海龟法则中常被遗忘的一条,但在现代极其重要。 规则:当账户从高点回撤 X% 时,强制缩小计算仓位的权益基数。 例如:如果账户亏损 10%,后续开仓时,假设你的钱只剩现在的 80% 来计算 Unit Size。
逻辑:当你总是输的时候,说明现在是你的“逆风期”(Drawdown Regime)。这时候最愚蠢的做法就是想“一把翻本”。正确的做法是装死——缩小敞口,直到系统重新开始赚钱。
04. 现代视角:Bill Eckhardt 的新补丁 (The Modern Patch)
在 Open Interest 10 中,Bill 和 Rob 不仅回顾了历史,还指出了现代量化对海龟法则的修正。
1. 拒绝“目标波动率” (No Target Volatility)
现在很多基金流行 Target Volatility(不论市场如何,强行把组合波动率控制在固定值)。Bill 对此嗤之以鼻。 观点:在趋势强劲时,波动率往往会上升。如果你为了维持波动率恒定而减仓,你实际上是在最赚钱的时候主动止盈。这违背了“截断亏损,让利润奔跑”的核心公理。 修正:监控波动率,是为了防止爆仓,而不是为了把收益曲线熨平。
2. "Gauntlet":把系统送进地狱
ETC(Bill 的公司)开发了一套名为 "Gauntlet"(夹道刑罚)的测试系统。 理念:不要试图证明你的系统是好的,要试图证明它是坏的。
- 过拟合测试:如果参数稍微改动一点,业绩就崩塌,那这是垃圾。
- 鲁棒性测试:剔除表现最好的那一小段数据,系统还能活吗?
- 滑点与流动性:你的回测里只有单纯的价格。现实中,你买进去的那一刻,价格就被你买高了。必须把 Slippage 模型作为风控的一部分。
05. 落地清单:给你的系统装上这些模块
最后,别光看热闹。检查你的交易代码或规则手册,是否包含了以下模块。如果没有,请补全。
-
[基础] 波动率归一化模块:
- 是否用 ATR 或类似指标计算仓位?
- 现在的仓位计算是否保证了 1% 风险 = N 点波动?
-
[执行] 硬止损模块:
- 止损是否在开仓前就已计算完毕?
- 止损距离是否与仓位大小数学相关(如 2N)?
-
[组合] 暴露上限模块:
- 是否限制了单一品种的最大持仓?
- 是否识别了相关品种并限制了总持仓?
- 是否有全多头/全空头的最大限制?
-
[生存] 自动降杠杆模块:
- 当回撤达到 10%/20% 时,系统是否会自动缩小
f值(风险系数)?
- 当回撤达到 10%/20% 时,系统是否会自动缩小
-
[环境] 流动性过滤:
- 是否过滤掉了成交量过低、盘口太薄的品种?(Bill 警告:小品种的纸面回测是骗人的)。
结语
交易不是赌博,而是一场关于概率的资源管理游戏。Bill Eckhardt 在海龟实验中教会我们的,不是如何预测未来,而是如何构建一个即便在最坏的未来里也能生存的结构。
正如他所说:"Amateurs think about how much they can make. Professionals think about how much they can lose."
Keep it robust.