PTrade财务数据获取函数的问题

前文介绍了PTrade的get_fundamentals函数,可以用于获取股票的财务数据。但在实际应用中,会遇到如下的问题。

前文我们通过将回测时间设置为2023-05-05进行回测调用get_fundamentals,得到如下查询结果:

secu_codepubl_dateend_dateoperating_revenue_grow_ratenet_profit_grow_ratesecu_abbr
600900.SS2023-04-282023-03-3125.165718.0351长江电力
601877.SS2023-04-292023-03-3147.3708132.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_codepubl_dateend_dateoperating_revenue_grow_ratenet_profit_grow_ratesecu_abbr
600900.SS2022-10-312022-09-30-2.56882.0303长江电力
601877.SS2022-10-292022-09-3021.260421.7318正泰电器

可见,长江电力在2022-10-31发布的第三季度报,正泰电器在2022-10-29发布的第三季度报。

归纳总结一下,在调用get_fundamentals函数,且参数date设置为当前交易日时,查询返回的结果为上一季度的财务数据。

如果我们的需求是,查询最新的财务数据,那就需要对get_fundamentals进行改造,下一篇文章将进行具体介绍。


博客内容只用于交流学习,不构成投资建议,盈亏自负!

个人博客:http://coderx.com.cn/(优先更新)
项目最新代码:https://gitee.com/sl/quant_from_scratch
欢迎大家转发、留言。有微信群用于学习交流,感兴趣的读者请扫码加微信!
如果认为博客对您有帮助,可以扫码进行捐赠,感谢!

微信二维码微信捐赠二维码
在这里插入图片描述在这里插入图片描述
### 如何在PTrade平台中获取股票市盈率数据 为了在PTrade平台上获取股票市盈率(PE Ratio)的数据并将其应用于量化交易策略,可以通过API接口实现自动化操作。具体方法如下: #### 使用Python连接PTrade API 首先安装必要的库文件以便于后续调用API服务。 ```bash pip install requests pandas ``` 接着编写一段简单的Python脚本来请求特定证券的最新财务比率信息,这里假设目标为某只A股市场的股票代码`'sh.600519'`作为例子。 ```python import requests import json import pandas as pd def get_pe_ratio(stock_code='sh.600519'): url = "https://api.ptoledata.com/quote-service/api/v1/stock/fundamental" headers = { 'Content-Type': 'application/json', 'Authorization': '<your_api_key>' # 替换成自己的授权密钥 } payload = {"symbol": stock_code, "fields":["peTTM"]} response = requests.post(url, data=json.dumps(payload), headers=headers) if response.status_code == 200: result = response.json() df = pd.DataFrame(result['data']) pe_ttm = df.loc[df['field'] == 'peTTM', 'value'].values[0] return float(pe_ttm) else: raise Exception(f"Error fetching PE ratio: {response.text}") if __name__ == '__main__': try: print(get_pe_ratio()) except Exception as e: print(e) ``` 这段代码展示了如何通过POST请求向PTrade服务器发送指令来检索指定股票的历史或实时市盈率数据[^3]。注意这里的URL地址以及字段名称可能会随着版本更新而有所变化,请参照官方文档确认最新的参数设置。 一旦成功获得了所需的市盈率数值之后就可以进一步设计基于此指标的投资逻辑了。例如可以根据同的EP标准筛选潜在标的物,并结合其他辅助条件形成更加复杂的选股模型;也可以利用滚动窗口计算平均值来进行趋势判断等[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值