Datafeed数据接口使用教程

Datafeed包含两个数据接口

  1. DatafeedHqGenerator :包含多种数据
  1. MindgoHqGenerator :股票快照增加主动被动买卖信息

DatafeedHqGenerator

导入包

In [6]:
from tick_trade_api import DatafeedHqGenerator

获取股票快照

可以对DatafeedHqGenerator对象进行迭代获取DatafeedHqBar对象,可以通过属性方式调用存储在DatafeedHqBar对象的数据,字段信息参见下表

In [7]:
g1 = DatafeedHqGenerator(stock=['300033.SZ'])
for d in g1:
    print(d)
    print('\n')
    
    print('通过属性获取成交金额:%s' % d['turnover'])
    print('通过属性获取成交金额:%s' % d.turnover)
    break
2019-11-22 14:29:52,297 - INFO - {'log_id': '2a8ea05c-909f-4d57-a460-6d924ac747b2', 'detail': '行情接口登录成功', 'process': 'main'}
2019-11-22 14:29:52,549 - INFO - {'log_id': '2a8ea05c-909f-4d57-a460-6d924ac747b2', 'detail': '开始监听行情数据', 'process': 'main'}
Bar({'withdraw_buyvolume': 6, 'totalbid_volume': 415433, 'askorder_price': [95.08, 95.09, 95.1, 95.11, 95.15, 95.18, 95.19, 95.2, 95.22, 95.23], 'volume': 7197123, 'iopv': -0.0, 'pre_price': 94.92, 'open_price': 94.94, 'time': 142954000, 'withdraw_sellnum': 5, 'bidorder_volume': [100, 800, 38900, 100, 200, 300, 1300, 3400, 1200, 500], 'trade_num': 20954, 'code': '300033', 'high_price': 97.79, 'bidorder_num': 1, 'avgbid_price': 93.1, 'totalask_num': 4, 'market': 'USZA', 'withdraw_buyturnover': 5, 'date': 20191122, 'withdraw_sellvol': 2, 'totalask_volume': 1532020, 'askorder_volume': [700, 2800, 1600, 2300, 1300, 600, 200, 700, 500, 700], 'turnover': 690771820.78, 'status': '状态正常', 'downlimit_price': 85.43, 'low_price': 94.55, 'new_price': 95.06, 'bidorder_price': [95.06, 95.04, 95.0, 94.99, 94.95, 94.93, 94.91, 94.9, 94.89, 94.86], 'askorder_num': 2, 'withdraw_sellturnover': 3, 'pe': 80.61, 'outer_volume': 0, 'totalbid_num': 1, 'withdraw_buynum': 2, 'uplimit_price': 104.41, 'avgask_price': 99.38, 'inner_volume': 0})


通过属性获取成交金额:690771820.78
通过属性获取成交金额:690771820.78
字段 类型 含义 _ 字段 类型 含义
market str 市场 _ pe float 市盈率
code str 代码 _ uplimit_price float 涨停价
status str 当前状态,比如集合竞价、休市等 _ downlimit_price float 跌停价
date int YYYYMMDD行情发生的日期 _ avgbid_price float 加权平均委买价
time int HHMMSSsss _ avgask_price float 加权平均委卖价
pre_price float 昨收价 _ iopv float 上交所深交所LOF动态净值、深交所LOF动态净值
open_price float 开盘价 _ withdraw_buynum int 买入撤单笔数
high_price float 最高价 _ withdraw_buyvolume int 买入撤单数量
low_price float 最低价 _ withdraw_buyturnover int 买入撤单金额
new_price float 最新价 _ withdraw_sellnum int 卖出撤单笔数
volume int 成交量 _ wighdraw_sellvol int 卖出撤单量
turnover float 成交金额 _ wighdraw_sellturnover int 卖出撤单金额
trade_num int 成交笔数 _ totalbid_num int 买入总笔数
bidorder_price list 申买价,从买一到买十 _ totalask_num int 卖出总笔数
bidorder_volume list 申买量,从买一到买十 _ bidorder_num int 买方委托价位数
askorder_price list 申卖价,从卖一到卖十 _ askorder_num int 卖方委托价位数
askorder_volume list 申卖量,从卖一到卖十 _ inner_volume int 内盘成交量
totalbid_volume int 总委买量 _ outer_volume int 外盘成交量
totalask_volume int 总委卖量 _

