问题描述
调用 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):
# 获取当日所有新股新债信息
ipoData = get_ipo_data()
print("当日新股新债信息:", ipoData)
# 仅获取当日新股信息
ipoStock = get_ipo_data("STOCK")
print("当日新股信息:", ipoStock)
# 仅获取当日新债申购信息
ipoCB = get_ipo_data("BOND")
print("当日新债信息:", ipoCB)
总结:由于 get_ipo_data 仅提供当日的申购数据,所以无论您是否传入时间参数,它都不会返回历史全部的 IPO 数据。如果您需要历史的 IPO 数据进行回测或分析,通常需要借助外部的数据源(如 Tushare、AkShare 等)或者 QMT 的其他历史数据补充方式。