Skip to main content

[函数] Delta Neutral Calendar Strangle

Input

  • 开仓方向 dir[long,short]dir \in [long, short]
  • 到期日 Efront,EbackE_{front}, E_{back}
  • 标的当前切片VWAP价格 PundP_{und}
  • 组合加总Δ\Delta 最大限度 Δtolerance\Delta_{tolerance}
  • 多头组合加总θ\theta 最小限度 θtolerance\theta_{tolerance}
  • 距离限制 dd

Execution

  1. 计算两个到期日的合成远期价格 F=Se(rq)TexpF=S*e^{(r-q)*T_{exp}} . 当前系统中存在此参数。

  2. 在合成远期价格左侧找到所有看跌期权行权价 PexpP_{exp}. 要求 Pexp(1d)FP_{exp}\ge (1-d)*F. 在右侧找到找到所有看涨期权行权价 CexpC_{exp} , 要求 Cexp(1+d)F,C_{exp}\le (1+d)*F, 此过滤条件主要目的是降低后续计算负担。满足过滤条件的所有看涨和看跌行权价两两配对形成的所有组合,作为备选。

  3. 若记 Δ\Delta 为合约的 DeltaDeltaUU 为合约的单位,υ\upsilon 为合约的 VegaVegaθ\theta 为合约的 ThetaThetaKK 为合约的行权价,则在备选中挑选组合 {Cfront,Pfront,Cback,Pback}\{C_{front}, P_{front}, C_{back}, P_{back}\} ,需要满足以下条件:

    • DeltaDelta : ΔCfrontUCfront+ΔPfrontUPfrontΔCbackUCbackΔPbackUPbackΔtolerancemean(UCfront,UPfront,UCback,UPback) \lvert \Delta_{C_{front}} * {U_{C_{front}}} + \Delta_{P_{front}} * {U_{P_{front}}} - \Delta_{C_{back}} * {U_{C_{back}}} - \Delta_{P_{back}} * {U_{P_{back}}} \rvert \le \Delta_{tolerance} * \text{mean}({U_{C_{front}}}, {U_{P_{front}}}, {U_{C_{back}}}, {U_{P_{back}}}) .

    • 行权价以及 ThetaTheta :

      • dir=long:dir=long: {KPfront<KPbackKCfront>KCbackθCbackUCback+θPbackUPbackθCfrontUCfrontθPfrontUPfrontθtolerancePund\left\{ \begin{aligned} & K_{P_{front}} < K_{P_{back}} \\ & K_{C_{front}} > K_{C_{back}} \\ & \theta_{C_{back}} * {U_{C_{back}}} + \theta_{P_{back}} * {U_{P_{back}}} - \theta_{C_{front}} * {U_{C_{front}}} - \theta_{P_{front}} * {U_{P_{front}}} \ge \theta_{tolerance} * P_{und} \end{aligned} \right.
      • dir=short:dir=short: {KPfront>KPbackKCfront<KCback\left\{ \begin{aligned} & K_{P_{front}} > K_{P_{back}} \\ & K_{C_{front}} < K_{C_{back}} \end{aligned} \right.
  4. Dfront=KCfrontKPfrontD_{front} = K_{C_{front}} - K_{P_{front}} , Dback=KCbackKPbackD_{back} = K_{C_{back}} - K_{P_{back}} 为行权价之间的距离。记 υabs=υCfrontUCfront+υPfrontUPfrontυCbackUCbackυPbackUPback\upsilon_{abs} = \lvert \upsilon_{C_{front}} * {U_{C_{front}}} + \upsilon_{P_{front}} * {U_{P_{front}}} - \upsilon_{C_{back}} * {U_{C_{back}}} - \upsilon_{P_{back}} * {U_{P_{back}}} \rvert .

  5. 在满足条件的所有组合中,按照以下条件排序选取:

    • dir=long:dir=long:

      • 按照 DbackD_{back} 由小到大的顺序排列
      • 按照 υabs\upsilon_{abs} 由大到小的顺序排列
    • dir=short:dir=short:

      • 按照 DfrontD_{front} 由小到大的顺序排列
      • 按照 DbackD_{back} 由小到大的顺序排列
      • 按照 υabs\upsilon_{abs} 由大到小的顺序排列
  6. 取排名第一的组合 {Cfront,Pfront,Cback,Pback}\{C_{front}, P_{front}, C_{back}, P_{back}\} 作为返回结果。如果没有满足条件的组合,则返回空值