get_price函数的BUG

用户头像大道都磨灭了
2024-08-23 发布

直接问题复现:

研究环境中,获取所有股票代码

end_date='2024-08-22'#日期不重要,其他日期都一样
all_stock=list(get_all_securities('stock').index)

然后获取前10只股票的价格行情,每隔22个交易日取收盘价

price = get_price(all_stock[:10],start_date=None,end_date=end_date,fre_step="22d",fields=["close"],skip_paused=True,fq="pre",bar_count=12,is_panel=True)['close']

查看这个行情序列, 其实就是看过去一整年每月的收盘价. 结果如下:

a04bd1126cc0b198bdb79e9356a509b4.png

这个结果是符合期望的,注意左边的日期index,基本上都是间隔了22个交易日.

如果输入所有的股票列表(上面是只取前10个),那么神奇的事情就发生了

price = get_price(all_stock,start_date=None,end_date=end_date,fre_step="22d",fields=["close"],skip_paused=True,fq="pre",bar_count=10,is_panel=True)['close']

ccbe06e2dae09da7422a38473bcfca1f.png

看index日期列,没有再间隔22个交易日了!!!而是显示每天的行情,不在取值日期的填充为了NaN. 这种随着股票数量而出现不同的结果的bug, 请问是怎么回事? get_price是最重要的行情获取函数了!!

评论

用户头像
2024-08-26 20:12:51

skip_paused=改成False就一样了。因为不同股票有不同的停牌时间,用panel表示会自动填nan

评论