获取指数快照

字段信息参见下表

In [19]:
g2 = DatafeedHqGenerator(index=['000001.SH']) #获取上证指数的信息
for d in g2:
    print(d)
    break
2019-11-22 14:12:00,027 - INFO - {'log_id': 'caa80ded-778a-4b46-922f-b1f69da42a0f', 'process': 'main', 'detail': '行情接口登录成功'}
2019-11-22 14:12:00,257 - INFO - {'log_id': 'caa80ded-778a-4b46-922f-b1f69da42a0f', 'process': 'main', 'detail': '开始监听行情数据'}
Bar({'code': '000001', 'time': 141205000, 'turnover': 147276838114.4, 'date': 20191122, 'new_price': 2879.54, 'volume': 12908191300, 'pre_price': 2903.64, 'status': '状态正常', 'market': 'USHI', 'low_price': 2878.95, 'trade_num': 0, 'open_price': 2906.24, 'high_price': 2925.02})
字段 类型 含义 _ 字段 类型 含义
market str 市场 _ high_price float 最高价
code str 代码 _ low_price float 最低价
status str 当前状态,比如集合竞价、休市等 _ new_price float 最新价
date int YYYYMMDD行情发生的日期 _ volume int 成交量
time int HHMMSSsss _ turnover float 成交金额
pre_price float 昨收价 _ trade_num int 成交笔数
open_price float 开盘价 _

获取逐笔成交

字段信息参见下表

In [14]:
g3 = DatafeedHqGenerator(trans=['300033.SZ'])
for d in g3:
    print(d)
    break
2019-11-22 14:07:54,666 - INFO - {'log_id': 'caa80ded-778a-4b46-922f-b1f69da42a0f', 'process': 'main', 'detail': '行情接口登录成功'}
2019-11-22 14:07:54,895 - INFO - {'log_id': 'caa80ded-778a-4b46-922f-b1f69da42a0f', 'process': 'main', 'detail': '开始监听行情数据'}
Bar({'market': 'USZA', 'code': '300033', 'bsflag': 'B', 'date': 20191122, 'buy_index': 11731061, 'index': 11731062, 'volume': 100, 'sell_index': 11730705, 'time': 140756010, 'price': 94.98, 'type': 'F'})
字段 类型 含义 _ 字段 类型 含义
market str 市场 _ volume int 成交量
code str 代码 _ buy_index int 买方订单号
date int YYYYMMDD行情发生的日期 _ sell_index int 卖方订单号
time int HHMMSSsss _ type str 成交类型,F=成交,C=撤单
index int 成交序号 _ bsflag str 买卖标志,B-外盘,主动买,;S-内盘,主动卖,;N-未知
price float 成交价格

获取委托队列

字段信息参见下表

In [ ]:
g4 = DatafeedHqGenerator(queue=['300033.SZ'])
for d in g4:
    print(d)
    break
2019-11-22 14:37:49,133 - INFO - {'log_id': '2a8ea05c-909f-4d57-a460-6d924ac747b2', 'detail': '行情接口登录成功', 'process': 'main'}
2019-11-22 14:37:49,365 - INFO - {'log_id': '2a8ea05c-909f-4d57-a460-6d924ac747b2', 'detail': '开始监听行情数据', 'process': 'main'}
字段 类型 含义
market str 市场
code str 代码
date int YYYYMMDD行情发生的日期
time int HHMMSSsss
side str 买卖方向,B代表买、S代表卖
price float 最优买入价或者卖出价
order_number int 委托单笔数
show_number int 揭示笔数
volume list 委托单明细,volme的个数为show_number的值

获取逐笔委托

字段信息参见下表

In [7]:
g5 = DatafeedHqGenerator(order=['300033.SZ'])
for d in g5:
    print(d)
    break
