Appearance
股票数据分析-股票分时明细数据的获取【加推篇】
加推篇!股票分时明细数据的获取
前言
在小册子中我们主要针对于股票日线级别的行情数据,介绍了一些获取和处理的方法,其实最原始的数据是交易明细数据。
本节我们主要介绍如何解读和获取股票交易明细数据,以及处理和转换交易明细数据的方法。
解读分时明细数据
此处我们从免费行情软件中截取了某股2020年1月23日的成交明细数据,我们看到成交明细中有时间、价格、现量和笔数四列数据,如下图所示:
由于是免费行情软件,此处“成交明细”数据是以3-6秒间隔去记录的(不同软件可能有差异),表示在这个时间撮合的多笔单子的总和,因此确切地说是“分时成交”数据,即依据时间段为单位统计的结果,笔数这栏表示的是在这个周期内总共成交了几笔。
这不同于“逐笔成交”的数据,“逐笔成交”数据记录的是每一笔成交的明细,这个属于行情软件收费范畴的功能(开通Level2功能)。比如像以下这样的数据,如图所示:
再来看下现量这栏,现量指的是当前分时的成交量,以手为单位。其中有三种颜色,分别是红色、绿色和白色。红色代表主动买单,绿色代表主动卖单,这部分与“五档买卖明细”相关,如下图所示:
我们知道交易所成交的规则为“价格优先、时间优先”,挂单价比现价高就会优先成交,因此主动买单,指的是以委卖的价格成交,即以买卖档位窗口中“卖一”及以上的价格成交。主动卖单跟主动买单刚好相反,以“买一”及以下的价格成交,挂的卖单价格比现价低就会优先成交。
从内外盘可以看出委买委卖的情况,即外盘代表主动买盘的集合,内盘代表主动卖盘的集合。 当然,白色也比较好理解了,即指的是主动买单和主动卖单相等的情况。
获取分时明细数据
此处我们采用tushare库get_tick_data()接口来获取个股以往交易历史的分笔数据明细。比如我们获取'002372'该股'2020-01-23'当天的历史数据,如下所示:
# 获取个股以往交易历史的分笔数据明细
df_tick = ts.get_tick_data('002372',date='2020-01-23',src='tt')
print(df_tick[2000:2010])
"""
time price change volume amount type
2000 13:37:16 12.39 -0.01 126 156114 卖盘
2001 13:37:19 12.38 -0.01 1 1238 卖盘
2002 13:37:25 12.38 0.00 39 48322 卖盘
2003 13:37:28 12.39 0.01 25 30953 买盘
2004 13:37:37 12.38 -0.01 2 2476 中性盘
2005 13:37:40 12.36 -0.02 14 17345 卖盘
2006 13:37:43 12.40 0.04 1 1240 买盘
2007 13:37:46 12.40 0.00 1 1240 买盘
2008 13:37:49 12.40 0.00 63 77978 买盘
2009 13:37:58 12.39 -0.01 1 1239 买盘
"""
返回值中time时间、price成交价格、change价格变动、volume成交手、amount成交金额(元)、type买卖类型【买盘、卖盘、中性盘】。我们验证该数据与行情软件的成交明细数据稳和。如下图所示:
然后我们采用小册子《差异化分析常用股票交易数据接口》一节的方法将分笔数据的行索引转换为时间序列,完整代码如下所示:
df_tick.index = pd.to_datetime(df_tick.time)
df_tick.drop(axis=1, columns='time', inplace=True)
print(df_tick[2000:2010])
转换后数据如下所示:
"""
price change volume amount type
time
2020-02-01 13:37:16 12.39 -0.01 126 156114 卖盘
2020-02-01 13:37:19 12.38 -0.01 1 1238 卖盘
2020-02-01 13:37:25 12.38 0.00 39 48322 卖盘
2020-02-01 13:37:28 12.39 0.01 25 30953 买盘
2020-02-01 13:37:37 12.38 -0.01 2 2476 中性盘
2020-02-01 13:37:40 12.36 -0.02 14 17345 卖盘
2020-02-01 13:37:43 12.40 0.04 1 1240 买盘
2020-02-01 13:37:46 12.40 0.00 1 1240 买盘
2020-02-01 13:37:49 12.40 0.00 63 77978 买盘
2020-02-01 13:37:58 12.39 -0.01 1 1239 买盘
"""
总结
本小节我们理解了行情软件上分时明细数据的含义,以及获取这些数据的方法,这有助于我们更灵活地去提取和挖掘我们所需的行情信息。