# 組合下單

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 共同決定每條腿的實際委託數量。