news 2026/6/23 20:10:06

QMT 量化入门:掌握这 4 个核心 API,即可开启策略编写

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QMT 量化入门:掌握这 4 个核心 API,即可开启策略编写

本文整理了 QMT 量化交易中最核心的 4 个 API 接口,覆盖数据下载、行情读取、财务获取、交易执行全流程,新手吃透即可快速上手基础策略开发。

目录

  • 前言
  • 行情下载接口:download_history_data
  • 行情读取接口:get_market_data_ex
  • 财务数据接口:get_financial_data
  • 下单执行接口:passorder
  • 总结

一、前言

很多刚接触 QMT 量化交易软件的开发者,常会被繁多的接口劝退。实际上,入门量化策略编写并不需要掌握全部 API—— 只要吃透4 个核心接口,就能打通「数据获取→指标计算→信号生成→交易执行」的完整闭环。

本文就带大家逐一拆解这 4 个关键 API,附可直接运行的示例代码,帮大家快速跨过 QMT 的入门门槛。

二、行情下载接口:download_history_data

量化策略的基础是行情数据,download_history_data负责将指定标的的历史行情下载到本地缓存,是回测和策略运行的前提。

接口能力

  • 支持多周期数据:Tick 级、分钟线、日线等全周期行情
  • 下载的数据会缓存到本地,后续读取无需重复下载
  • 支持单标的、多标的批量下载

⚠️ 注意:Tick 和 1 分钟级数据体量较大,长期下载请预留足够的硬盘空间。

示例代码

#encoding:gbk def init(C): # 下载平安银行 2023-01-01 至 2025-04-08 的日线数据 download_history_data("000001.SZ", "1d", "20230101", "20250408") print('历史行情下载完成') def handlebar(C): pass

核心参数

表格

参数位置参数说明示例值
第 1 位标的代码(代码 + 交易所后缀)000001.SZ(深市)、600000.SH(沪市)
第 2 位数据周期tick/1m/1d
第 3 位开始日期(YYYYMMDD 格式)20230101
第 4 位结束日期(YYYYMMDD 格式)20250408

三、行情读取接口:get_market_data_ex

数据下载到本地后,通过get_market_data_ex接口读取结构化的行情数据,是策略计算的核心数据来源。

接口能力

  • 基础行情:开盘价、收盘价、最高价、最低价、成交量、成交额等
  • 扩展行情:大单金额、涨跌停价、北向资金、净买入净卖出等特色指标
  • 支持单标的、股票池批量获取,支持历史与实时行情

示例代码

获取平安银行日线收盘价的完整示例:

#encoding:gbk def init(C): # 1. 先下载历史行情数据 download_history_data("000001.SZ", "1d", "20230101", "20250408") print('历史行情下载完成') # 2. 读取收盘价数据 datas = C.get_market_data_ex( ['close'], # 待获取的行情字段 ['000001.SZ'], # 标的代码列表 period='1d', # 数据周期 start_time='20230101', end_time='20250408', count=-1 # 取全部数据,填数字则取最近N根 ) print('获取行情数据结果:') print(datas) def handlebar(C): pass

返回结果示例

接口返回字典格式,键为标的代码,值为时间索引的行情数据:

{ '000001.SZ': close stime 20230103 12.277728 20230104 12.768124 20230105 12.910785 20230106 13.035613 20230109 13.196106 ... }

四、财务数据接口:get_financial_data

基本面量化策略依赖上市公司财务数据,get_financial_data用于获取全维度的财务指标,支撑基本面因子计算。

接口能力

  • 覆盖股本、利润、现金流、资产负债表等全部财报科目
  • 可计算 PE、PB、ROE、EPS 等常用基本面指标
  • 支持按报告期、披露时间两种对齐方式

示例代码

获取平安银行总股本数据的示例:

#encoding:gbk def init(C): # 下载基础行情数据 download_history_data("000001.SZ", "1d", "20230101", "20250408") # 获取财务数据:总股本 df = C.get_financial_data( ['CAPITASTRUCTUR.total_capital'], # 财务字段名 ["000001.SZ"], # 标的列表 startDate='20230101', endDate='20250408', report_type='report_time' # 按报告披露时间对齐 ) print('获取总股本数据:') print(df) def handlebar(C): pass