2019-11-22 10:18:32,344 - INFO - {'process': 'main', 'detail': '行情接口登录成功', 'log_id': 'ac6dce5f-86d4-48ab-b634-56e2825e204a'}
2019-11-22 10:18:32,575 - INFO - {'process': 'main', 'detail': '开始监听行情数据', 'log_id': 'ac6dce5f-86d4-48ab-b634-56e2825e204a'}
Bar({'type': '2', 'market': 'USZA', 'side': '2', 'date': 20191122, 'time': 101833420, 'code': '300033', 'price': 98.0, 'volume': 200, 'index': 4365902})
字段 类型 含义
market str 市场
code str 代码
date int YYYYMMDD行情发生的日期
time int HHMMSSsss
index int 委托序号
price float 委托价格
volume int 委托量
side str 1=买,2=卖,G=借入,F=借出
type str 订单类别,1=市价,2=限价,U=本方最优

同时获取股票快照和逐笔成交数据

可以通过DatafeedHqBar对象的type属性判断数据类别

代码 含义
stock 股票快照
index 指数快照
trans 逐笔成交
queue 委托队列
order 逐笔委托
In [8]:
g6 = DatafeedHqGenerator(stock=['300033.SZ'], trans=['300033.SZ'])
count = 0
for d in g6:
    count += 1
    if d.type == 'stock':
        print('这是一条股票数据')
        print(d)
    elif d.type == 'trans':
        print('这是一条逐笔成交数据')
        print(d)
    print('\n')
    if count >= 2:
        break
        
2019-11-22 14:26:03,561 - INFO - {'log_id': '1ea99031-4310-4d97-a633-d84dce944262', 'detail': '行情接口登录成功', 'process': 'main'}
2019-11-22 14:26:03,824 - INFO - {'log_id': '1ea99031-4310-4d97-a633-d84dce944262', 'detail': '开始监听行情数据', 'process': 'main'}
这是一条逐笔成交数据
Bar({'price': 94.93, 'sell_index': 12594094, 'code': '300033', 'time': 142606440, 'bsflag': 'S', 'date': 20191122, 'buy_index': 12588367, 'index': 12594095, 'market': 'USZA', 'volume': 100, 'type': 'F'})


这是一条股票数据
Bar({'code': '300033', 'status': '状态正常', 'totalbid_volume': 369733, 'withdraw_sellnum': 1, 'new_price': 94.93, 'inner_volume': 0, 'askorder_num': 4, 'totalask_num': 2, 'bidorder_price': [94.93, 94.92, 94.9, 94.89, 94.88, 94.85, 94.83, 94.82, 94.8, 94.79], 'high_price': 97.79, 'totalbid_num': 1, 'totalask_volume': 1536120, 'iopv': -0.0, 'uplimit_price': 104.41, 'withdraw_sellvol': 1, 'bidorder_num': 3, 'withdraw_sellturnover': 1, 'date': 20191122, 'volume': 7113423, 'market': 'USZA', 'askorder_price': [94.98, 94.99, 95.0, 95.03, 95.04, 95.06, 95.07, 95.09, 95.1, 95.11], 'open_price': 94.94, 'withdraw_buyturnover': 13, 'bidorder_volume': [900, 1300, 2200, 1000, 300, 1000, 1700, 1733, 100, 9800], 'downlimit_price': 85.43, 'avgask_price': 99.39, 'low_price': 94.55, 'trade_num': 20741, 'askorder_volume': [600, 500, 3000, 100, 300, 300, 200, 300, 300, 2200], 'avgbid_price': 92.85, 'pe': 80.5, 'withdraw_buynum': 3, 'outer_volume': 0, 'withdraw_buyvolume': 4, 'time': 142606000, 'pre_price': 94.92, 'turnover': 682821578.78})


MindgoHqGenerator

导入包

In [2]:
from tick_trade_api import MindgoHqGenerator

可以对MindgoHqGenerator对象进行迭代获取HQBar对象,可以通过属性方式调用存储在DatafeedHqBar对象的数据,字段信息参见下表

In [4]:
import pandas as pd
for bar in MindgoHqGenerator(['600000.SZ'], is_standard=False):
    print(bar.all_values())
    print('\n')
    print('通过属性获取主动买入特大单量:%s' % bar.BIGBUYCOUNT1)
    print('通过属性获取主动买入特大单量:%s' % bar['BIGBUYCOUNT1'])
    break
