量化交易数据获取,Python实时获取股票五档盘口数据

我们之前已经教大家如何使用python,利用第三方免费开源库Tushare获取沪深两市的股票基础信息,包括上市时间,股东数量,净市盈率等等基本面数据。也通过编程代码实战,教大家如何获取指定股票的k线数据,包括5分钟K线,60分钟k线以及日线数据等等。

但是,有的朋友在做高频的量化交易或一些更加科学量化计算时,需要更细粒度,更加实时的交易数据,甚至获取当前股票的五档盘口的信息,包括买一到买五档口,卖一到卖五档口的全部挂单价格及挂单量数据。这种数据,我们称之为quotes数据,这些数据,对于高频交易的量化分析至关重要。通过这些数据,可以分析盘口变化,及时作出开仓平仓决策。

那么,大操手量化投资现在就一步步教大家,如何用Python利用Tushare来获取这些量化交易数据,并将这些实时数据存入mysql,做成我们的量化交易数据库。

安装Tushare

这步骤,之前文章已经讲过了哦。我们这里就不再重复。

获取实盘quotes数据

老规矩,创建一个py文件,开头部分,写如下代码,导入需要的包:

<code># 导入时间包
from time import sleep
# 导入tushare包
import tushare as ts/<code>

利用tushare包获取quotes数据,并打印出来,我们这次不再获取600000啦,我们换一个深交所的股票:000581,威孚高科

<code>    df = ts.get_realtime_quotes('000581')  #获取指定股票的quotes数据
df.to_csv("000581.csv")
print(df)/<code>

控制台输出打印结果如下:

<code>name\topen\tpre_close\tprice\thigh\tlow\tbid\task\tvolume\tamount\tb1_v\tb1_p\tb2_v\tb2_p\tb3_v\tb3_p\tb4_v\tb4_p\tb5_v\tb5_p\ta1_v\ta1_p\ta2_v\ta2_p\ta3_v\ta3_p\ta4_v\ta4_p\ta5_v\ta5_p\tdate\ttime\tcode
威孚高科\t19.2\t18.86\t19.34\t19.62\t19.08\t19.33\t19.34\t6271033\t121744758.5\t91\t19.33\t95\t19.31\t166\t19.3\t58\t19.29\t39\t19.28\t9\t19.34\t5\t19.4\t10\t19.41\t2\t19.43\t20\t19.45\t2020/3/25\t11:30:00\t581
/<code>

中间被隐藏很多字段,不要紧我们打开000581.csv文件查看:

量化交易数据获取,Python实时获取股票五档盘口数据

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文件中,代码如下:

<code>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)/<code>

打开csv文件,查看数据:

量化交易数据获取,Python实时获取股票五档盘口数据

可以看到每秒插入一条数据,数据格式跟上面的一致。


OK,我们已经获得我们希望获得的五档盘口实时数据啦。


关注大操手量化投资,每天学习量化交易知识,下一个躺着挣钱的人就是你!


分享到:


相關文章: