Utopia
·Writings

预测已死,风控永生:海龟交易法则的工程学解构

来源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%

这意味着,你和扔硬币的猴子之间的唯一区别,不在于“猜对方向”,而在于:

  1. 猜错时,你被砍掉一根手指(小亏);
  2. 猜对时,你砍下市场一条腿(大赚);
  3. 甚至在猜的过程中,你永远不会因为单次赌注过大而被踢出牌桌。

核心结论:与其意淫“市场要去哪”,不如把代码写死——“无论市场去任何地方,我的系统将如何存活?”。这是先验的(a priori)风控,而非事后的补丁。

02. 规则层:海龟风控的硬骨架

海龟法则之所以成为经典,不是因为 Richard Dennis 赚了多少钱,而是因为 Bill Eckhardt 设计了一套将异构风险标准化的数学框架。

这套框架由三个核心组件构成,缺一不可。

组件 A:N (Volatility Normalization)

定义N = ATR(20) 作用:度量市场的“体温”。

大多数新手还在用“固定手数”或“固定金额”开仓。这是极度危险的。一手玉米的波动风险和一手比特币的波动风险完全不在一个维度。 海龟引入 N(真实波幅均值),不仅是为了看波动,更是为了抹平品种间的差异。在海龟的系统里,没有“黄金”或“大豆”,只有“波动率单位”。

组件 B:Unit (标准化风险单位)

这是海龟系统的灵魂。Bill 设计了一个公式,让所有市场的 1 个 Unit 风险等同于账户权益的 1%

公式模板(直接抄进你的代码):

Unit Size=Account Equity×fN×Dollars Per Point\text{Unit Size} = \lfloor \frac{\text{Account Equity} \times f}{N \times \text{Dollars Per Point}} \rfloor

  • f:你的风险偏好系数(海龟原始为 1%,现代建议 0.25% ~ 0.5%)。
  • N:ATR(20)。
  • Dollars Per Point:合约乘数。

工程意义:这个公式确保了无论你在交易日经指数还是糖,你的痛苦程度(Pain Level)是恒定的。你不再是被动接受市场的波动,而是主动定义了你能承受的波动。

组件 C:2N 硬止损 (The Hard Stop)

规则:价格触及反向 2N 距离,必须离场。无例外,无借口。

这不仅仅是一个止损位,它是与 Unit Size 严格耦合的。

  • 因为 1N 的波动 \approx 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. 落地清单:给你的系统装上这些模块

最后,别光看热闹。检查你的交易代码或规则手册,是否包含了以下模块。如果没有,请补全。

  1. [基础] 波动率归一化模块

    • 是否用 ATR 或类似指标计算仓位?
    • 现在的仓位计算是否保证了 1% 风险 = N 点波动?
  2. [执行] 硬止损模块

    • 止损是否在开仓前就已计算完毕?
    • 止损距离是否与仓位大小数学相关(如 2N)?
  3. [组合] 暴露上限模块

    • 是否限制了单一品种的最大持仓?
    • 是否识别了相关品种并限制了总持仓?
    • 是否有全多头/全空头的最大限制?
  4. [生存] 自动降杠杆模块

    • 当回撤达到 10%/20% 时,系统是否会自动缩小 f 值(风险系数)?
  5. [环境] 流动性过滤

    • 是否过滤掉了成交量过低、盘口太薄的品种?(Bill 警告:小品种的纸面回测是骗人的)。

结语

交易不是赌博,而是一场关于概率的资源管理游戏。Bill Eckhardt 在海龟实验中教会我们的,不是如何预测未来,而是如何构建一个即便在最坏的未来里也能生存的结构。

正如他所说:"Amateurs think about how much they can make. Professionals think about how much they can lose."

Keep it robust.