level2行情说明
- L2 数据仅在券商内网环境下提供,包含股票的实时和历史的十档行情、逐笔成交、逐笔委托数据
- L2 数据优势:延时更低、行情更新频率更快和行情深度数据更丰富
level2行情连接
- 登录终端时点击右下角的通信设置
- 实时行情选择本地level2主行情
- 最后点击返回登录
level2实时行情
交易所名称 | 市场代码 | 数据类型 | 推送频率 |
---|---|---|---|
上交所 | SHSE | Tick | 3s(包含十档) |
Bar | Bar实时频率 | ||
L2Transaction(逐笔成交) | 实时推送(毫秒级别,包含每笔) | ||
深交所 | SZSE | Tick | 3s (包含十档) |
Bar | Bar实时频率 | ||
L2Transaction(逐笔成交) | 实时推送(毫秒级别,包含每笔) | ||
L2Order(逐笔委托) | 实时推送(毫秒级别,包含每笔) |
level2历史行情
支持以下多种频率的股票历史行情数据:
交易所名称 | 市场代码 | 数据类型 | 数据范围 |
---|---|---|---|
上交所 | SHSE | Tick | 2016-01-04 - 至今 |
Bar | 任意秒数,如’30s’(2016-01-04 - 至今) | ||
L2Transaction(逐笔成交) | 2016-01-04 - 至今 | ||
L2OrderQueue(委托队列) | 2016-01-04 - 至今 | ||
深交所 | SZSE | Tick | 2016-01-04 - 至今 |
Bar | 任意秒数,如’30s’(2016-01-04 - 至今), 1d(2016-01-04 - 至今) | ||
L2Transaction(逐笔成交) | 2016-01-04 - 至今 | ||
L2Order(逐笔委托) | 2016-01-04 - 至今 | ||
L2OrderQueue(委托队列) | 2016-01-04 - 至今 |
level2行情接口
点击蓝色字体查看api具体用法
数据推送事件
on_l2order - 逐笔委托事件(仅支持深市股票)
on_l2order_queue - 委托队列事件(目前还不支持)
查询历史行情
get_history_l2ticks - 查询历史L2 Tick行情
get_history_l2bars - 查询历史L2 Bar行情
get_history_l2transactions - 查询历史L2 逐笔成交
get_history_l2orders -查询历史L2 逐笔委托(仅支持深市股票)
get_history_l2orders_queue -查询历史L2 委托队列
注意:
1、get_history_l2ticks
接口每次只能提取一天的数据, 如果取数时间超过一天,则返回按照结束时间的最近有一个交易日数据, 如果取数时间段超过1 个自然月(31)天,则获取不到数据
2、get_history_l2bars
接口每次最多可提取 1 个自然月(31)天的数据如:2015.1.1-2015.1.31
错误设置:(2015.1.1-2015.2.1)超出 31 天则获取不到任何数据
3、get_history_l2transactions
, get_history_l2orders
和get_history_l2orders_queue
接口每次只能提取一天的数据, 如果取数时间超过一天,则返回按照开始时间的最近有一个交易日数据
订阅L2实时数据
示例:
# coding=utf-8
from __future__ import print_function, absolute_import
from gm.api import *
def init(context):
# 查询L2 Tick历史行情
history_l2tick=get_history_l2ticks('SHSE.600519', '2020-11-23 14:00:00', '2020-11-23 15:00:00', fields=None,
skip_suspended=True, fill_missing=None,
adjust=ADJUST_NONE, adjust_end_time='', df=False)
print(history_l2tick[0])
# 查询L2 Tick实时行情
current_data = current(symbols='SZSE.000001')
print(current_data)
# 订阅浦发银行的逐笔成交数据
subscribe(symbols='SHSE.600000', frequency='l2transaction')
# 订阅平安银行的逐笔委托数据(仅支持深市标的)
subscribe(symbols='SZSE.000001', frequency='l2order')
# 订阅平安银行的委托队列数据
# subscribe(symbols='SZSE.000001', frequency='l2order_queue')
def on_l2order(context, order):
# 打印逐笔成交数据
print(order)
def on_l2transaction(context, transition):
# 打印逐笔委托数据
print(transition)
# def on_l2order_queue(context, l2order_queue):
# # 打印委托队列数据
# print(l2order_queue)
if __name__ == '__main__':
'''
strategy_id策略ID, 由系统生成
filename文件名, 请与本文件名保持一致
mode运行模式, 实时模式:MODE_LIVE回测模式:MODE_BACKTEST
token绑定计算机的ID, 可在系统设置-密钥管理中生成
backtest_start_time回测开始时间
backtest_end_time回测结束时间
backtest_adjust股票复权方式, 不复权:ADJUST_NONE前复权:ADJUST_PREV后复权:ADJUST_POST
backtest_initial_cash回测初始资金
backtest_commission_ratio回测佣金比例
backtest_slippage_ratio回测滑点比例
'''
run(strategy_id='strategy_id',
filename='main.py',
mode=MODE_BACKTEST,
token='token_id',
backtest_start_time='2020-11-01 08:00:00',
backtest_end_time='2020-11-10 16:00:00',
backtest_adjust=ADJUST_PREV,
backtest_initial_cash=10000000,
backtest_commission_ratio=0.0001,
backtest_slippage_ratio=0.0001)
获取L2历史数据
示例
# coding=utf-8
"""
L2的历史数据提取
"""
from gm.api import *
set_token('your token')
# 查询历史L2 Tick行情
history_l2tick=get_history_l2ticks('SHSE.600519', '2020-11-23 14:00:00', '2020-11-23 15:00:00', fields=None,
skip_suspended=True, fill_missing=None,
adjust=ADJUST_NONE, adjust_end_time='', df=False)
print(history_l2tick[0])
# 查询历史L2 Bar行情
history_l2bar=get_history_l2bars('SHSE.600000', '60s', '2020-11-23 14:00:00', '2020-11-23 15:00:00', fields=None,
skip_suspended=True, fill_missing=None,
adjust=ADJUST_NONE, adjust_end_time='', df=False)
print(history_l2bar[0])
# 查询历史L2 逐笔成交
history_transactions = get_history_l2transactions('SHSE.600000', '2020-11-23 14:00:00', '2020-11-23 15:00:00', fields=None, df=False)
print(history_transactions[0])
# 查询历史L2 逐笔委托
history_order=get_history_l2orders('SZSE.000001', '2020-11-23 14:00:00', '2020-11-23 15:00:00', fields=None, df=False)
print(history_order[0])
# 查询历史L2 委托队列
history_order_queue = get_history_l2orders_queue('SZSE.000001', '2020-11-23 14:00:00', '2020-11-23 15:00:00', fields=None, df=False)
print(history_order_queue[0])