前文介绍了PTrade的get_fundamentals函数,可以用于获取股票的财务数据。但在实际应用中,会遇到如下的问题。
前文我们通过将回测时间设置为2023-05-05进行回测调用get_fundamentals,得到如下查询结果:
secu_code | publ_date | end_date | operating_revenue_grow_rate | net_profit_grow_rate | secu_abbr |
---|---|---|---|---|---|
600900.SS | 2023-04-28 | 2023-03-31 | 25.1657 | 18.0351 | 长江电力 |
601877.SS | 2023-04-29 | 2023-03-31 | 47.3708 | 132.9152 | 正泰电器 |
可以看到长江电力的财报公告时间是2023-04-28,正泰电器的财报公告时间是2023-04-29。如果我们把回测时间调整为2023-04-20,查询的结果如下所示:
2023-04-20 08:30:00 - INFO - publ_date net_profit_grow_rate secu_abbr end_date \
secu_code
600900.SS NaN NaN NaN NaN
601877.SS NaN NaN NaN NaN
operating_revenue_grow_rate
secu_code
600900.SS NaN
601877.SS NaN
可以看到此时返回的结果为空。
我们调整回测时间发现,从2023-01-03开始到股票的2023年第一季度报告发布,get_fundamentals返回的数据均未空。当回测时间调整为2022-12-30时,查询的结果如下所示:
2022-12-30 08:30:00 - INFO - end_date net_profit_grow_rate operating_revenue_grow_rate \
secu_code
600900.SS 2022-09-30 -2.5688 2.0303
601877.SS 2022-09-30 21.2604 21.7318
publ_date secu_abbr
secu_code
600900.SS 2022-10-31 长江电力
601877.SS 2022-10-29 正泰电器
对输出做一下整理:
secu_code | publ_date | end_date | operating_revenue_grow_rate | net_profit_grow_rate | secu_abbr |
---|---|---|---|---|---|
600900.SS | 2022-10-31 | 2022-09-30 | -2.5688 | 2.0303 | 长江电力 |
601877.SS | 2022-10-29 | 2022-09-30 | 21.2604 | 21.7318 | 正泰电器 |
可见,长江电力在2022-10-31发布的第三季度报,正泰电器在2022-10-29发布的第三季度报。
归纳总结一下,在调用get_fundamentals函数,且参数date设置为当前交易日时,查询返回的结果为上一季度的财务数据。
如果我们的需求是,查询最新的财务数据,那就需要对get_fundamentals进行改造,下一篇文章将进行具体介绍。
博客内容只用于交流学习,不构成投资建议,盈亏自负!
个人博客:http://coderx.com.cn/(优先更新)
项目最新代码:https://gitee.com/sl/quant_from_scratch
欢迎大家转发、留言。有微信群用于学习交流,感兴趣的读者请扫码加微信!
如果认为博客对您有帮助,可以扫码进行捐赠,感谢!
微信二维码 | 微信捐赠二维码 |
---|---|