连接行情服务器: tcp://10.206.0.31:17004
开始监听行情数据
{'AVGYIELD': None, 'vol': None, 'SELLPRICE3': 12.0, 'BUYCOUNT2': 189600, 'HIGHYIELD': None, 'BIGSELLTICK1': 16, 'WAITBUYCOUNT3': 4079395, 'last_price': None, 'WAITBUYMONEY1': 31481337, 'WAITBUYMONEY3': 48931648, 'BIGSELLMONEY4': 39642285, 'SELLCOUNT': None, 'NEW': None, 'BIGSELLCOUNT2': 2502427, 'OUTVOL': 11470380, 'CODE': '600000', 'BUYPRICE3': 11.95, 'BIGSELLMONEY2': 30017066, 'WAITSELLMONEY2': 33168883, 'SELLCOUNT2': 144500, 'high': None, 'PREAVGYIELD': None, 'BUYCOUNT1': 79300, 'CODETYPE': '17', 'FLOWOUT': None, 'BIGBUYCOUNT3': 5668989, 'WAITSELLCOUNT3': 4367147, 'BIGBUYTICK2': 57, 'BIGSELLCOUNT1': 2660684, 'HIGH': None, 'WAITBUYTICK1': 18, 'INVOL': 12582160, 'WAITSELLTICK1': 13, 'NEWVOL': None, 'LOW': None, 'PRE': None, 'WAITSELLMONEY1': 15527693, 'SM_HQ_TICKAMOUNT': None, 'LASTYIELD': None, 'money': None, 'BUYMONEY10': 19110289, 'BIGSELLCOUNT3': 4112036, 'WAITBUYMONEY2': 36710659, 'BUYPRICE': None, 'low': None, 'symbol': '600000.SZ', 'RANGE_AVG_PRICE': None, 'BIGBUYCOUNT2': 2391830, 'OPENYIELD': None, 'BIGSELLTICK2': 61, 'BIGBUYCOUNT4': 2817461, 'BIGSELLMONEY3': 49309470, 'WAITBUYTICK2': 66, 'ZHANGSHU': -0.083, 'WAITSELLMONEY3': 52432133, 'trade_date': datetime.datetime(2019, 11, 22, 14, 28, 44), 'BUYCOUNT': None, 'buy_price1': 11.97, 'PERVOL': None, 'BIGBUYMONEY4': 33829687, 'SELLMONEY10': 17409625, 'SELLCOUNT3': 120445, 'DATETIME': 1574404124, 'CLOSE': None, 'BUYTICK': 11064, 'VOL': None, 'BIGSELLCOUNT4': 3304813, 'SELLMONEY5': 7130498, 'SELLCOUNT1': 23500, 'BIGSELLMONEY1': 31912225, 'pre_close': None, 'MONEY': None, 'sell_price1': 11.98, 'WAITSELLCOUNT2': 2762908, 'BIGBUYMONEY2': 28701934, 'SELLPRICE2': 11.99, 'BIGBUYMONEY1': 7118168.0, 'BUYMONEY5': 9011388, 'BIGBUYTICK1': 6, 'BUYPRICE1': 11.97, 'BIGBUYMONEY3': 68071272, 'OPENVOL': None, 'BIGBUYCOUNT1': 592100, 'WAITBUYCOUNT1': 2624600, 'FLOWIN': None, 'WAITSELLTICK2': 70, 'BUYPRICE2': 11.96, 'LOWYIELD': None, 'VOLCLASS': None, 'DDEFALL': None, 'SELLPRICE1': 11.98, 'ABTXS': None, 'WAITBUYCOUNT2': 3061110, 'PREYIELD': None, 'DDERISE': None, 'SELLPRICE': None, 'BUYCOUNT3': 154700, 'VOLAMOUNT': None, 'WAITSELLCOUNT1': 1293242, 'MARKETTYPE': '17', 'open': None, 'OPEN': None, 'SELLTICK': 10656}


