第九章 风险控制与资金管理:最大回撤控制、凯利公式仓位管理、止损止盈设置、黑天鹅事件应对
做基差交易这么多年,我最大的感悟是什么?
活得久,比赚得快重要一万倍。
你策略再牛,回撤30%就扛不住了,一切归零。我见过太多人,策略胜率70%,最后却爆仓了。为什么?仓位太重,一次黑天鹅就带走。
这一章,咱们聊聊怎么活下来。核心就四个字:风险前置。
9.1 最大回撤控制:你的心理底线在哪?
最大回撤(Max Drawdown),说白了就是账户从最高点跌到最低点的幅度。我个人习惯,把它当作策略的「生命线」。
核心原则: 最大回撤必须与你的资金规模、杠杆倍数、策略胜率三者匹配。
举个例子。我有个策略,历史最大回撤是15%。那我怎么设风控线?
- 预警线: 回撤达到10%,减半仓,只留底仓。
- 止损线: 回撤达到15%,清仓,暂停交易一周。
- 硬止损线: 回撤达到20%,永久关闭策略,复盘。
你可能会问:「为什么设三层?」
嗯,这里要注意。黑天鹅往往不是一次来的,而是连续暴击。三层防线,就是给你三次纠错的机会。
避坑指南: 我曾经犯过一个错——把最大回撤设得太紧,比如5%。结果呢?市场稍微一波动就被止损,反复打脸。后来我改成15%,反而赚了。记住:回撤线要宽到能容纳正常波动,窄到能保护本金。
9.2 凯利公式仓位管理:别All in,科学下注
凯利公式,量化圈的老祖宗了。它的核心思想是:根据胜率和赔率,算出最优下注比例。
公式长这样:
f* = (bp - q) / b
其中:
f*= 最优仓位比例b= 赔率(盈亏比)p= 胜率q= 败率(1 - p)
举个例子。你的基差交易策略,胜率60%,盈亏比2:1。代入公式:
f* = (2 * 0.6 - 0.4) / 2 = 0.4
也就是说,每次最多用40%的资金去赌。
但说实话,我从来不用全凯利。为什么?因为凯利公式假设你每次下注都是独立事件,但金融市场不是。连续亏损时,全凯利会让你心态崩掉。
我的做法: 用半凯利,也就是把算出来的比例砍一半。比如上面算出来40%,我只用20%。这样既能享受复利,又不会在连续亏损时伤筋动骨。
代码实现也很简单:
def kelly_capital(win_rate, profit_loss_ratio, half=True):
"""
计算凯利仓位比例
:param win_rate: 胜率 (0-1)
:param profit_loss_ratio: 盈亏比
:param half: 是否使用半凯利
:return: 仓位比例
"""
b = profit_loss_ratio
p = win_rate
q = 1 - p
f = (b * p - q) / b
if half:
f = f / 2
return max(0, min(f, 1)) # 限制在0-1之间
# 示例
print(kelly_capital(0.6, 2.0, half=True)) # 输出: 0.2
9.3 止损止盈设置:让利润奔跑,截断亏损
止损止盈,听起来简单,做起来最难。为什么?因为人性。
我见过太多人,赚了5%就跑,亏了20%还死扛。结果呢?小赚大亏,账户慢慢缩水。
基差交易里,我常用的止损止盈方法有三种:
| 方法 | 适用场景 | 我的经验 |
|---|---|---|
| 固定比例止损 | 趋势明显时 | 设2%-3%的硬止损,不犹豫 |
| 移动止损(Trailing Stop) | 趋势跟踪时 | 用ATR(平均真实波幅)动态调整 |
| 时间止损 | 震荡行情 | 持仓超过3天不盈利,平仓 |
我个人最常用的是移动止损。举个例子:
def trailing_stop(current_price, entry_price, atr, multiplier=2):
"""
移动止损计算
:param current_price: 当前价格
:param entry_price: 入场价格
:param atr: 平均真实波幅
:param multiplier: 倍数
:return: 止损价格
"""
if current_price > entry_price: # 多头
stop_price = current_price - multiplier * atr
else: # 空头
stop_price = current_price + multiplier * atr
return stop_price
你想想看,这样设置的好处是什么?
行情涨,止损跟着涨;行情跌,止损跟着跌。利润能奔跑,亏损被截断。说白了,就是让市场帮你决定什么时候走。
注意: 止损不是设了就完事了。我建议每天开盘前检查一次,看看ATR有没有变化。如果波动率放大,止损要相应放宽,否则容易被扫出去。
9.4 黑天鹅事件应对:当极端行情来临时
黑天鹅,就是那些「不可能发生」却发生了的事。比如2020年原油期货跌到负值,2022年伦镍逼仓事件。
基差交易最怕什么?流动性枯竭。价差突然拉大,你平不了仓,只能眼睁睁看着亏损。
怎么应对?我总结了三条铁律:
- 永远不要满仓。 留20%的现金,专门应对黑天鹅。我管这叫「救命钱」。
- 多品种分散。 别只做单一品种的基差。比如同时做螺纹钢、铁矿石、焦炭,相关性低,一个出事,其他还能扛。
- 设置熔断机制。 单日亏损超过5%,强制停止交易,当天不再开新仓。
我曾经在2020年3月经历过一次。当时原油基差瞬间拉大到历史极值,我的账户回撤了8%。还好我留了20%现金,而且提前设了熔断。当天下午我就停了交易,第二天市场反弹,我反而抄底赚了一波。
核心思想: 黑天鹅不可预测,但可以管理。你不需要预测它什么时候来,只需要确保它来的时候,你还活着。
9.5 知识体系总览:一张图看懂风控逻辑
下面这张图,是我自己总结的风控体系。你看一眼,就能明白各个模块怎么配合。
这张图你看懂了吗?四个模块互相独立,又互相支撑。最大回控是底线,凯利公式是武器,止损止盈是战术,黑天鹅应对是保险。缺一不可。
最后说一句: 风控不是束缚,而是自由。当你不再担心爆仓,你才能真正专注于策略本身。记住:交易的第一课,不是怎么赚钱,而是怎么不亏钱。