返回结果示例

total_capital 20230103 1.940592e+10 20230104 1.940592e+10 20230105 1.940592e+10 ...

五、下单执行接口:passorder

策略计算出交易信号后,通过passorder接口完成交易委托,是量化交易的执行入口。

接口能力

  • 支持多种交易方向:买入、卖出、融资买入、融券卖出等
  • 支持多种委托方式:限价、最新价、市价、涨跌停价等
  • 适配股票、两融、期货、期权等全品种交易

示例代码

以「最新价买入 100 股平安银行」为例:

#encoding:gbk def handlebar(C): # 仅在当日最后一根K线触发下单,避免重复委托 if not C.is_last_bar(): return # 此处替换为你的策略交易条件 if True: passorder( 23, # 交易方向:23=买入 1101, # 交易方式:1101=单股单账号按股数下单 '39134967', # 你的证券账号 '000001.SZ', # 标的代码 5, # 价格类型:5=最新价 0, # 价格参数,最新价委托填0 100, # 委托数量(单位:股) 1, # 策略标识,可自定义 1, # 快速下单标记 "", # 委托备注,可留空 C ) print("买入委托已提交")

关键参数说明

  • 交易方向:23 代表买入,24 代表卖出
  • 价格类型:5 为最新价,高频策略可选用市价委托提升成交率
  • 交易方式:1101 为普通股票按股数委托,两融、期货等品种需对应调整编码

六、总结

从手工交易转向量化交易,本质是熟悉工具的接口逻辑与运行规则。本文介绍的 4 个 API 覆盖了量化策略的全生命周期:

  1. download_history_data解决「数据从哪来」
  2. get_market_data_ex解决「行情怎么读」
  3. get_financial_data解决「基本面怎么算」
  4. passorder解决「交易怎么执行」

吃透这 4 个核心接口,你就具备了编写基础量化策略的能力。后续可以在此基础上扩展指标计算、仓位管理、风控模块,逐步搭建成熟的量化交易体系。

风险提示:本文仅为技术接口科普,不构成任何投资建议。量化交易存在风险,入市需谨慎。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 20:04:29

Windows环境下Clion控制台中文乱码问题解决方案

macOS下使用Clion没有问题,Windows下控制台中文乱码,找了各种方法都不行。原因分析: 1、Clion自身bug,coding区域使用的是UTF-8编码,控制台使用的是GBK编码,且在设置中更改为UTF-8编码也不生效。2、类unix系…

作者头像 李华
网站建设 2026/6/23 20:04:21

OpenARK终极指南:免费开源Windows系统安全分析工具完整教程

OpenARK终极指南:免费开源Windows系统安全分析工具完整教程 【免费下载链接】OpenArk The Next Generation of Anti-Rookit(ARK) tool for Windows. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArk OpenARK是Windows平台上一款功能强大的开源反R…

作者头像 李华
网站建设 2026/6/23 20:03:58

AI开题报告工具让导师说“这次写得很扎实”,8款AI论文工具实测

今年华为开发者大会HDC 2026重磅展示鸿蒙全场景AI体系,系统级AI原生嵌入、多设备无缝流转、端侧数据安全防护三大核心能力落地,学术类智能工具依托鸿蒙生态持续优化,碎片化写稿、资料杂乱、内容无支撑等痛点迎刃而解。 很多同学撰写开题报告…

作者头像 李华
网站建设 2026/6/23 19:54:57

flink 新旧connector的区别

为什么需要新connector接口// 为了兼容流批都是exactly-once 旧版专为流设计,不兼容批处理写法区别

作者头像 李华
网站建设 2026/6/23 19:53:10

3步终极修复方案:彻底解决macOS升级后Mac Mouse Fix侧键失效问题

3步终极修复方案:彻底解决macOS升级后Mac Mouse Fix侧键失效问题 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 每次macOS系统升级…

作者头像 李华
网站建设 2026/6/23 19:52:13

突破性AI翻译实战:用宝玉Prompt实现专业级英译中效果

突破性AI翻译实战:用宝玉Prompt实现专业级英译中效果 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-W…

作者头像 李华