第11章:保证金管理:初始保证金、维持保证金、动态保证金调整、跨市场保证金优化
11.1 保证金——做市商的命门
做市商这行,说白了就是「用钱生钱」的生意。但钱从哪来?大部分是借的。借来的钱就得有抵押,这个抵押就是保证金。
我见过太多团队,策略跑得漂亮,最后却栽在保证金上。有一次,一个朋友团队的回测年化做到40%,实盘两周就爆仓了。为什么?保证金没算对。市场一波动,交易所直接强平,连补救的机会都没有。
所以,保证金管理不是后台的杂活,它是做市商风控的命门。你想想看,策略再牛,保证金断了,一切归零。
11.2 初始保证金——入场的第一道门槛
初始保证金,就是你开仓时必须冻结的那笔钱。交易所用它来确保你有能力履约。
不同品种、不同交易所,算法差别很大。我习惯把它们分成三类:
- 固定比例法:比如合约价值的5%。简单粗暴,适合流动性好的主流币。
- 风险价值法(VaR):基于历史波动率算。更科学,但计算复杂。
- SPAN算法:芝加哥交易所那套,考虑组合对冲效果。嗯,这个最专业,但小团队玩不转。
我个人建议,初期先用固定比例法。别一上来就搞复杂模型,容易出bug。等跑顺了,再慢慢升级。
初始保证金 = 名义本金 × 保证金比例 × 风险系数
其中风险系数建议取1.2~1.5,给自己留点安全垫。
11.3 维持保证金——别等爆仓才后悔
维持保证金是底线。低于这个数,交易所会发预警,甚至直接强平。
这里有个坑:很多人以为维持保证金和初始保证金是固定的比例关系。其实不是。不同交易所的规则差异很大。
我曾经踩过一个雷:在某个二线交易所做BTC永续合约,维持保证金设的是初始的80%。结果市场一波动,系统直接按「标记价格」强平,而不是最新成交价。我账户里明明还有钱,却被强平了。后来一查,标记价格比市价低了2%。
1. 搞清楚交易所用的是「标记价格」还是「最新价」
2. 维持保证金最好留20%以上的缓冲
3. 别只看账户余额,要看「可用保证金」
11.4 动态保证金调整——让资金效率最大化
静态保证金太死板了。市场波动大的时候,保证金不够用;波动小的时候,资金又闲置。所以,我们需要动态调整。
我常用的策略是「波动率锚定法」:
def dynamic_margin(position_value, volatility, base_ratio=0.05):
"""
动态保证金计算
:param position_value: 持仓名义价值
:param volatility: 当前波动率(年化)
:param base_ratio: 基础保证金比例
"""
# 波动率越高,保证金比例越高
vol_adjust = min(volatility / 0.5, 2.0) # 上限2倍
margin_ratio = base_ratio * vol_adjust
# 加上流动性调整
if volatility > 1.0: # 极端行情
margin_ratio *= 1.5
return position_value * margin_ratio
这个逻辑很简单:波动率翻倍,保证金比例也翻倍。但要注意设上限,别让保证金吃掉所有利润。
我习惯每5分钟重新计算一次动态保证金。太频繁了浪费算力,太慢了反应不过来。5分钟是个不错的平衡点。
11.5 跨市场保证金优化——别让钱闲着
如果你同时在多个交易所做市,就会发现一个尴尬的事:每个交易所都要冻结一笔保证金。明明总仓位是平的,但资金却被分散锁死了。
跨市场保证金优化,就是解决这个问题的。核心思路是:用组合的方式计算总保证金,而不是简单相加。
举个例子:你在A交易所做多10个BTC,在B交易所做空10个BTC。单看每个交易所,都要交保证金。但整体来看,你的风险是0。理论上,总保证金应该远小于两倍。
我参与过一个项目,用「净头寸法」做优化:
def cross_margin_optimization(positions):
"""
跨市场保证金优化
:param positions: 各交易所持仓列表
"""
total_long = sum(p['size'] for p in positions if p['side'] == 'long')
total_short = sum(p['size'] for p in positions if p['side'] == 'short')
net_position = abs(total_long - total_short)
gross_position = total_long + total_short
# 对冲部分只用50%保证金
hedge_part = (gross_position - net_position) / 2
margin = net_position * 0.1 + hedge_part * 0.05
return margin
这个算法把对冲部分的保证金砍了一半。效果立竿见影,资金利用率提升了30%以上。
| 方案 | 保证金占用 | 资金利用率 |
|---|---|---|
| 独立计算 | 100% | 50% |
| 净头寸法 | 60% | 83% |
| 组合VaR法 | 45% | 110% |
11.6 知识体系总览
下面这张图,是我整理的本章节核心逻辑。你可以把它当成一个检查清单,每次做保证金管理时对照着看。
这张图把保证金管理拆成了四个维度。每个维度下面又有具体的实现方法。我个人建议,先从「初始保证金」和「维持保证金」入手,把基础打牢。等这两块跑稳了,再上「动态调整」和「跨市场优化」。
记住一句话:保证金管理不是省钱,是保命。省下来的钱可能变成利润,但保住的命能让你一直赚钱。