凯利公式在套利中的应用:如何计算最优仓位?实战中的修正方法
说到仓位管理,很多做套利的朋友第一反应就是「轻仓、分散」。这话没错,但太笼统了。你想想看,轻仓到底轻到什么程度?分散又该分多少份?
我个人习惯用凯利公式来算这笔账。它不是一个完美的工具,但至少给了我们一个数学上的锚点。今天我就把我在跨期套利中怎么用凯利公式、又怎么修正它的经验,摊开来跟你聊聊。
一、凯利公式的基本形态
先看最经典的版本。对于赌博或者单次下注的场景,凯利公式长这样:
f* = (bp - q) / b
其中:
- f* 是最优仓位比例(占你总资金的比例)
- b 是赔率(盈利时能赚多少倍)
- p 是胜率
- q 是败率,也就是 1-p
举个例子。假设你发现一个跨期套利机会,历史统计下来胜率是 65%,每次盈利平均能赚 2 个点,亏损平均亏 1 个点。那么赔率 b = 2/1 = 2。代入公式:
f* = (2 * 0.65 - 0.35) / 2 = (1.3 - 0.35) / 2 = 0.475
算出来是 47.5%。也就是说,按凯利公式,你应该拿总资金的 47.5% 去押这一笔。
二、套利场景的特殊性
跨期套利和赌博有个本质区别:赌博的每次下注是独立的,但套利的每次交易之间是有相关性的。你想想看,同一个品种的不同合约,价差走势会受到同样的基本面影响。今天做多近月空远月,明天可能还是同样的逻辑。
这就带来了一个问题:凯利公式假设每次下注是独立事件,但套利不是。所以直接套用公式,算出来的仓位会偏大。
我在项目中遇到过这样的情况:用凯利公式算出来仓位是 30%,结果连续三笔都盈利,第四笔一把亏回去,把前面赚的全吐了。原因就是那三笔盈利其实是在同一个趋势行情里,相关性很高,根本不是独立事件。
三、实战中的修正方法
那怎么办?我总结了三个修正方向,你可以根据自己的情况组合使用。
1. 分数凯利(Fractional Kelly)
这是最常用的方法。把算出来的 f* 乘以一个系数,比如 0.25 或 0.5。我个人习惯用 0.25,也就是四分之一凯利。
f_实际 = f* * 0.25
刚才那个例子,f* 是 47.5%,乘以 0.25 后得到 11.875%。这个数字就合理多了。你想想看,11% 的仓位,即使连续错几次,也不至于伤筋动骨。
2. 基于最大回撤的约束
凯利公式只考虑了长期增长率最大化,但它不管你的心理承受能力。所以我会加一个硬约束:单笔最大亏损不超过总资金的 2%。
具体做法是:
- 用凯利公式算出 f*
- 用 f* 乘以单笔止损幅度,得到预期亏损比例
- 如果这个亏损比例超过 2%,就降低仓位,直到亏损比例等于 2%
举个例子。假设你的止损是 1 个点,总资金 100 万。凯利算出来仓位是 20 手,每手亏损 1 个点就是 1 万,总亏损 20 万,占比 20%。这显然太高了。那就把仓位降到 2 手,亏损 2 万,占比 2%。
3. 动态调整:根据账户净值变化
凯利公式的另一个问题是它假设参数是固定的。但实战中,胜率和赔率会随着市场环境变化。所以我建议每两周或每个月重新计算一次参数。
具体做法:
- 用最近 60 个交易日的价差数据,重新统计胜率和赔率
- 如果胜率下降,仓位自动降低
- 如果波动率变大,止损幅度调宽,仓位相应减少
我曾经在 2022 年 6 月遇到过一次,螺纹钢的跨期价差突然变得非常不稳定,胜率从 70% 掉到了 55%。我及时把仓位从 15% 降到了 8%,躲过了一波连续止损。如果还按原来的参数做,那一个月可能要亏掉 10%。
四、一个完整的计算流程
说了这么多,我把它整理成一个流程图,方便你对照着用。
五、一个完整的计算示例
假设你做豆粕的跨期套利,近月和远月的价差历史数据如下:
| 参数 | 数值 | 说明 |
|---|---|---|
| 胜率 p | 0.68 | 过去 100 次交易中盈利 68 次 |
| 平均盈利 | 15 点 | 每手盈利 150 元 |
| 平均亏损 | 10 点 | 每手亏损 100 元 |
| 赔率 b | 1.5 | 15 / 10 |
| 总资金 | 50 万 | 账户总权益 |
第一步,算凯利:
f* = (1.5 * 0.68 - 0.32) / 1.5 = (1.02 - 0.32) / 1.5 = 0.4667
第二步,分数凯利(取 0.25):
f_实际 = 0.4667 * 0.25 = 0.1167 ≈ 11.67%
第三步,检查最大回撤。假设每手止损 10 点,即 100 元。11.67% 的仓位对应资金 58,350 元。按每手保证金 5000 元算,可以开 11 手。11 手止损一次亏 1100 元,占总资金 50 万的 0.22%,远低于 2% 的约束。所以这个仓位是安全的。
六、避坑指南
最后,分享几个我踩过的坑:
- 不要用全量历史数据算胜率。 我曾经用过去三年的数据算,结果市场结构变了,胜率直接从 70% 掉到 40%。建议只用最近 3-6 个月的数据。
- 注意滑点和手续费。 凯利公式里的盈利和亏损,一定要扣掉交易成本。不然算出来的仓位会偏大。我见过有人没算滑点,结果实际盈利比预期少了 20%。
- 不要频繁调整仓位。 凯利公式给出的是一个「最优」比例,但市场短期波动会让这个比例看起来不合理。我建议至少持仓 3 天以上再考虑调整,别被日内波动牵着走。
好了,关于凯利公式在套利中的应用,今天就聊到这里。记住,凯利公式是一个工具,不是圣杯。它帮你算出一个数学上的最优解,但最终用多少仓位,还得结合你的资金规模、心理承受能力和市场环境来定。嗯,这就是实战和理论的区别。