通过属性获取主动买入特大单量:592100
通过属性获取主动买入特大单量:592100
字段 类型 含义 _ 字段 类型 含义
DATETIME int 时间 _ SELLCOUNT int 委卖
MARKETTYPE str 市场类别 _ SELLMONEY10 int 委托卖出前十档金额
CODETYPE str 证券类型 _ SELLMONEY5 int 委托卖出前五档金额
CODE str 代码 _ SELLPRICE float 卖出
PRE float 昨收 _ SELLPRICE1 float 卖一
OPEN float 开盘 _ SELLPRICE2 float 卖二
HIGH float 最高 _ SELLPRICE3 float 卖三
LOW float 最低 _ SELLCOUNT1 int 卖一量
CLOSE float 收盘 _ SELLCOUNT2 int 卖二量
VOL int 总手 _ SELLCOUNT3 int 卖三量
MONEY float 金额 _ BIGBUYCOUNT1 int 主动买入特大单量
NEW float 现价 _ BIGBUYCOUNT2 int 主动买入大单量
NEWVOL int 现手 _ BIGBUYCOUNT3 int 主动买入中单量
OPENVOL int 开盘量 _ BIGBUYCOUNT4 int 主动买入小单量
ZHANGSHU float 涨速 _ BIGBUYMONEY1 int 主动买入特大单金额
SM_HQ_TICKAMOUNT int 成交笔数 _ BIGBUYMONEY2 int 主动买入大单金额
VOLAMOUNT int 成交次数 _ BIGBUYMONEY3 int 主动买入中单金额
VOLCLASS int 成交量分类 _ BIGBUYMONEY4 int 主动买入小单金额
DDEFALL int 大单净量负个数 _ BIGBUYTICK1 int 主动买入特大单笔数
DDERISE int 大单净量正个数 _ BIGBUYTICK2 int 主动买入大单笔数
FLOWIN float 资金流入 _ BIGSELLCOUNT1 int 主动卖出特大单量
FLOWOUT float 资金流出 _ BIGSELLCOUNT2 int 主动卖出大单量
INVOL int 内盘 _ BIGSELLCOUNT3 int 主动卖出中单量
OUTVOL int 外盘 _ BIGSELLCOUNT4 int 主动卖出小单量
LOWYIELD flaot 最低收益率 _ BIGSELLMONEY1 int 主动卖出特大单金额
HIGHYIELD flaot 最高收益率 _ BIGSELLMONEY2 int 主动卖出大单金额
LASTYIELD flaot 最新收益率 _ BIGSELLMONEY3 int 主动卖出中单金额
OPENYIELD flaot 开盘收益率 _ BIGSELLMONEY4 int 主动卖出小单金额
AVGYIELD flaot 当日加权平均收益率 _ BIGSELLTICK1 int 主动卖出特大单笔数
PREAVGYIELD flaot 昨日加权平均收益率 _ BIGSELLTICK2 int 主动卖出大单笔数
PREYIELD flaot 昨日收盘收益率 _ WAITBUYCOUNT1 int 被动买入特大单量
RANGE_AVG_PRICE flaot 盘中均价 _ WAITBUYCOUNT2 int 被动买入大单量
PERVOL flaot 分价量比 _ WAITBUYCOUNT3 int 被动买入中单量
ABTXS flaot 6月贝塔系数 _ WAITBUYMONEY1 int 被动买入特大单金额
BUYTICK int 买入单数量 _ WAITBUYMONEY2 int 被动买入大单金额
BUYCOUNT int 委买 _ WAITBUYMONEY3 int 被动买入中单金额
BUYMONEY5 int 委托买入前五档金额 _ WAITBUYTICK1 int 被动买入特大单笔数
BUYMONEY10 int 委托买入前十档金额 _ WAITBUYTICK2 int 被动买入大单笔数
BUYPRICE float 买入 _ WAITSELLCOUNT1 int 被动卖出特大单量
BUYPRICE1 float 买一 _ WAITSELLCOUNT2 int 被动卖出大单量
BUYPRICE2 float 买二 _ WAITSELLCOUNT3 int 被动卖出中单量
BUYPRICE3 float 买三 _ WAITSELLMONEY1 int 被动卖出特大单金额
BUYCOUNT1 int 买一量 _ WAITSELLMONEY2 int 被动卖出大单金额
BUYCOUNT2 int 买二量 _ WAITSELLMONEY3 int 被动卖出中单金额
BUYCOUNT3 int 买三量 _ WAITSELLTICK1 int 被动卖出特大单笔数
SELLTICK int 卖出单数量 _ WAITSELLTICK2 int 被动卖出大单笔数