3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化平台中使用 get_cb_info 接口获取可转债基础信息时,如果返回空的 DataFrame,通常不是代码本身的语法错误,而是由以下几个原因导致的:
这是最常见的原因。根据 ptrade API 文档说明:
此 API 依靠可转债基础数据权限,使用前请与券商确认是否有此权限,无权限时调用返回空 DataFrame。
解决方法:
请联系您开户的券商客服或客户经理,确认您的 ptrade 账户是否已经开通了“可转债基础数据”的权限。如果没有,请申请开通。
在极少数情况下,可能是由于网络波动或服务器端数据服务暂时不可用,导致获取数据失败。
解决方法:
get_cb_info 的调用增加异常处理和重试逻辑。请注意 get_cb_info 的使用场景限制:
该函数仅在研究、交易模块可用。
解决方法:
确保您是在“研究”模块(如 Jupyter Notebook)或“交易”模块中调用此函数。如果在不支持的模块(如某些特定的回测环境,具体视券商配置而定)中调用,可能会出现异常。
当遇到 get_cb_info 返回空 DataFrame 时,首要步骤是联系券商确认权限。确认权限无误后,再排查网络或运行环境的问题。
示例代码(带简单检查):
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
df = get_cb_info()
if df.empty:
log.warning("获取可转债信息失败,返回空 DataFrame。请检查是否开通了可转债基础数据权限!")
else:
log.info("成功获取可转债信息,共 %d 条记录。" % len(df))
# log.info(df.head())