🚀 AI 一键生成 qmt 策略代码

为什么 QMT 调用 get_ipo_data 无法获取全部新股数据?

qmt | 发布时间: 2026/5/25
以下内容由 EasyQuant 生成。

问题描述

get_ipo_info不到全部数据

调用 get_ipo_info 时,tart_time 和 end_time 为空则返不回全部数据。何因?请教!

解决方案

在 QMT 平台中,获取新股新债信息的正确函数名是 get_ipo_data(您提到的 get_ipo_info 可能是笔误)。

关于您提到的“无法返回全部数据”的问题,原因在于该接口的设计初衷:

1. 接口功能限制

根据 QMT 官方 API 文档,get_ipo_data([,type]) 函数的功能是获取当日新股新债信息,而不是获取历史上所有的 IPO 数据。因此,无论您是否传入时间参数(实际上该接口并不接受 start_timeend_time 参数),它都只会返回当前交易日可以申购的新股或新债列表。

2. 正确的参数用法

该接口只接受一个可选参数 type

  • 不传参数:返回当日所有新股和新债的申购信息。
  • type="STOCK":只返回当日的新股申购信息。
  • type="BOND":只返回当日的新债申购信息。

3. 代码示例

如果您想在策略中获取当日的打新数据,可以参考以下代码:

def init(ContextInfo):
    # 获取当日所有新股和新债信息
    ipo_all = get_ipo_data()
    print("当日新股新债信息:", ipo_all)
    
    # 仅获取当日新股信息
    ipo_stock = get_ipo_data("STOCK")
    print("当日新股信息:", ipo_stock)
    
    # 仅获取当日新债信息
    ipo_bond = get_ipo_data("BOND")
    print("当日新债信息:", ipo_bond)

总结

如果您需要获取历史上所有的 IPO 数据进行回测或分析,QMT 自带的 get_ipo_data 接口无法满足此需求。您可能需要借助第三方数据源(如 Tushare、AkShare 等)来获取历史的 IPO 列表,然后再导入到 QMT 中使用。