[策略执行算法] Exe_11_Option4LegsOpen
Input
- 由策略提供的四腿期权(两腿远月,两腿近月)的合约代码,以及对应的多空方向。其中设 , 为近月合约, , 为远月合约。
- 单笔订单FOK下单次数限制 , 默认值是8.
- 补单FOK下单次数限制 , 默认值是15.
- 下单间隔时间 , 以秒为单位,默认值是0.5.
- 最大容忍宽度 , 对于ETF期权而言,默认值是0.001.
- 执行时间限制 , 以秒为单位,默认值是5.
- 四腿期权的中间价(即买一价和卖一价的平均值) , , , 。
Execution
本函数优先成交多腿组合,需保证组合中每一腿均成交后,再尝试开下一个多腿组合。
本函数采用远月优先的执行方式,在远月执行完毕后再执行近月,需要视订单执行情况进行回滚或补单。具体执行流程如下图所示:
Back Legs Execution
以远月合约 为例,当算法收到执行信号时,若 的中间价 与 的开仓方向对手方限二价的差距(绝对值)小于等于 , 则按照限二价,每隔 FOK下单直至成交;若下单次数超过 , 则停止下单。 同理。
在总执行时间超过限制 时,撤掉所有报单,然后返回执行结果:
- 如果两腿执行成功,则返回 .
- 如果两腿都未执行成功,则返回 , 进入 Roll Back.
- 如果只有一腿执行成功,则返回 .
Front Legs Execution
逻辑与 Back Legs Execution 相同。
Odd Handling
若Back / Front Legs Execution 返回 , 则进入此逻辑进行补单或回滚。
不妨令执行成功的腿为 ,失败的腿为 .
-
计算 的中间价 与其平仓方向对手方限一价的差距绝对值 ,以及 的中间价 与其开仓方向对手方限二价的差距绝对值 。
-
补单:在 次内,判断 是否成立,如是则对 进行限二价 每隔 FOK 下单开仓直至成交,返回 退出逻辑;未成交则进入步骤 3。
-
回滚:在 次内,判断 是否成立 ,如是则对 进行限一价 每隔 FOK 下单平仓直至成交,返回 退出逻辑。
Roll Back
若该逻辑由 Back Legs Execution 或其之后的 Back Odd Handling 进入,则此时为空仓状态,整个执行算法返回 . 若由 Front Legs Execution 或其之后的 Front Odd Handling 进入,则此时为远月跨式状态,需将 , 按平仓方向限五价平仓,整个执行算法返回 .
Apply Portfolio Margin
在组合四腿均成交后,将空头的两腿申请组保,待收到组保成功的回报后,退出逻辑。