当前位置:首页>行情>一文说清QMT如何获取股票历史行情与实时行情?(附带免费开通门槛)

一文说清QMT如何获取股票历史行情与实时行情?(附带免费开通门槛)

  • 2026-11-08 04:42:34
一文说清QMT如何获取股票历史行情与实时行情?(附带免费开通门槛)

最近很多伙伴经常问到使用 QMT时如何获取股票行情数据。无论是量化交易策略的回测验证,还是实时行情的监控分析,精准且高效地获取股票数据都是 QMT 使用者的核心需求。但面对 QMT 丰富的数据接口与多样的功能模块,不少新手感到无从下手,老用户也希望挖掘更便捷、更全面的数据获取方式。接下来,本文将深入拆解 QMT 在股票数据获取方面的实用技巧,从基础数据调取到高级数据处理,为你解锁高效获取数据的 “密钥” 。

一

QMT交易需要获取哪些股票概况?

包含股票的上市时间、退市时间、代码、名称、是否是ST等。另外,获取合约基础信息数据在每个交易日9点更新。

调用方法:

ContextInfo.get_instrument_detail(stockcode)
注意:stockcode标的名称,必须是 'stock.market' 形式

二

QMT获取板块成分股列表

调用办法:
from xtquant import xtdataxtdata.get_stock_list_in_sector(sector_name)
注意:sector_name是股票名称

三

QMT如何获取历史行情与实时行情

在 QMT 的 gmd 系列函数里,历史行情数据得从电脑本地找,所以想用历史数据的话,得先把数据下载到电脑里。下载方法很简单,要么直接在软件界面上操作,要么用download_history这个函数就能搞定。

软件界面下载:

用函数订阅:

ContextInfo.get_market_data_ex(    fields=[],     stock_code=[],     period='follow',     start_time='',     end_time='',     count=-1,     dividend_type='follow',     fill_data=True,     subscribe=True)

要是需要最新的实时行情数据,那就不用下载了,直接从服务器获取就行,相当于 “现查现用”。

不过有个特别的地方要注意:

如果用xtdata.get_market_data_ex这个函数获取实时数据,必须先手动订阅行情(用subscribe_quote函数),因为这个函数本身没有订阅功能,不提前订阅就拿不到最新数据哦!

另外,如果同时需要历史和实时数据,gmd 系列函数会自动把两部分数据拼在一起,不用自己动手合并,这点还挺方便。

获取行情示例:

# coding:gbkdef init(C):  start_date = '20231001'# 格式"YYYYMMDD",开始下载的日期,date = ""时全量下载  end_date = ""   period = "1d"   need_download = 1  # 取数据是空值时,将need_download赋值为1,确保正确下载了历史数据  code_list = ["000001.SZ", "600519.SH"] # 股票列表  if need_download: # 判断要不要下载数据, gmd系列函数都是从本地读取历史数据,从服务器订阅获取最新数据    my_download(code_list, period, start_date, end_date)  ############ 仅获取历史行情 #####################  subscribe = False # 设置订阅参数,使gmd_ex仅返回本地数据  count = -1 # 设置count参数,使gmd_ex返回全部数据  data1 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe)  ############ 仅获取最新行情 #####################  subscribe = True # 设置订阅参数,使gmd_ex仅返回最新行情  count = 1 # 设置count参数,使gmd_ex仅返回最新行情数据  data2 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe, count = 1) # count 设置为1,使返回值只包含最新行情  ############ 获取历史行情+最新行情 #####################  subscribe = True # 设置订阅参数,使gmd_ex仅返回最新行情  count = -1 # 设置count参数,使gmd_ex返回全部数据  data3 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe, count = -1) # count 设置为-1,使返回值包含最新行情和历史行情  print(data1[code_list[0]].tail())# 行情数据查看  print(data2[code_list[0]].tail())  print(data3[code_list[0]].tail())def handlebar(C):  returndef my_download(stock_list,period,start_date = '', end_date = ''):  '''  用于显示下载进度  '''  if "d" in period:    period = "1d"  elif "m" in period:    if int(period[0]) < 5:      period = "1m"    else:      period = "5m"  elif "tick" == period:    pass  else:    raise KeyboardInterrupt("周期传入错误")  n = 1  num = len(stock_list)  for i in stock_list:    print(f"当前正在下载{n}/{num}")    download_history_data(i,period,start_date, end_date)    n += 1  print("下载任务结束")

仅获取历史行情:

当前正在下载1/2当前正在下载2/2下载任务结束start simulation mode                amount  close   high    low   open  openInterest  preClose  \stime                                                                        20231124  6.914234e+08  10.10  10.13  10.08  10.11            15     10.15   20231127  8.362684e+08  10.01  10.09   9.97  10.09            15     10.10   20231128  7.844058e+08   9.95  10.02   9.95   9.99            15     10.01   20231129  1.438320e+09   9.72   9.97   9.70   9.95            15      9.95   20231130  8.714817e+08   9.68   9.73   9.62   9.69            15      9.72             settelementPrice     stime  suspendFlag           time   volume  stime                                                                      20231124               0.0  20231124            0  1700755200000   684695  20231127               0.0  20231127            0  1701014400000   836188  20231128               0.0  20231128            0  1701100800000   786175  20231129               0.0  20231129            0  1701187200000  1467597  20231130               0.0  20231130            0  1701273600000   901765  

仅获取最新行情:

start simulation mode                amount  close  high   low  open  openInterest  preClose  \stime                                                                     20231130  8.714817e+08   9.68  9.73  9.62  9.69            15      9.72             settelementPrice     stime  suspendFlag           time  volume  stime                                                                     20231130               0.0  20231130            0  1701273600000  901765  

获取历史行情+最新行情:

start simulation mode                amount  close   high    low   open  openInterest  preClose  \stime                                                                        20231124  6.914234e+08  10.10  10.13  10.08  10.11            15     10.15   20231127  8.362684e+08  10.01  10.09   9.97  10.09            15     10.10   20231128  7.844058e+08   9.95  10.02   9.95   9.99            15     10.01   20231129  1.438320e+09   9.72   9.97   9.70   9.95            15      9.95   20231130  8.714817e+08   9.68   9.73   9.62   9.69            15      9.72             settelementPrice     stime  suspendFlag           time   volume  stime                                                                      20231124               0.0  20231124            0  1700755200000   684695  20231127               0.0  20231127            0  1701014400000   836188  20231128               0.0  20231128            0  1701100800000   786175  20231129               0.0  20231129            0  1701187200000  1467597  20231130               0.0  20231130            0  1701273600000   901765  

四

如何开通QMT和miniQMT?

1、开通门槛
目前券商限时入金10万就可以开通
    2、佣金费率
    • 股票无条件万1,根据资金量最低可以做到万0.854
    • 融资无条4.5%,根据资金量,最低可以做到4%
    3、开通福利
    • 极速柜台:普通柜台毫秒级,极速柜台微秒级延时,理论上极速柜台并发处理能力在普通柜台5倍以上。
    • VIP席位 :普通席位人数众多,同一价位排单量多,导致无法在理想价位买入。VIP席位人数少,可更加快实现成交。
    福利1:低佣开量化
    福利2:领取完整教程
    福利3:添加量化讨论群
    福利4:提供专业量化问题解答

    福利5:量化工具安装使用教程、视频

    福利6:极速柜台,量化投资者专用,速度微秒级

    最新文章

    随机文章