期货移仓

适用市场

市场品种
香港市场期货
美国市场期货
新加坡市场期货
日本市场期货

rolling_positions

接口说明

移仓,是指将期货合约持仓,转移到另一个较远期限的合约。在策略运行时,如果持有的期货合约即将到期,但想继续持有该方向的头寸更长的时间,可以使用“期货移仓”函数。

graph LR
  A((持有2张<br>移仓合约的<br>多头持仓)) -->B{是否有<br>移仓合约的<br>未成交卖单?}
  B -->|是| C[撤销移仓合约<br>的未成交卖单]
  B -->|否| E{是否有<br>目标合约的<br>未成交卖单?}
  C -->|撤单成功| E
  E -->|是| F[撤销目标合约<br>的未成交卖单]
  E -->|否| G[市价单卖出<br>2张移仓合约]
  F -->|撤单成功| G
  G -->|完全成交| H[市价单买入<br>2张目标合约]
  H -->|完全成交| I((持有2张<br>目标合约的<br>多头持仓))
graph LR
  A((持有2张<br>移仓合约的<br>空头持仓)) -->B{是否有<br>移仓合约的<br>未成交买单?}
  B -->|是| C[撤销移仓合约<br>的未成交买单]
  B -->|否| E{是否有<br>目标合约的<br>未成交买单?}
  C -->|撤单成功| E
  E -->|是| F[撤销目标合约<br>的未成交买单]
  E -->|否| G[市价单买回<br>2张移仓合约]
  F -->|撤单成功| G
  G -->|完全成交| H[市价单卖空<br>2张目标合约]
  H -->|完全成交| I((持有2张<br>目标合约的<br>空头持仓))

移仓时,允许持有 与移仓合约方向相反的 目标合约头寸,但持有数量不能少于移仓合约的持有数量。
例1:账户持有 1 张 US.CL2408 的多头合约和 1 张 US.CL2409 的空头合约。使用期货移仓功能,会卖出平仓 1 张 US.CL2408 合约,然后买入平仓 1 张 US.CL2409 合约。
例2:账户持有 2 张 US.CL2408 的多头合约和 1 张 US.CL2409 的空头合约。使用期货移仓功能,会卖出平仓 2 张 US.CL2408 合约,然后在提交买入 2 张 US.CL2409 合约买单时失败。

rolling_positions(initial_symbol,qty,new_symbol)

每 30 秒最多提交 15 次期货移仓。

参数

参数名类型说明默认值范围
initial_symbolContract移仓合约----
qtyfloat数量(无论持有多仓还是空仓,qty 都需要输入正整数)--(0,+∞)
new_symbolContract目标合约----

返回

返回类型返回值说明
string订单组ID

移仓操作产生的 2 笔订单的 订单组ID 相同,可通过 查询子订单ID 函数,获得 平仓订单ID 和 开仓订单ID。

示例说明

移仓 1 张 HSI2401 至 HSInext。

rolling_positions(initial_symbol=Contract("HK.HSI2401"),qty=1,new_symbol=Contract("HK.HSInext"))

示例返回值

"FT6644468615272262086"