但是,有的朋友在做高频的量化交易或一些更加科学量化计算时,需要更细粒度,更加实时的交易数据,甚至获取当前股票的五档盘口的信息,包括买一到买五档口,卖一到卖五档口的全部挂单价格及挂单量数据。这种数据,我们称之为quotes数据,这些数据,对于高频交易的量化分析至关重要。通过这些数据,可以分析盘口变化,及时作出开仓平仓决策。
那么,大操手量化投资现在就一步步教大家,如何用Python利用Tushare来获取这些量化交易数据,并将这些实时数据存入mysql,做成我们的量化交易数据库。
这步骤,之前文章已经讲过了哦。我们这里就不再重复。
获取实盘quotes数据
老规矩,创建一个py文件,开头部分,写如下代码,导入需要的包:
# 导入时间包
from time import sleep
# 导入tushare包
import tushare as ts
利用tushare包获取quotes数据,并打印出来,我们这次不再获取600000啦,我们换一个深交所的股票:000581,威孚高科
df = ts.get_realtime_quotes('000581') #获取指定股票的quotes数据
df.to_csv("000581.csv")
print(df)
控制台输出打印结果如下:
name open pre_close price high low bid ask volume amount b1_v b1_p b2_v b2_p b3_v b3_p b4_v b4_p b5_v b5_p a1_v a1_p a2_v a2_p a3_v a3_p a4_v a4_p a5_v a5_p date time code
威孚高科 19.2 18.86 19.34 19.62 19.08 19.33 19.34 6271033 121744758.5 91 19.33 95 19.31 166 19.3 58 19.29 39 19.28 9 19.34 5 19.4 10 19.41 2 19.43 20 19.45 2020/3/25 11:30:00 581
中间被隐藏很多字段,不要紧我们打开000581.csv文件查看:

quotes数据格式
这个返回的数据总共有30个字段,字段信息如下:
- name,股票名字
- open,今日开盘价
- pre_close,昨日收盘价
- price,当前价格
- high,今日最高价
- low,今日最低价
- bid,竞买价,即“买一”报价
- ask,竞卖价,即“卖一”报价
- volume,成交量
- amount,成交金额
- b1_v 到 b5_v (bid_volume, 5个字段)分别代表买一到买5的盘口挂单量
- b1_p 到 b5_p (bid_price, 5个字段)分别代表买一到买5的盘口委托价格
- a1_v 到 a5_v (ask_volume, 5个字段)分别代表卖一到卖5的盘口挂单量
- a1_p 到 a5_p (ask_price, 5个字段)分别代表卖一到卖5的盘口委托价格
- date,数据日期
- time,数据时间,精确到秒
以上的数据信息,就是我们需要的quotes交易实盘数据信息。
但是,这样只能获取一条数据,如果我们要实时获取,那么我们就要用一个循环调用,间隔一定的时间不断的查询接口获取数据,才能保证数据的实时性,所以,我们在代码中加入循环,每间隔1秒调用一次,同时以追加的方式,将实时获取的数据,追加补充到csv文件中,代码如下:
df = ts.get_realtime_quotes('000581')
print(df)
df.to_csv("000581.csv")
while True:
df = ts.get_realtime_quotes('000581')
#以追加方式写入csv文件,设置mode='a'并且去掉头部。
df.to_csv('my_csv.csv', mode='a', header=False)
#每隔1秒获取一次
sleep(1)
打开csv文件,查看数据:

可以看到每秒插入一条数据,数据格式跟上面的一致。
OK,我们已经获得我们希望获得的五档盘口实时数据啦。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/76874
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!