D.history_data 获取的股价不对


(mlnotes) #1

这是简单的代码

D.history_data(['0700.HKEX', '600694.SHA'], fields=['name', 'amount', 'volume', 'open', 'close', 'high', 'low'], start_date='2018-01-01', end_date='2018-01-03')

运行的结果如下
open amount close low high instrument date volume name
0 154.553452 4.685514e+07 155.702377 154.415588 156.024078 600694.SHA 2018-01-02 1385647 大商股份
1 2149.219971 1.006083e+10 2200.843506 2147.113037 2201.896973 0700.HKEX 2018-01-02 24080505 腾讯控股

查询出来的腾讯2018-01-02的开盘价是2149.219971, 这明显不对,请问大家是我的用法错了还是怎么回事?谢谢!


(mlnotes) #2

找到原因了,除以一下 adjust_factor 就可以了,代码可以这么写

data = D.history_data(['0700.HKEX', '600694.SHA'], fields=['name', 'amount', 'volume', 'open', 'close', 'high', 'low', 'adjust_factor'], start_date='2018-01-01', end_date='2018-01-03')

data['real_open'] = data['open'] / data['adjust_factor']


(iQuant) #3

是的 获取的价格默认为后复权的。所以结合复权因子调整下,就可以得到真实成交价格!