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

JoinQuant 平台如何获取可转债行情?支持 get_price 和 tick 级数据吗?

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

问题描述

可转债:get_price 与 tick 级行情数据

未来是否有将可转债接入 get_price() 查询接口?或者应该用什么 symbol 作为查询参数?我尝试使用 '123015.XSHE' 但是提示“找不到标的”。现在是用过 query 获得的日级行情:
p = bond.run_query(
query(bond.CONBOND_DAILY_PRICE).filter(bond.CONBOND_DAILY_PRICE.code == 123015,
bond.CONBOND_DAILY_PRICE.date == '2021-06-08'))
同理,可转债是否支持 tick 级交易,包括使用 subscribe 函数订阅行情?

解决方案

JoinQuant 可转债行情支持现状解析

针对您在 JoinQuant(聚宽)平台上获取可转债行情遇到的问题,以下是详细的解答和当前的解决方案:

1. get_price() 接口是否支持可转债?

目前,JoinQuant 的核心行情接口 get_price() 暂不支持直接查询可转债的行情数据

根据 JoinQuant API 文档,get_price 以及 get_all_securities 支持的标的类型(types)主要包括:股票 (stock)、基金 (fund, etf, lof 等)、指数 (index)、期货 (futures) 和期权 (options)。可转债尚未被纳入这些标准行情接口的查询范围内。

因此,当您尝试传入 '123015.XSHE' 时,系统会提示“找不到标的”。

当前的正确做法:
正如您所尝试的,目前获取可转债日线行情和基本面数据的唯一官方途径是通过 bond.run_query 查询底层数据库。您的代码是正确的:

from jqdata import *

# 获取可转债日线行情
p = bond.run_query(
    query(bond.CONBOND_DAILY_PRICE).filter(
        bond.CONBOND_DAILY_PRICE.code == '123015',
        bond.CONBOND_DAILY_PRICE.date == '2021-06-08'
    )
)
print(p)

(注:建议 code 字段传入字符串格式,以防部分代码前导零丢失)

2. 可转债是否支持 Tick 级数据与 subscribe 订阅?

目前不支持。

根据 JoinQuant API 文档的明确说明:

  • get_ticks() 接口:目前仅支持“股票、期货、50ETF期权、股票指数及场内基金”的 tick 数据。
  • subscribe() 接口:目前仅支持订阅“股票、期货、中证指数、场内基金”的 tick 事件。

由于可转债尚未接入标准的高频行情推送系统,因此您无法使用 subscribe('123015.XSHE', 'tick') 来触发 handle_tick 事件,也无法通过 get_current_tick()get_ticks() 获取其高频快照。

3. 未来规划与建议

随着可转债市场的日益火热,量化社区对可转债高频数据和标准接口(如 get_price)的呼声越来越高。虽然目前聚宽官方尚未公布将可转债全面接入 get_price 和 Tick 级订阅的具体时间表,但您可以:

  1. 关注官方更新:密切关注 JoinQuant 社区的更新公告,官方通常会根据用户需求逐步扩充数据源。
  2. 使用日频策略:在当前限制下,建议将可转债策略的频率控制在日频,利用 bond.run_query 获取每日收盘后的数据进行盘后分析和次日调仓。
  3. 本地化处理:如果您有极强的高频可转债交易需求,可能需要考虑使用 JQData (jqdatasdk) 结合第三方可转债高频数据源在本地环境中进行回测和实盘模拟。