🚀 AI 一键生成 ptrade 策略代码
立即体验
👉 AI 生成代码 👈

ptrade 平台 get_cb_info 函数调用指南:无参数获取全量可转债信息

ptrade | 发布时间: 2026/6/8
以下内容由 EasyQuant 生成。

问题描述

get_cb_info需要传入参数吗?

调用get_cb_info函数时需要传入什么参数,为什么文档说无参数?

解决方案

在 ptrade 量化平台中,调用 get_cb_info() 函数时确实不需要传入任何参数

为什么不需要传参?

这是因为 get_cb_info() 函数的设计初衷是一次性获取全市场所有可转债的基础信息。它返回的是一个包含所有可转债数据的 pandas.DataFrame 对象。由于它是获取全量数据,因此不需要您指定特定的可转债代码或日期。

如果您只需要某一只或某几只特定可转债的信息,您可以在获取到全量的 DataFrame 后,使用 pandas 的数据筛选功能来提取您需要的数据。

返回数据包含哪些信息?

返回的 DataFrame 包含以下关键字段:

  • bond_code: 可转债代码
  • bond_name: 可转债名称
  • stock_code: 正股代码
  • stock_name: 正股名称
  • list_date: 上市日期
  • premium_rate: 溢价率
  • convert_date: 转股起始日
  • maturity_date: 到期日
  • convert_rate: 转股比例
  • convert_price: 转股价格
  • convert_value: 转股价值

代码示例

以下是如何调用该函数并筛选特定可转债信息的示例:

def initialize(context):
    # 设置一只股票作为示例,虽然 get_cb_info 不需要
    g.security = '600570.SS'
    set_universe(g.security)

def handle_data(context, data):
    # 1. 无参数调用,获取所有可转债基础信息
    cb_df = get_cb_info()
    
    if not cb_df.empty:
        log.info("成功获取全量可转债信息,共 %d 条记录" % len(cb_df))
        
        # 2. 假设我们想查找正股代码为 '600570.SS' 的可转债信息
        # 注意:实际中恒生电子可能没有可转债,这里仅为筛选语法示例
        target_stock = '600570.SS'
        specific_cb = cb_df[cb_df['stock_code'] == target_stock]
        
        if not specific_cb.empty:
            log.info("找到对应的可转债信息:\n%s" % specific_cb)
        else:
            log.info("未找到正股代码为 %s 的可转债" % target_stock)
    else:
        log.info("获取可转债信息失败或无权限")

注意事项
此 API 依靠可转债基础数据权限,使用前请与券商确认是否有此权限,无权限时调用会返回空的 DataFrame。