问题描述
解决方案
在 QMT 平台中,查询当日新股申购信息主要使用 get_ipo_data 函数。
核心函数说明
函数名:get_ipo_data(type)
- 参数:
type(字符串,可选):- 不填:返回新股和新债信息。
"STOCK":只返回新股申购信息。"BOND":只返回新债申购信息。
- 返回值:返回一个字典(Dictionary),包含申购代码、名称、最大/最小申购数量等数据。
策略代码示例
以下是一个完整的 Python 策略示例,通常在 init 初始化函数中调用即可查看当天的申购信息。
# -*- coding: gbk -*-
def init(ContextInfo):
"""
策略初始化函数
"""
# 1. 调用 get_ipo_data 获取当日新股信息
# 参数传入 "STOCK" 表示只查询新股
ipo_data = get_ipo_data("STOCK")
# 2. 打印结果
if not ipo_data:
print("今日无新股申购信息。")
else:
print("=" * 30)
print("今日新股申购列表:")
for code, info in ipo_data.items():
# info 包含了申购名称、限额等详细信息
print(f"申购代码: {code}")
print(f"详细信息: {info}")
print("=" * 30)
def handlebar(ContextInfo):
"""
行情驱动函数
"""
pass
结果说明
运行上述代码后,日志窗口将输出类似以下的字典结构数据(具体字段取决于当日是否有新股):
- Key: 新股申购代码(如
732xxx.SH)。 - Value: 包含申购名称、最大申购数量、最小申购数量等信息的对象或字典。
Q&A
Q: 如何查询新债(可转债)的申购信息?
A: 将 get_ipo_data 的参数改为 "BOND",即 get_ipo_data("BOND")。
Q: 查询到新股后,如何查询我的账户有多少申购额度?
A: 可以使用 get_new_purchase_limit(accid) 函数,传入您的资金账号,它会返回包含上海主板、科创板、深圳市场的申购额度字典。
Q: 这个函数可以在回测模式下使用吗?
A: get_ipo_data 主要用于实盘或模拟盘获取当日实时数据。在回测模式下,通常无法获取历史某一日的“当日新股”列表,除非平台提供了专门的历史IPO数据接口或自行导入数据。