从几何增长到仓位:R、风险比例与分数凯利
内容持续修订,过时部分会及时剔除
知道正期望,只解决了“做不做”;仓位才决定“活不活、长多快”。仓位太小,复利像蜗牛;仓位太大,一次逆风就出局。
承接上文:几何平均最大化只给出理论上界;满凯利的回撤通常远超可承受范围,所以最终仓位要按自己的回撤容错往下压。
先读提示:如果还不清楚几何平均、伯努利和凯利为什么这样定比例,先看几何平均是什么和从伯努利到凯利;本文负责把比例换算成 R、止损距离和手数。
1. 仓位不是“买几手”的感觉,是一道除法:风险预算 ÷ 每手风险。
2. 先定止损,再算手数;止损越宽,手数必须越少。
3. 单笔、组合、账户三层预算同时成立,仓位才算合格。
一、仓位同时放大增长和破产
同一套策略,用不同仓位执行,长期结果可能相差一个数量级。原因不神秘:
- 仓位太小:每次赚一点,增长缓慢,交易成本占比反而更高。
- 仓位适中:几何增长为正,回撤在可承受范围内,复利能持续。
- 仓位过大:算术期望仍然为正,但几何增长可能转负,一次极端行情就归零。
几何增长和仓位的关系不是“越大越好”,而是一条先升后降的曲线。越过某个点之后,多下的注只会增加破产概率,不会增加长期收益。
不是单次赚最多,而是让几何平均收益最大化,同时把回撤留在账户能承受的范围内。
满凯利只是理论上界,实际下注要刻意低于它,为参数估错和运气逆风留出容错。
二、用 R 统一计量:先定止损,再算手数
仓位不是“买几手”的感觉,而是一道除法:
每手风险 = 止损距离 × 合约乘数
可开手数 = 账户单笔风险预算 ÷ 每手风险
其中单笔风险预算 = 账户权益 × 单笔风险比例。
账户 100 万元,单笔风险预算 0.5%,即 5,000 元。
合约乘数 10 元/点。
止损 50 点:每手风险 = 50 × 10 = 500 元,可开 10 手。
止损 100 点:每手风险 = 100 × 10 = 1,000 元,可开 5 手。
止损越远,手数必须越小;不是反过来“为了多做几手,把止损放宽”。先定失效条件,再让仓位服从它,这个顺序不能颠倒。
用 R 计量后,不同品种、不同合约都能放在同一张表里比较:单笔亏 1R、赚 2R,和具体价格无关。统计交易记录时也只看 R,避免被“这手赚了三千、那手亏了两千”的表面数字干扰。
一个完整的下单算例
账户 50 万元,单笔风险预算 0.5%,即 2500 元。
合约乘数 10 元/点,止损距离 40 点,每手风险 = 40 × 10 = 400 元。
理论手数 = 2500 ÷ 400 = 6.25 手,向下取整 6 手。
再把滑点算进去:按 45 点算,每手 450 元,可做 5 手。
最后检查保证金:5 手占用的保证金,是否给账户留出了足够缓冲?
这个顺序里,任何一个数字变了,手数都会变。止损放宽、滑点变大、保证金上调,手数都应该往下走。先算再下单,不要先开了仓再补理由。
三、凯利公式:只当上界,不当目标
凯利公式回答的是:在已知胜率和赔率时,下注比例多少能让长期几何增长最大。二元赌局的常见形式是:
f* = (b × p − q) ÷ b
b = 盈亏比,p = 胜率,q = 1 − p。
连续收益近似下,最优比例约为 f* = 超额收益 ÷ 方差。
它有用,但有两个致命前提:概率和赔率必须估得准,而且分布不能出现没被样本覆盖的极端值。现实中这两个前提都靠不住:
- 胜率和盈亏比来自历史样本,本身就带误差。
- 肥尾行情会打破历史分布,一次跳空可以远超“最大回撤”。
- 满凯利对参数误差极其敏感,估偏一点,回撤就会明显放大。
把满凯利当成“应该下的仓位”,等于把理论最优当成现实答案。本站只把它当上界:实际通常取四分之一到二分之一,甚至更低,具体取决于参数可靠性、波动率和账户回撤容错。
索普在赌场和市场中反复强调的,不是“算出凯利就满仓”,而是先确认优势真实存在,再用远低于理论上界的方式下注,确保自己能长期留在牌桌上。这里据其相关论述意译,不当作精确引文。
四、波动率目标:让风险恒定,而不是手数恒定
同样 10 手,在低波动时可能很安全,在高波动时可能一夜爆仓。更稳健的做法是让每笔的预期风险大致恒定:
手数 ∝ 账户风险预算 ÷(ATR 或波动率 × 合约乘数)
波动率翻倍时,手数大致减半;波动率下降时,才允许逐步恢复。
这不是预测行情,而是承认风险会变。波动率目标能减少“波动放大时仓位被动变大”的问题,但它不防跳空,也不保证止损一定成交,仍需止损、期权或降杠杆配合。
五、三层约束:单笔、组合、账户
算出手数只是第一层。真正决定生存的是三层预算同时成立:
| 层级 | 约束 | 要回答的问题 |
|---|---|---|
| 单笔 | 单笔风险占权益 0.25%–1% | 这一笔错了,我亏多少? |
| 组合 | 总 heat 占权益 3%–6% | 所有持仓同时到止损,我亏多少? |
| 账户 | 日/周/月回撤熔断 | 连续亏损到什么程度必须停手? |
数字只是示例,不是教条。杠杆高、波动大、资金有使用期限的账户应更保守。组合 heat 与回撤熔断的完整写法见风险预算与回撤熔断;如何度量敞口和相关性见风险度量。
六、什么时候必须主动降仓
仓位不是算完就固定不变。以下情况应主动压低风险,而不是等市场来提醒:
- 参数不可靠:新策略、小样本、刚换品种,先用更小的风险预算跑。
- 事件临近:重要数据、议息、交割、长假前,跳空和流动性风险上升。
- 相关性升高:多个持仓看似分散,实际押注同一个宏观因子。
- 流动性变差:盘口薄、点差大,止损滑点会放大真实亏损。
- 账户处于回撤中:熔断规则触发就降仓或停手,不靠“加倍赚回来”。
- 自己状态不稳:睡眠不足、情绪化、连续盯盘,都会让执行变形。
连续亏损时,仓位怎么降
| 账户从高点回撤 | 单笔风险预算 | 动作 |
|---|---|---|
| 0%–5% | 正常(如 0.5%) | 照规则做 |
| 5%–10% | 减半(如 0.25%) | 只做最熟的信号 |
| 10%–15% | 再减半(如 0.125%) | 降低频率,等状态恢复 |
| 超过 15% | 0 | 停机复盘,改规则后再开 |
这张表不是让你“亏了就跑”,而是防止在逆风期把本金打光。回撤越大,下注越小;等账户回到新高,再按规则恢复。别用“加倍赚回来”对抗概率。
七、一张仓位计算卡
1. 账户权益是多少?本次允许亏多少百分比?
2. 这笔交易的失效条件在哪里?止损距离多少?
3. 每手风险 = 止损距离 × 合约乘数,算出来是多少?
4. 可开手数 = 风险预算 ÷ 每手风险,结果是多少?
5. 加上现有持仓后,组合 heat 有没有超限?相关性是否集中?
6. 如果跳空、停板或流动性消失,最大亏损会变成多少?
7. 把止损价、最大亏损和触发后的动作写下来,再下单。
三个常见问题
“账户小,一手保证金都不够怎么办?”换保证金更小的品种,降低交易频率,或者先用模拟盘把规则跑熟。不要借钱、不要满仓硬上,小账户最输不起的是“被迫出局”。
“止损距离到底怎么定?”先看结构:跌到哪里,你的判断就算错了;再看波动:正常波动会不会轻易打到。两者取一个合理位置,再用金额预算倒推手数。不要先决定做几手,再反推止损。
“算出来 6.25 手,能做 6.25 手吗?”不能,合约是整数。一般向下取整做 6 手;如果算出来不到 1 手,就说明这笔交易对你现在的账户来说太大,应该换品种或不做。
八、总结
1. 仓位决定几何增长,也决定破产概率,不是越大越好。
2. 用 R 统一计量,先定止损,再用风险预算倒推手数。
3. 凯利公式只是理论上界,实战用分数凯利,并留出参数误差。
4. 用波动率目标让风险恒定,但不要把它当成防跳空的保险。
5. 单笔、组合、账户三层约束必须同时成立。
6. 参数不可靠、事件临近、相关性升高时,主动降仓。
仓位确定后,下一章先处理更底层的问题:即使期望和比例都算对了,账户能不能活到优势兑现?以及肥尾之下,概率估计还剩下多少可信度?
“仓位不是‘敢不敢’的问题,是‘算不算得出来’的问题。先定 1R,再倒推手数;算不出来,就不该下单。”