Skip to content
On this page

股票数据分析-股票分时明细数据的获取【加推篇】


加推篇!股票分时明细数据的获取

前言

在小册子中我们主要针对于股票日线级别的行情数据,介绍了一些获取和处理的方法,其实最原始的数据是交易明细数据。

本节我们主要介绍如何解读和获取股票交易明细数据,以及处理和转换交易明细数据的方法。

解读分时明细数据

此处我们从免费行情软件中截取了某股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   买盘
"""

总结

本小节我们理解了行情软件上分时明细数据的含义,以及获取这些数据的方法,这有助于我们更灵活地去提取和挖掘我们所需的行情信息。