# イベントコントラクト Combo RFQ

request_combo_quotes(combo_leg_list, mvc)

  • 説明

    ユーザー組合せのコントラクト脚(ComboLeg リスト)と MVC 銘柄を提出し、組合せコントラクトの RFQ を行い、その組合せの売買価格(bid/ask)と報価 ID(発注時に使用)を返します。

  • パラメータ

    パラメータ 説明
    combo_leg_list ComboLeg 脚リスト、要素は ComboLeg オブジェクト、空不可
    mvc str MVC 銘柄、get_valid_combo_list の戻り値から透伝
  • 戻り値

    パラメータ 説明
    ret RET_CODE API呼出結果
    data dict ret == RET_OK の場合、RFQ 結果を返します
    str ret != RET_OK の場合、エラー説明を返します
  • Example

from moomoo import *

quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)

# 1. 先に Combo 可能イベントと mvc を取得
ret, combo_data, mvc, _ = quote_ctx.get_valid_combo_list(category='Sports', count=1)
if ret != RET_OK:
    print('combo リスト取得失敗:', combo_data)
    quote_ctx.close()
    exit()

# 2. 脚を構築して RFQ(2 脚は異なる event 由来可、pred_side は必須)
leg1 = ComboLeg()
leg1.code = 'EC.KXWCADVANCE-26JUL14FRAESP-FRA'
leg1.trd_side = TrdSide.BUY
leg1.qty_ratio = 1
leg1.pred_side = PredSide.YES

leg2 = ComboLeg()
leg2.code = 'EC.KXWCADVANCE-26JUL15ENGARG-ENG'
leg2.trd_side = TrdSide.BUY
leg2.qty_ratio = 1
leg2.pred_side = PredSide.YES

ret, data = quote_ctx.request_combo_quotes([leg1, leg2], mvc)
if ret == RET_OK:
    print('bid:', data['bid_price'], 'ask:', data['ask_price'])
    print('quote_id:', data['quote_id'])
    print('should_retry:', data['should_retry'])
    for leg in data['combo_leg_list']:
        print('  leg:', repr(leg))
else:
    print('error:', data)
quote_ctx.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
  • Output
bid: N/A ask: 0.333
quote_id: 3fb44348-83e6-4179-a34a-efb09d7b80e6
should_retry: N/A
  leg: ComboLeg(code=EC.KXWCADVANCE-26JUL14FRAESP-FRA, trd_side=BUY, qty_ratio=1.0, pred_side=YES)
  leg: ComboLeg(code=EC.KXWCADVANCE-26JUL15ENGARG-ENG, trd_side=BUY, qty_ratio=1.0, pred_side=YES)
1
2
3
4
5

APIレート制限

  • 30 秒以内に最大 15 回までイベントコントラクト Combo RFQ API をリクエストできます