[策略执行算法] Exe_11_Option4LegsOpen
Input
- 由策略提供的四腿期权(两腿远月,两腿近月)的合约代码,以及对应的多空方向。其中设 , 为近月合约, , 为远月合约。
- 单笔订单FOK下单次数限制 , 默认值是10.
- 补单FOK下单次数限制 , 默认值是15.
- 最大容忍宽度 , 默认值是0.005.
- 执行时间限制 , 默认值是8秒。
- 重新开仓冷静期 , 默认值是60分钟。
- 根据SVI模型拟合出的四腿期权的模型价格 , , , .
Execution
本函数优先成交多腿组合,需保证组合中每一腿均成交后,再尝试开下一个多腿组合。
本函数采用远月优先的执行方式,在远月执行完毕后再执行近月,需要视订单执行情况进行回滚或补单。具体执行流程如下图所示:
Far Legs Execution
以远月合约 为例,当算法收到行情切片数据更新时,若 的理论价格 与 的开仓方向对手方限一价的差距(绝对值)小于等于 , 则按照限一价FOK下单直至成交;若下单次数超过 , 则停止下单直到 有切片数据更新。
若 , 的切片同时有数据更新,则可同时或者依次按以上逻辑处理;若只有一腿数据有更新,则只处理该腿。
在总执行时间超过限制 时,撤掉所有报单,然后返回执行结果:
- 如果两腿执行成功,则返回 .
- 如果两腿都未执行成功,则返回 .
- 如果只有一腿执行成功,则返回 .
Near Legs Execution
逻辑与 Far Legs Execution 相同。
Odd Handling
若Far / Near Legs Execution 返回 , 则进入此逻辑进行补单或回滚。
不妨令执行成功的腿为 ,失败的腿为 .
-
计算 的理论价格 与其平仓方向对手方限一价的差距绝对值 ,以及 的理论价格 与其开仓方向对手方限二价的差距绝对值 。
-
补单:在 个tick内,判断 是否成立,如是则对 进行限二价 FOK 下单开仓直至成交,退出逻辑;未成交则进入步骤 3。
-
回滚:在 个tick内,判断 是否成立 ,如是则对 进行限一价 FOK 下单平仓直至成交 ,直接进入步骤5;未成交则进入步骤 4。
-
强制回滚:对 进行限一价 FOK 下单平仓直至成交,进入步骤 5。
-
若该逻辑由 Far Legs Execution 进入,则此时为空仓状态,将该参数组暂停交易,直至 后重新开启; 若由 Near Legs Execution 进入,则此时为远月跨式状态,需将 , 按平仓方向限一价平仓,并将该参数组暂停交易,直至 后重新开启。
Apply Portfolio Margin
在组合四腿均成交后,将空头的两腿申请组保,待收到组保成功的回报后,退出逻辑。