# 获取事件合约K线

get_event_contract_kline(code, pre_side=None, ktype=KLType.K_DAY, kline_source=None, max_count=1000)

  • 介绍

    获取事件合约实时 K 线,支持合约级成交价 K 线与 YES 子合约摆盘 K 线两种来源,支持按方向(YES/NO)与 K 线类型查询。查询 K 线前需先订阅对应的 K 线类型(如 SubType.K_DAY),否则返回错误。

  • 参数

    参数 类型 说明
    code str 事件合约代码,例如 'EC.KXODIMATCH-26JUL140600INDENG-IND'
    pre_side PredSide 合约方向
    ktype KLType K 线类型,默认 KLType.K_DAY
    kline_source ECKlineSource K 线来源
    max_count int 最大返回条数,默认 1000
  • 返回

    参数 类型 说明
    ret RET_CODE 接口调用结果
    data pd.DataFrame 当 ret == RET_OK,返回 K 线列表
    str 当 ret != RET_OK,返回错误描述

    返回的 DataFrame 字段如下:

    字段 类型 说明
    code str 合约代码
    pre_side str 合约方向(YES/NO/N/A),取值参见 PredSide
    name str 合约名称
    time_key str K 线时间(yyyy-MM-dd HH:mm:ss)
    open float 开盘价
    high float 最高价
    low float 最低价
    close float 收盘价
    volume float 成交量
  • Example

from moomoo import *

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

# 查询 K 线前需先订阅对应 K 线类型(否则返回错误)
ret, err = quote_ctx.subscribe_event_contract(
    ['EC.KXODIMATCH-26JUL140600INDENG-IND'], [SubType.K_DAY]
)
if ret != RET_OK:
    print('订阅失败:', err)
else:
    # 合约级成交价 K 线(YES 方向)
    ret, data = quote_ctx.get_event_contract_kline(
        'EC.KXODIMATCH-26JUL140600INDENG-IND',
        pre_side=PredSide.YES, ktype=KLType.K_DAY, max_count=5
    )
    if ret == RET_OK:
        print(data)
    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
  • Output
                                  code pre_side                      name             time_key  open  high   low  close     volume
0  EC.KXODIMATCH-26JUL140600INDENG-IND      YES  England vs India Winner?  2026-07-11 00:00:00  0.30  0.38  0.30   0.35      433.0
1  EC.KXODIMATCH-26JUL140600INDENG-IND      YES  England vs India Winner?  2026-07-12 00:00:00  0.64  0.73  0.35   0.52    10482.0
2  EC.KXODIMATCH-26JUL140600INDENG-IND      YES  England vs India Winner?  2026-07-13 00:00:00  0.51  0.52  0.46   0.49   193327.0
3  EC.KXODIMATCH-26JUL140600INDENG-IND      YES  England vs India Winner?  2026-07-14 00:00:00  0.49  0.99  0.37   0.99  3860182.0
1
2
3
4
5