BigQuant和同花顺季线数据有些出入,什么原因呢?


(kettle) #1

我单独计算了BigQuant的季线数据,发现数值和同花顺有一些出入(都是后复权数据),这是为什么呢?

希望管理员回复下!


(iQuant) #2

你好,不同的数据源本身数据可能有一些差异,另外,由于都是后复权数据,因此数据会受复权算法影响,对于多家平台而言,复权算法一般都不一样。其实,这并不影响你的策略开发,只要保持正确合理的复权算法,那么是可以用来开发策略的。关注数据的相对关系比关注数据本身数值更为重要。

我重新计算了下万科的后复权季线数据, 代码如下:

其中,2016年第一季度和第二季度为一字板是因为万科停牌的原因。

克隆策略
In [24]:
# 获取万科日行情数据
df=D.history_data([  '000002.SZA',], start_date='2006-01-01', end_date='2017-11-10',fields=['open', 'high', 'low', 'close', 'list_date'])
df.set_index('date', inplace=True)

# 不同周期数据转换函数
def resample(df):
    # https://pandas-docs.github.io/pandas-docs-travis/timeseries.html#offset-aliases
    # 周 W、月 M、季度 Q、10天 10D、2周 2W
    period = 'Q'

    quarterly_df = df.resample(period, how='last')
    quarterly_df['open'] = df['open'].resample(period, how='first')
    quarterly_df['high'] = df['high'].resample(period, how='max')
    quarterly_df['low'] = df['low'].resample(period, how='min')
    quarterly_df['close'] = df['close'].resample(period, how='last')
     
    # 去除空的数据(没有交易的周)
    quarterly_df = quarterly_df[quarterly_df.instrument.notnull()]
    quarterly_df.reset_index(inplace=True)
    return quarterly_df

# 将日K线转换为季K线
quarterly_df = df.groupby('instrument').apply(resample)
quarterly_df.reset_index(drop=True, inplace=True)
quarterly_df.tail()
Out[24]:
date high instrument open close low list_date
43 2016-12-31 3850.691650 000002.SZA 3319.561768 2728.679688 2668.927734 1991-01-29
44 2017-03-31 2974.327393 000002.SZA 2728.679688 2732.663330 2671.583252 1991-01-29
45 2017-06-30 3516.079834 000002.SZA 2739.302490 3315.578369 2432.574951 1991-01-29
46 2017-09-30 4149.207520 000002.SZA 3287.694092 3604.126221 2884.035156 1991-01-29
47 2017-12-31 4193.143555 000002.SZA 3768.886230 3777.124268 3516.254150 1991-01-29
In [25]:
# 绘制K线图
T.plot(quarterly_df[['open', 'high', 'low', 'close','date']].set_index('date'),
       # 设置图表title和高度;'series': [{},{'type': 'column'}] 设置第二个数据系列(即 amount)显示类型为柱状图(column)
       options={'chart': {'title': '股票数据分析', 'height': 500}, 'series': [{},{'type': 'column'}]},
       stock=True, candlestick=True)

我们再来看看同花顺的后复权数据,截图如下:

把同花顺和BigQuant的数据对比来看,其实整体走势是一致的。

更为重要的是,如果一根一根K线去对比,发现每根K线数据基本上是对应得上的。