QMT 快速获取当日行情 / 基础数据全方法(极速取当日数据)
一、内置 API 直接取当日实时 / 日线数据(推荐,无需本地缓存等待)
1. get_price 通用取当日 K 线(最常用)
python
# 获取今日日线,period='1d'当日日线,adjust不复权,count=1只取当天df = get_price( security="600001.SH", start_date="2026-06-16",# 当日日期 end_date="2026-06-16", period="1d", adjust="none")print(df)
python
# 当日1分钟数据df_min = get_price("600001.SH", start_date="2026-06-16", end_date="2026-06-16", period="1m")
优势:直接对接行情服务器,不用手动下载日线文件,盘中自动更新,代码运行即拿到当日数据。
2. get_tick 当日逐笔分笔数据
python
# 获取今日全部逐笔ticktick_df = get_tick("600001.SH", start_time="2026-06-16 09:30:00", end_time="2026-06-16 15:00:00")
二、批量全市场当日数据(快速全股票当日行情)
方式 1:get_stock_codes + 循环批量取当日日线
python
# 获取全市场A股代码列表stock_list = get_stock_codes()today ="2026-06-16"data_dict ={}for code in stock_list[:100]:# 测试前100只,避免请求过载try: bar = get_price(code, today, today,"1d")ifnot bar.empty: data_dict[code]= bar.iloc[0]except:continue
方式 2:get_market_data 一键全市场当日指标(极速,推荐盘前盘后选股)
python
# 当日全市场行情快照,开盘价、收盘价、涨跌幅、成交量一步到位all_today = get_market_data(date="2026-06-16")# 筛选沪深A股a_share = all_today[all_today['sec_name'].str.contains('ST|退', na=False)==False]print(a_shoday[['security','close','open','volume','pct_chg']])
get_market_data 是 QMT 内置最快批量当日数据接口,单次请求返回全市场当日指标,不用循环。
三、本地高速缓存:一键补全当日离线数据(可视化客户端操作)
如果策略依赖本地历史文件,需要下载当日本地数据:
- 打开 QMT 客户端(极简版 miniQMT / 专业版通用)
- 勾选:日线 / 分钟线 / Tick,日期选择今日
- 勾选「仅增量更新」,点击开始,10 秒内完成当日全市场数据缓存
python
# 读取本地缓存当日日线(下载完本地数据后速度极快)his = history(1,'1d','close',"600001.SH")
四、盘中实时轮询获取当日最新数据(实盘量化)
定时刷新当日最新价格示例
python
import timedefget_today_real(code):whileTrue: bar = get_price(code,"2026-06-16","2026-06-16","1m") latest = bar.iloc[-1]print(f"最新价:{latest.close} 时间:{latest.index}") time.sleep(3)# 3秒刷新一次
五、提速关键技巧(解决取当日数据卡顿)
- 优先用 get_market_data 替代循环 get_price
- 精确限定日期区间start_date、end_date 固定当天,不跨日期,减少服务器返回数据量。
- 盘中用分钟线而非 tickTick 数据量大,仅做高频交易再调用 get_tick。
- miniQMT 轻量模式miniQMT 占用更低,行情推送更快,获取当日数据延迟小于专业版。
- 盘前提前下载增量数据开盘前执行一次数据下载,盘中读取本地缓存无网络延迟。
- 过滤无效标的
六、常见问题
- 盘中取不到当日数据?交易日 9:30 后行情服务器才生成当日 K 线,9:15 集合竞价仅 tick 数据可用。
- 数据延迟高?切换 miniQMT、关闭多余行情窗口,或改用本地缓存读取 history。
- 批量获取全市场当日数据报错超限?分批请求,每次 200 只股票间隔 0.5 秒,或直接使用
get_market_data。