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

ptrade 平台如何获取可转债溢价率与转股价格?(附 Python 源码)

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

问题描述

ptrade API 教程:获取可转债溢价率与转股价值
如何使用 get_cb_info 接口获取可转债的溢价率和转股价格等基础信息?

解决方案

ptrade API 教程:获取可转债溢价率与转股价值

在 ptrade 量化交易平台中,进行可转债交易或套利策略时,获取可转债的溢价率转股价格转股价值等基础数据是至关重要的。ptrade 提供了专门的接口 get_cb_info 来获取这些信息。


1. 接口介绍:get_cb_info

接口说明

get_cb_info() 用于获取当前市场上可转债的基础信息。该接口依靠可转债基础数据权限,使用前请与券商确认是否有此权限。如果获取失败,接口将返回空 DataFrame

返回字段说明

调用成功后,将返回一个 pandas.DataFrame 对象,包含以下核心字段:

  • bond_code: 可转债代码 (str)
  • 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)

2. 完整策略源码示例

以下是一个在 ptrade 平台中获取可转债基础信息并筛选出低溢价率可转债的完整策略示例:

def initialize(context):
    # 设置我们要操作的股票池(这里以恒生电子为例)
    g.security = '600570.SS'
    set_universe(g.security)
    
    # 每天 9:30 运行一次数据获取函数
    run_daily(context, get_convertible_bond_data, time='9:30')

def get_convertible_bond_data(context):
    log.info("开始获取可转债基础数据...")
    
    # 调用 get_cb_info 接口获取所有可转债信息
    df = get_cb_info()
    
    if df.empty:
        log.warning("未能获取到可转债数据,请检查是否开通相关权限。")
        return
    
    # 打印前 5 条数据查看结构
    log.info("可转债数据样例:")
    log.info(df.head())
    
    # 筛选出溢价率 (premium_rate) 小于 5% 且已经进入转股期的可转债
    # 注意:部分数据可能为 NaN,需进行异常处理
    target_bonds = df[df['premium_rate'] < 0.05]
    
    log.info(f"当前市场溢价率小于 5% 的可转债数量为: {len(target_bonds)}")
    if not target_bonds.empty:
        # 打印筛选后的可转债代码、名称、溢价率及转股价格
        log.info(target_bonds[['bond_code', 'bond_name', 'premium_rate', 'convert_price', 'convert_value']])

def handle_data(context, data):
    pass

3. 注意事项

  1. 权限确认get_cb_info 接口依赖券商端的数据权限,若调用返回空 DataFrame,请联系券商客服开通“可转债基础数据权限”。
  2. 数据过滤:在实际交易中,建议对返回的 DataFrame 进行清洗(如去除 NaN 值),以防在计算或筛选时出现程序报错。