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

ptrade 平台 get_cb_info 函数返回的可转债数据包含哪些字段?

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

问题描述

get_cb_info返回的DataFrame包含哪些字段?

get_cb_info返回的可转债数据包含哪些信息,如何解析这些字段?

解决方案

在 ptrade 量化交易平台中,get_cb_info() 函数用于获取可转债的基础信息。该函数正常调用后会返回一个 pandas.DataFrame 类型的数据,其中包含了市场上可转债的核心基础数据。

get_cb_info 返回的 DataFrame 字段详解

返回的 DataFrame 包含以下关键字段,您可以根据这些字段进行可转债策略的编写和数据分析:

字段名 数据类型 字段含义
bond_code str 可转债代码(如 '110033.SS')
bond_name str 可转债名称
stock_code str 对应的正股股票代码
stock_name str 对应的正股股票名称
list_date str 可转债上市日期
premium_rate float 溢价率(衡量可转债价格相对于其转股价值的溢价程度)
convert_date str 转股起始日(从该日期起可以转换为正股)
maturity_date str 到期日
convert_rate float 转股比例(每张可转债可转换的股票数量)
convert_price float 转股价格(转换为正股时每股的价格)
convert_value float 转股价值(当前正股价格乘以转股比例)

注意事项

  1. 权限要求:此 API 依靠可转债基础数据权限,使用前请与券商确认是否有此权限。如果无权限,调用将返回空的 DataFrame。
  2. 异常处理:获取失败时也会返回空的 DataFrame,因此在解析数据前,建议先检查 DataFrame 是否为空(如 if not df.empty:)。

代码示例:如何获取并解析这些字段

以下是一个在 ptrade 策略中调用 get_cb_info 并解析特定字段的示例:

def initialize(context):
    # 设置策略操作的标的(此处仅为示例,get_cb_info 会返回全市场数据)
    g.security = '600570.SS'
    set_universe(g.security)

def handle_data(context, data):
    # 获取可转债基础信息
    cb_df = get_cb_info()
    
    # 检查是否成功获取到数据
    if not cb_df.empty:
        log.info("成功获取可转债基础信息,共 %d 条记录" % len(cb_df))
        
        # 示例 1:打印前 5 条记录的所有信息
        log.info(cb_df.head())
        
        # 示例 2:筛选出溢价率小于 5% 且转股价值大于 100 的可转债
        # 注意:实际使用时需确保 premium_rate 和 convert_value 字段没有缺失值(NaN)
        target_cbs = cb_df[(cb_df['premium_rate'] < 0.05) & (cb_df['convert_value'] > 100)]
        
        if not target_cbs.empty:
            log.info("符合低溢价、高转股价值条件的可转债代码列表:")
            # 提取符合条件的可转债代码列表
            target_codes = target_cbs['bond_code'].tolist()
            log.info(target_codes)
    else:
        log.warning("获取可转债信息失败或无权限,返回了空 DataFrame。")

通过上述字段,您可以轻松计算双低指标(价格 + 溢价率)、监控转股期等,从而构建丰富的可转债量化交易策略。