问题描述
调用 get_ipo_info 时,tart_time 和 end_time 为空则返不回全部数据。何因?请教!
解决方案
在 QMT 平台中,获取新股新债信息的正确函数名是 get_ipo_data(您提到的 get_ipo_info 可能是笔误)。
关于您提到的“无法返回全部数据”的问题,原因在于该接口的设计初衷:
1. 接口功能限制
根据 QMT 官方 API 文档,get_ipo_data([,type]) 函数的功能是获取当日新股新债信息,而不是获取历史上所有的 IPO 数据。因此,无论您是否传入时间参数(实际上该接口并不接受 start_time 和 end_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 中使用。