组合保证金
Dederi 使用 组合保证金 (portfolio margin) 来进行策略层级的风险控制。为精确评估组合保证金的最大潜在损失,我们考虑了两个关键因素:期货价格的 ±15% 波动幅度及期权隐含波动率的最大变动幅度。此外,我们引入了 期货应急调整保证金 (future contingency) 和 期权应急调整保证金 (option contingency),以应对流动性冲击带来的风险。
期货模拟盈亏与应急调整保证金
期货模拟盈亏
假设到期日为 Ti 的期货 i 的标记价格为 FTi,当前仓位是 Qi,Δk 是价格波动集合 Ω (PriceShockRange) 的一个场景,期货模拟盈亏 (FutureSimPnL) 的计算公式如下:
FutureSimPnLk=i∑[Qi(FTi(1+Δk))−QiFTi]=Δki∑QiFTi
期货应急调整保证金
期货应急调整保证金 (FutureContingency) 的设置考虑到交易可能对市场流动性产生的负面影响。特别是对于大仓位的交易者而言,交易带来的流动性冲击尤为显著。通过将期货应急调整保证金纳入保证金的计算,可以有效减轻因交易导致的流动性变化引起的潜在风险。假设当前指数价格为 I0,上述期货的应急调整保证金计算公式如下:
FutureContingency=FutureContingencyFactor⋅I0⋅i=1∑N∣Qi∣
示例
Alice 持有 10 份 ETH-10JAN24 期货多头头寸,当前价格为
I0=2243.3,年化基准利率
ABR=0.08:
F0=2243.3⋅e0.08⋅(20/365)=2253.2 FutureContingency=0.006⋅2243.3⋅10=134.6 模拟盈亏表:
Price Shock | -15% | -12% | -9% | -6% | -3% | 0% | 3% | 6% | 9% | 12% | 15% |
---|
PnL | -3380 | -2704 | -2028 | -1352 | -676 | 0 | 676 | 1352 | 2028 | 2704 | 3380 |
期权模拟盈亏与应急调整保证金
期权模拟盈亏
假设当前时间为 t,期权 i 的行权价和到期时间分别为 Ki 和 Ti,相同到期日的标的期货价格为 FTi。期货价格在 ±15% 范围内波动的情况可表示为:
FkTi=(1+Δk)FTi
对于隐含波动率,我们考虑上升、持平、下降三个场景,具体通过计算不同场景下对应的 MaxIVChange 得到:
MaxIVChangeup=(Tdays30)VPower⋅UpFactor
MaxIVChangedown=(Tdays30)VPower⋅DownFactor
其中 Tdays 为期权剩余到期天数。如果 Tdays 大于 30,VPower 将会被设置为 LongTermVPower; 相反,如果 Tdays 小于等于 30, VPower 将会被设置为 ShortTermVPower。
假设期权 i 当前对应的隐含波动率为σi,在使用 MaxIVChange 对当前的隐含波动率进行调整后,我们能得到对应上升、持平、下降三种场景下调整后的隐含波动率,即:
σidown=σi(1−MaxIVChangedown),σisame=σi,σiup=σi(1+MaxIVChangeup)
将参数集合 FTi,σi,Ti,t,Ki,r 带入 Black-76 模型可得到当前市场条件下不同期权类型(看涨/看跌)和不同行权价对应的初始期权价格。通过代入不同的期货价格和波动率组合至 Black-76 模型,可计算出 33 个期权价格(11 个 Δk⋅3 种情景)。将这些价格分别与相应类型和行权价的初始期权价格求差,即得到期权模拟盈亏 (OptionSimPnL)。具体算法如下:
OptionSimPnLkup=i=1∑N[Qi(V(FkTi,σiup,Ti,t,Ki,r)−V(FTi,σi,Ti,t,Ki,r))]
OptionSimPnLksame=i=1∑N[Qi(V(FkTi,σisame,Ti,t,Ki,r)−V(FTi,σi,Ti,t,Ki,r))]
OptionSimPnLkdown=i=1∑N[Qi(V(FkTi,σidown,Ti,t,Ki,r)−V(FTi,σi,Ti,t,Ki,r))]
示例
延续上一个例子,Alice除了拥有 10 份 ETH-10JAN24 期货多头头寸外, 同时拥有 10 份 ETH-10JAN24-2300-C 看涨期权多头头寸;当前标的期货价格 F0=2253.2,剩余天数为 20 天,波动率 σi=0.2:
MaxIVChangeup=(2030)0.3⋅0.45=0.5082 MaxIVChangedown=(2030)0.3⋅0.3=0.3388 σiup=0.2⋅(1+0.5082)=0.3016 σidown=0.2⋅(1−0.3388)=0.1322 Price Shock | Futures Price | up | same | down |
---|
-15% | 1915.2 | -229.2 | -231.4 | -231.4 |
-12% | 1982.8 | -221.7 | -231.2 | -231.4 |
-9% | 2050.4 | -198.0 | -229.0 | -231.4 |
-6% | 2118.0 | -138.0 | -215.1 | -230.6 |
-3% | 2185.6 | -13.9 | -158.0 | -217.0 |
0% | 2253.2 | 202.6 | 0.00 | -124.5 |
3% | 2320.8 | 528.4 | 311.8 | 169.7 |
6% | 2388.4 | 962.5 | 782.9 | 691.4 |
9% | 2456.0 | 1487.8 | 1368.8 | 1332.7 |
12% | 2523.6 | 2079.3 | 2014.2 | 2004.4 |
15% | 2591.2 | 2712.5 | 2682.0 | 2680.1 |
期权应急调整保证金
期权应急调整保证金 (OptionContingency) 与期货应急调整保证金类似,考虑到期权交易会对流动性造成影响。将其纳入保证金的计算,可以有效减轻因交易导致的流动性变化引起的潜在风险。首先,对于给定到期日 T 的期权,其对应的标的期货价格和行权价分别是 FT 和 KT;随后,将同一到期日的期权按照行权价大小排序 (即 K1,K2,...,Kn)。在此基础上,依次计算行权价 j 的期权头寸:
StrikePosition(KjT)=CallPosition(KjT)+PutPosition(KjT)
- 计算调整后头寸 AdjustedStrikePosition:
AdjustedStrikePosition(KjT)=⎩⎨⎧StrikePosition⋅ATMRangeFTKjT−FT,StrikePosition,if FTKjT−FT<ATMRangeotherwise
- 基于调整后头寸计算净头寸 NetPosition:
将行权价排序后分成两组,分别为小于 FT 和大于 FT 的行权价组。对于每组里最靠近 ATMRange 的行权价,直接使用调整后的头寸作为净头寸。
从每组最近的两个行权价开始,向两端扩展至所有行权价。具体来说,接近 ATMRange 的较大行权价向最大行权价逐个依次扩展,而接近 ATMRange 的较小行权价则向最小行权价逐个依次扩展。
如果前一行权价对应的净头寸为正,当前行权价的净头寸就等于当前行权价的调整头寸加上前一行权价的净头寸;如果前一行权价对应的净头寸为 0 或为负,当前行权价的净头寸就等于当前行权价的调整头寸。
示例
假设当前 BTC 标的期货价格是 43219.77,期权净头寸计算如下:
Call Position | Strike | Put Position | Strike Position | FTKT−FT | Adjusted Strike Position | Net Position |
---|
| 43200 | | | | | |
10 | 43300 | -20 | -10 | 0.19% < 10% | -0.19 | -0.19 |
50 | 43600 | -30 | 20 | 0.88% < 10% | 1.76 | 1.76 |
-30 | 44000 | -40 | -70 | 1.81% < 10% | -12.64 | -10.69 |
80 | 45000 | 60 | 140 | 4.12% < 10% | 57.67 | 57.67 |
-15 | 50000 | 25 | 10 | 15.69% > 10% | 10.00 | 67.67 |
ContingencyFactorPosition(T)=−((−0.19)+(−10.69))=10.88
- 计算期权应急调整保证金 OptionContingency:
ContingencyFactorPosition(T)=−j=1∑nmin(NetPosition(KjT),0)
OptionContingency(T)=OptionContingencyFactor⋅ContingencyFactorPosition(T)⋅FT
OptionContingency=T∑OptionContingency(T)
组合保证金
用户如果仅持有期权多仓,Dederi 不会收取保证金。
保证金指标
SimpleMM=−min{0,Δk∈Ωmin{Θ∈Λmin{FuturesSimPnLk+OptionSimPnLkΘ}}}
其中 Λ 表示 "上升" "持平" 和 "下降" 三种场景的集合,Ω 表示 PriceShockRange,同上。
MM=SimpleMM+FutureContingency+OptionContingency
IM=InitialMarginFactor⋅MM
IMRatio=EquityIM
MMRatio=EquityMM
示例
接续前例,当前指数价格
I0=2243.3,对应的标的期货价格
F0=2253.2。Alice 的投资组合包括:
- 持有 10 份 ETH-10JAN24-2200-C 的多 头头寸和 15 份 ETH-10JAN24-2200-P 的空头头寸,执行价格 K1=2200;
- 持有 5 份 ETH-10JAN24-2500-P 的空头头寸,执行价格 K2=2500
在期货价格下跌 15% 且波动率“上升”的场景下,整体最大损失为 −9911.9,可求得:
SimpleMM=−min(0,−9911.86)=9911.9 根据计算步骤得到净头寸:
Strike Price | K=2200 | K=2500 |
---|
Strike Position | 5.00 | -15.00 |
IK−I | 1.93% | 11.44% |
within ATM Range | TRUE | FALSE |
Adjusted Strike Position | 0.97 | -15.00 |
NetPosition(2500)=AdjustedStrikePosition(2500)=−15NetPosition(2200)=AdjustedStrikePosition(2200)=0.97 计算期权应急调整保证金:
ContingencyFactorPosition(T)=−(−15)=15OptionContingency=2243.3⋅0.01⋅15=336.5 最终计算得到的保证金指标:
MM=9911.9+134.6+336.5=10383.0IM=130%⋅10383.0=13497.9