# 组合下单

place_combo_order(combo_leg_list, price, qty, order_type=OrderType.NORMAL, trd_env=TrdEnv.REAL, acc_id=0, acc_index=0, remark="", time_in_force=TimeInForce.DAY, expire_time=None)

  • 介绍

    提交组合期权/组合策略订单。

    提示

    Python API 是同步的,但网络收发是异步的。当 place_combo_order 对应的应答数据包与 响应成交推送回调响应订单推送回调 间隔很短时,就可能出现 place_combo_order 的数据包先返回,但回调函数先被调用的情况。

  • 参数

    参数 类型 说明
    combo_leg_list list 组合腿列表
    price float 订单价格
    qty float 订单数量
    order_type OrderType 订单类型
    trd_env TrdEnv 交易环境
    acc_id int 交易业务账户 ID
    acc_index int 交易业务账户列表中的账户序号
    remark str 备注
    time_in_force TimeInForce 有效期限
    expire_time str 订单过期时间
    • ComboLeg 对象字段:
      字段 类型 说明
      code str 标的代码,格式如 US.AAPL、US.AAPL260529C302500
      trd_side TrdSide 该腿交易方向
      qty_ratio float 数量比例
      position_id int 持仓 ID
  • 返回

    参数 类型 说明
    ret RET_CODE 接口调用结果
    data pd.DataFrame 当 ret == RET_OK 时,返回订单列表
    str 当 ret != RET_OK 时,返回错误描述
    • 订单列表格式如下:
      字段 类型 说明
      order_id str 订单号
      code str 组合策略代码
      strategy_type OptionStrategyType 组合策略类型
      trd_side TrdSide 交易方向
      order_type OrderType 订单类型
      order_status OrderStatus 订单状态
      qty float 订单数量
      price float 订单价格
      amount float 订单金额
      time_in_force TimeInForce 有效期限
      expire_time str 过期时间
      dealt_qty float 成交数量
      dealt_avg_price float 成交均价
      create_time str 创建时间
      updated_time str 最后更新时间
      last_err_msg str 最后的错误描述
      remark str 备注
      combo_legs list 组合腿列表
  • Example

from futu import *
trd_ctx = OpenSecTradeContext(filter_trdmarket=TrdMarket.US, host='127.0.0.1', port=11111, security_firm=SecurityFirm.FUTUSECURITIES)
leg1 = ComboLeg()
leg1.code = 'US.AAPL260529C302500'
leg1.trd_side = TrdSide.BUY
leg1.qty_ratio = 1
leg2 = ComboLeg()
leg2.code = 'US.AAPL'
leg2.trd_side = TrdSide.SELL
leg2.qty_ratio = 100
combo_legs = [leg1, leg2]
ret, data = trd_ctx.place_combo_order(combo_legs, price=9.9, qty=1, order_type=OrderType.NORMAL, trd_env=TrdEnv.SIMULATE)
if ret == RET_OK:
    print(data)
    print(data['order_id'][0])
else:
    print('place_combo_order error: ', data)
trd_ctx.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  • Output
              order_id  code strategy_type trd_side order_type order_status  qty  price  ...
0  FH1C79E90941477000   ...           ...      ...     NORMAL   SUBMITTING  1.0  9.9  ...
FH1C79E90941477000
1
2
3

接口限制

  • 同一账户 ID(acc_id) 每 30 秒内最多请求 15 次下单接口,且连续两次请求的间隔不可小于 0.02 秒。和下单共用一个限频。
  • 真实账户调用下单接口前,需要先进行 解锁;模拟账户无需解锁。

提示

  • combo_leg_list 中各腿标的须属于同一交易市场,系统将根据第一条腿的市场确定 trd_market。
  • 各腿 qty_ratio 与 qty 共同决定每条腿的实际委托数量。