第三章 持仓限额管理:单合约持仓限额、净敞口限额、集中度限额、限额动态调整机制
做期权做市,说白了就是跟风险打交道。
我见过不少团队,策略模型跑得漂亮,希腊字母算得精准,结果栽在持仓限额上。为什么?因为限额管理看起来简单,做起来全是细节。今天咱们就聊聊这块。
3.1 单合约持仓限额
单合约持仓限额,是最基础的一道防线。它限制你在某个具体合约上最多能持有多少头寸。
为什么要设这个?
你想啊,万一某个合约流动性突然枯竭,或者出现极端行情,你手里攥着大把仓位,想跑都跑不掉。我在2015年股灾时就遇到过这种情况——某只ETF期权深度虚值合约,平时一天成交几百张,结果那天波动率飙升,我手里2000张单子挂了半小时都没平掉。
怎么设?
我个人习惯,单合约持仓限额主要看两个维度:
- 合约流动性:日均成交量、买卖价差、盘口深度
- 账户资本金:单合约最大亏损不能超过账户净资本的某个比例
举个例子:
# 单合约持仓限额计算示例
def calc_single_contract_limit(avg_volume, spread, account_capital):
# 流动性因子:日均成交量 * 0.1
volume_limit = avg_volume * 0.1
# 资本金因子:账户净资本 * 0.5% / 合约面值
capital_limit = account_capital * 0.005 / contract_notional
# 取较小值
final_limit = min(volume_limit, capital_limit)
return final_limit
3.2 净敞口限额
净敞口限额,管的是方向性风险。说白了,就是你的Delta、Gamma这些希腊字母不能太大。
为什么重要?
你想想看,如果市场突然大涨,你手里净Delta敞口是负的,那亏起来可没底。我记得2018年2月那次波动率事件,很多做市商就是因为净敞口没控制好,一天亏掉几个月的利润。
怎么管?
净敞口限额通常分两层:
- Delta限额:按标的资产市值的一定比例设定。比如,沪深300ETF期权,净Delta敞口不超过500万市值。
- Gamma限额:Gamma代表Delta的变化速度。Gamma太大,意味着行情稍微一动,你的Delta就剧烈变化。我一般把Gamma限额设成Delta限额的1/10。
| 希腊字母 | 限额设定逻辑 | 示例(沪深300ETF期权) |
|---|---|---|
| Delta | 账户净资本的10%-20% | 净资本1亿 → Delta限额1000万-2000万 |
| Gamma | Delta限额的1/10 | Delta限额1000万 → Gamma限额100万 |
| Vega | 按波动率变动1%的盈亏设定 | 波动率变动1%亏损不超过50万 |
3.3 集中度限额
集中度限额,防止你把鸡蛋放在一个篮子里。
核心逻辑:
- 标的集中度:同一标的的所有期权合约,总风险敞口不能超过某个比例
- 行业集中度:同一行业的标的,合计敞口也要控制
- 策略集中度:不能全是做多波动率,也不能全是做空波动率
我见过最惨的案例:有个团队专门做某个冷门ETF的期权,持仓占市场总持仓的30%。结果那个ETF突然停牌,复牌后直接跌停,他们想对冲都找不到对手盘。嗯,这就是集中度风险。
实操建议:
# 集中度检查函数
def check_concentration(positions, limits):
# 按标的汇总
by_underlying = positions.groupby('underlying')['delta'].sum()
# 检查是否超限
for underlying, delta in by_underlying.items():
if abs(delta) > limits['underlying_max_delta']:
print(f"警告:{underlying} 集中度超限!")
# 触发减仓或对冲
reduce_position(underlying)
# 按行业汇总
by_sector = positions.groupby('sector')['delta'].sum()
for sector, delta in by_sector.items():
if abs(delta) > limits['sector_max_delta']:
print(f"警告:{sector} 行业集中度超限!")
3.4 限额动态调整机制
限额不是设好就不管了。市场在变,你的限额也得跟着变。
什么时候调?
- 市场波动率变化:波动率飙升时,所有限额应该收窄。因为同样的头寸,风险变大了。
- 账户盈亏变化:亏钱了,限额自动缩小;赚钱了,可以适当放宽。
- 流动性变化:某个合约突然缩量,限额要立刻下调。
怎么调?
我习惯用一套打分卡来做动态调整:
| 因子 | 权重 | 打分规则 |
|---|---|---|
| 隐含波动率百分位 | 30% | 高于90%分位 → 限额打8折;低于10%分位 → 限额打9折 |
| 账户回撤 | 30% | 回撤超过5% → 限额打7折;超过10% → 限额打5折 |
| 市场成交量 | 20% | 成交量低于5日均值50% → 限额打6折 |
| 到期日临近 | 20% | 距到期日小于3天 → 限额打5折 |
核心原则:限额调整要自动化,不能靠人工拍脑袋。我见过太多人,赚钱时觉得限额不够用,亏钱时又后悔没设限额。让系统替你管,别让情绪替你管。
3.5 知识体系总览
下面这张图,把持仓限额管理的核心逻辑串起来了:
这张图你看懂了吗?四个维度不是孤立的。单合约限额管的是微观,净敞口限额管的是方向,集中度限额管的是分散,动态调整让所有限额都活起来。缺一个,你的风控体系就有漏洞。
公众号:蓝海资料掘金营,微信deep3321