问题描述
在回测模块中使用get_cb_info获取可转债信息报错,为什么?
解决方案
核心解答
不可以。 get_cb_info 接口在 ptrade 的回测模块中是不可用的。
报错原因分析
根据 ptrade API 官方文档的说明,get_cb_info(获取可转债基础信息)接口的使用场景仅限于“研究”和“交易”模块。
如果您在“回测”模块(如 initialize 或 handle_data 等回测环境中)强行调用该函数,系统会因为在该环境中未注册或不支持该接口而抛出异常报错。
补充注意事项
即使您在正确的模块(研究或交易模块)中使用 get_cb_info,也需要注意以下几点以避免获取不到数据:
- 数据权限限制:此 API 依靠可转债基础数据权限。在使用前,请务必与您的所属券商确认是否已经开通了此权限。如果无权限,调用该接口将不会报错,但会返回一个空的 DataFrame。
- 异常返回:在网络或系统获取失败时,该接口同样会返回空的 DataFrame,策略中应当做好数据为空的异常处理保护逻辑(例如
if df.empty:判断)。
替代方案建议
如果您必须在回测中获取可转债信息,建议您在研究模块中先调用 get_cb_info 获取所需的可转债基础数据,将其保存为 CSV 或 Pickle 文件,然后在回测模块中通过读取该本地文件的方式来加载可转债信息。