目录

1.subscribe-行情订阅

2.unsubscribe取消订阅


1.subscribe-行情订阅

函数原型:

subscribe(symbols, frequency='1d', count=1, wait_group=False, wait_group_timeout='10s', unsubscribe_previous=False)

symbols:订阅标的代码, 字串格式,如有多个代码, 中间用 , (英文逗号) 隔开, 也支持 ['symbol1', 'symbol2'] 列表格式

frequency:频率,支持 'tick', '60s', '300s', '900s' 等, 默认'1d'

count:数据滑窗的大小

wait_group:是否需要等待全部代码的数据到齐再触发事件, 默认False不到齐。设置为True则等待订阅标的eob相同的bar全部到齐再被调用。该参数只对Bar数据有效。

wait_group_timeout:超时时间设定, 支持s结尾表示单位, 默认10s

unsubscribe_previous:是否取消过去订阅的symbols, 默认False不取消, 输入True则取消所有原来的订阅。

fields:指定返回对象字段, 如有多个字段, 中间用, (英文逗号)隔开, 默认所有, 具体字段见:tick 对象 和 bar 对象 ,在 subscribe 函数中指定的字段越少,context.data查询速度越快

format:数据返回格式,默认"df", "df": 数据框格式,返回dataframe(默认),"row": 原始行式组织格式,返回list[dict](当对性能有要求时, 推荐使用此格式), "col": 列式组织格式,返回dict 。

示例代码:

def init(context):
    # 同时订阅600519的tick数据和分钟数据
    subscribe(symbols='SHSE.600519', frequency='tick', count=2)
    subscribe(symbols='SHSE.600519', frequency='60s', count=2)


def on_tick(context,tick):
    print('收到tick行情---', tick)


def on_bar(context,bars):
    print('收到bar行情---', bars)
    data = context.data(symbol='SHSE.600519', frequency='60s', count=2)
    print('bar数据滑窗---', data)

2.unsubscribe取消订阅

取消行情订阅, 默认取消所有已订阅行情

函数原型:unsubscribe(symbols='*', frequency='60s')

示例代码:

unsubscribe(symbols='SHSE.600000,SHSE.600004', frequency='60s')
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