数据事件及数据查询——东方财富掘金量化速成学习(python)
目录
1.数据事件
1.1on_tick - tick数据推送事件
1.2.on_bar - bar数据推送事件
2.数据查询
2.1.current - 查询当前行情快照
2.2.history - 查询历史行情
2.3.history_n - 查询历史行情最新n条
2.4.context.data - 数据滑窗
1.数据事件
1.1on_tick - tick数据推送事件
函数原型:on_tick(context, tick)
示例代码:
def on_tick(context, tick):print(tick)
1.2.on_bar - bar数据推送事件
函数原型:on_bar(context, bars)
示例代码:
def on_bar(context, bars):for bar in bars:print(bar)
2.数据查询
2.1.current - 查询当前行情快照
查询当前行情快照,返回tick数据。回测时,返回回测当前时间点的tick数据
函数原型:current(symbols, fields='')
示例代码:
current_data = current(symbols='SZSE.000001')
2.2.history - 查询历史行情
函数原型:
history(symbol, frequency, start_time, end_time, fields=None, skip_suspended=True, fill_missing=None, adjust=ADJUST_NONE, adjust_end_time='', df=True)
skip_suspended:数据类型bool,是否跳过停牌, 默认跳过
fill_missing:数据类型str or None,填充方式, None
- 不填充, 'NaN'
- 用空值填充, 'Last'
- 用上一个值填充, 默认None
adjust:数据类型int,ADJUST_NONE or 0: 不复权
, ADJUST_PREV or 1: 前复权
, ADJUST_POST or 2: 后复权
默认不复权
adjust_end_time:数据类型str,复权基点时间, 默认当前时间
df:数据类型bool,是否返回 dataframe格式,默认 False
, 返回list[dict]
示例代码:
history_data = history(symbol='SHSE.000300', frequency='1d', start_time='2017-07-30', end_time='2017-07-31', fields='open, close, low, high, eob', adjust=ADJUST_PREV, df=False)
2.3.history_n - 查询历史行情最新n条
函数原型:
history_n(symbol, frequency, count, end_time=None, fields=None, skip_suspended=True,
fill_missing=None, adjust=ADJUST_NONE, adjust_end_time='', df=False)
示例代码:
history_n_data = history_n(symbol='SHSE.600519', frequency='1d', count=100, end_time='2020-10-20 15:30:00', fields='symbol, open, close, low, high, eob', adjust=ADJUST_PREV, df=True)
2.4.context.data - 数据滑窗
函数原型:
context.data(symbol, frequency, count, fields)
示例代码:
def init(context):subscribe(symbols='SHSE.600519', frequency='60s', count=50, fields='symbol, close, eob', format='df')def on_bar(context,bars):data = context.data(symbol=bars[0]['symbol'], frequency='60s', count=10)print(data.tail())