3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 QMT 平台中,get_instrumentdetail 接口用于获取合约的详细静态信息,包括前结算价格(SettlementPrice)、当日涨停价(UpStopPrice)和当日跌停价(DownStopPrice)等。
关于这些数据的具体更新时间,QMT 官方 API 文档中并没有给出一个绝对统一的精确到分钟的时间点。这主要是因为 QMT 平台的数据更新依赖于所在券商服务器的早盘初始化时间以及交易所的数据下发时间。
根据一般的实盘经验:
为了确保您的量化策略能够获取到准确的当日涨跌停价和前结算价,建议您在策略中采取以下机制:
get_instrumentdetail 获取这些数据。以下是如何在策略中获取这些数据的示例代码:
#coding:gbk
def init(ContextInfo):
# 设置股票池
ContextInfo.set_universe(['600000.SH'])
def handlebar(ContextInfo):
# 确保在盘中或集合竞价期间获取
if ContextInfo.is_last_bar():
stock_code = '600000.SH'
detail_info = ContextInfo.get_instrumentdetail(stock_code)
if detail_info:
pre_close = detail_info.get('PreClose', 0) # 前收盘价
settlement = detail_info.get('SettlementPrice', 0) # 前结算价
up_stop = detail_info.get('UpStopPrice', 0) # 当日涨停价
down_stop = detail_info.get('DownStopPrice', 0) # 当日跌停价
print(f"合约: {stock_code}")
print(f"前收盘价: {pre_close}, 前结算价: {settlement}")
print(f"涨停价: {up_stop}, 跌停价: {down_stop}")
总结:get_instrumentdetail 的数据更新依赖于券商早盘初始化,通常在 8:30-9:00 之间完成。建议在 9:00 之后调用以保证数据的准确性。