收盘价很奇怪的问题


(cangelzz) #1

instruments = list(filter(lambda x:x.startswith("0006"), D.instruments()))
start_date = "2017-12-01"
end_date = "2017-12-10"
df = D.history_data(instruments, start_date, end_date, fields=['close', 'amount'], price_type='original')
df.set_index('date', inplace=True)
df = df[df.amount > 0]
print(df)

这样的语句跑出来的收盘价好多几百的,看着也不是复权后的价格

2017-12-01  000623.SZA  1.737113e+08  464.852997
2017-12-01  000625.SZA  3.182095e+08   97.861130
2017-12-01  000626.SZA  2.999443e+07  137.427246
2017-12-01  000627.SZA  2.000666e+08  245.771805

但是缩小股票范围后又正常了
instruments = list(filter(lambda x:x.startswith("00062"), D.instruments()))

2017-12-05  000623.SZA  378065888.0  22.860001
2017-12-05  000625.SZA  359508256.0  13.150000
2017-12-05  000626.SZA   36072656.0  12.030000
2017-12-05  000627.SZA  279224928.0   8.890000

这是怎么回事儿


(shen5455) #2

哈哈,我也发现了history_data 设置了price_type没有效果


(iQuant) #3

好的,问题我已经复现了哈,正在交给数据工程师看!


(iQuant) #4

您好,由于数据这块的项目,我们最近要做一些大的升级,因此,建议大家先试用后复权价格模式。等我们升级完成了再使用前复权和真实价格模式。

真实价格模式一是性能有点慢,二是可能存在一些问题。建议大家使用默认的后复权模式做策略试验。

df = D.history_data(instruments, start_date, end_date, fields=['close'], price_type='back_forward')