2. 仓位管理的核心目标:风险控制与收益最大化
仓位管理这东西,说白了就是回答一个问题:你准备拿多少钱去赌这次机会?
我做了这么多年跨市场套利,见过太多人把精力花在找策略、挖信号上。结果呢?策略对了,仓位没管好,一波回撤直接爆仓。嗯,这里要记住一个铁律:没有仓位管理的交易,就是在裸奔。
2.1 风险控制:活下去是第一要务
先聊风险控制。你想想看,跨市场套利最大的优势是什么?是低相关性、是均值回归。但低相关不代表零风险。我在项目中遇到过两次黑天鹅事件,一次是2015年股灾期间的期现套利,一次是2020年原油暴跌时的跨品种套利。两次都让我深刻明白一个道理:市场永远可以更疯狂。
核心原则:单笔最大亏损不超过总资金的1%-2%。这是底线,没有商量余地。
具体怎么控?我习惯用以下几个维度:
- 单笔仓位上限:总资金的5%-10%。别贪,一次梭哈是赌徒行为。
- 总敞口限制:所有套利头寸加起来,不超过总资金的60%。留点现金,关键时刻能救命。
- 杠杆倍数:跨市场套利一般用2-3倍杠杆。超过5倍?我建议你直接去买彩票。
- 止损线:每笔交易必须预设止损。别跟我说"再扛一扛",我见过扛到爆仓的。
⚠️ 我曾经犯过的错:有一次做股指期货和ETF的套利,觉得价差已经到历史极值了,就上了4倍杠杆。结果价差继续扩大,一天亏了总资金的8%。从那以后,我再也不在极端行情下加杠杆。
2.2 收益最大化:在风险可控的前提下追求复利
风险控制是刹车,收益最大化是油门。两者不矛盾。我个人的经验是:收益最大化不是靠一次暴赚,而是靠稳定的复利。
怎么做到?核心是凯利公式的变体应用。纯凯利公式在套利中不太适用,因为套利的胜率高但赔率低。我一般用半凯利或者固定比例法。
2.2.1 固定比例仓位模型
这是我用得最多的方法。简单说就是:根据账户净值动态调整仓位。
# 固定比例仓位计算示例
def calculate_position_size(account_value, risk_per_trade=0.01, stop_loss_pct=0.02):
"""
account_value: 当前账户净值
risk_per_trade: 单笔风险比例(1%)
stop_loss_pct: 止损幅度(2%)
"""
max_loss = account_value * risk_per_trade
position_size = max_loss / stop_loss_pct
return position_size
# 示例:账户100万,单笔风险1%,止损2%
position = calculate_position_size(1000000, 0.01, 0.02)
print(f"建议仓位:{position:.2f}元") # 输出:50000元
你看,这个模型很简单。但它的好处是:账户越大,仓位越大;账户缩水,仓位自动减小。这就是反脆弱性。
2.2.2 波动率调整仓位
另一个我常用的方法是根据波动率调整仓位。市场波动大的时候,仓位要小;波动小的时候,仓位可以大一些。
| 市场状态 | 波动率(年化) | 建议仓位比例 | 说明 |
|---|---|---|---|
| 低波动 | < 10% | 80%-100% | 套利机会稳定,可以重仓 |
| 中等波动 | 10%-20% | 50%-80% | 适当控制,留有余地 |
| 高波动 | 20%-30% | 30%-50% | 小心黑天鹅,轻仓为主 |
| 极端波动 | > 30% | 0%-20% | 观望或极小仓位试探 |
💡 个人小技巧:我习惯用ATR(平均真实波幅)来动态调整仓位。ATR越大,仓位越小。具体公式:仓位 = 总资金 × 风险比例 / (ATR × 合约乘数)。这样能保证每笔交易的风险敞口一致。
2.3 仓位优化的核心逻辑
仓位优化不是一次性的,而是动态调整的过程。我把它总结成三个步骤:
- 初始分配:根据策略的夏普比率和最大回撤,分配初始资金。
- 动态再平衡:每周或每月根据账户净值变化,重新计算仓位。
- 压力测试:模拟极端行情下的最大回撤,确保不会爆仓。
下面这张图是我自己总结的仓位管理决策流程,你可以参考一下:
2.4 实战中的仓位管理策略
理论说完了,聊聊实战。我常用的策略有几种:
2.4.1 等权重分配法
最简单的办法。每个套利对子分配相同的资金。比如你有5个策略,每个分20%。好处是简单,坏处是没考虑策略的优劣。
2.4.2 夏普比率加权法
根据每个策略的历史夏普比率来分配资金。夏普越高,仓位越大。我一般用这个公式:
# 夏普比率加权仓位
strategies = {
'期现套利': {'sharpe': 2.5, 'weight': 0},
'跨期套利': {'sharpe': 1.8, 'weight': 0},
'跨品种套利': {'sharpe': 1.2, 'weight': 0}
}
total_sharpe = sum(s['sharpe'] for s in strategies.values())
for name, s in strategies.items():
s['weight'] = s['sharpe'] / total_sharpe
print(f"{name}: {s['weight']*100:.1f}%")
2.4.3 风险平价法
这个更高级一点。核心思想是:让每个策略对总风险的贡献相等。风险高的策略仓位小,风险低的策略仓位大。我个人的经验是,风险平价法在跨市场套利中效果最好,因为它天然考虑了不同市场的波动差异。
核心公式:仓位比例 ∝ 1 / 波动率。波动率越大的品种,仓位越小。
2.5 避坑指南
最后,分享几个我踩过的坑:
- 不要逆势加仓。价差扩大时,很多人觉得"总会回归",结果越加越亏。我曾经在螺纹钢和热卷的套利上吃过这个亏,一天亏了15%。
- 不要忽视流动性。有些品种平时流动性很好,但极端行情下可能瞬间枯竭。仓位再大也出不来。
- 不要频繁调整仓位。我见过有人一天调三次仓位,手续费都亏没了。每周或每月调整一次就够了。
- 不要忘记相关性。两个看似独立的套利策略,可能在极端行情下同时亏损。记得做压力测试。
💡 我的习惯:每周五收盘后,我会花30分钟重新计算所有策略的仓位。用Excel或者Python脚本跑一遍,看看有没有需要调整的。这个习惯坚持了5年,帮我躲过了好几次大坑。
好了,仓位管理的核心目标就聊到这里。记住:风险控制是底线,收益最大化是目标。两者缺一不可。下一节我们会深入具体的仓位优化算法,包括如何用Python实现动态仓位管理。
公众号:蓝海资料掘金营,微信deep3321