当前位置: 首页 > news >正文

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

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

http://www.jsqmd.com/news/1069056/

相关文章:

  • ARM Cortex-M SPI通信深度解析:DSPI驱动配置、三种传输模式与实战调试
  • 3分钟解锁百度文库知识宝库:开源工具让你零成本获取付费文档
  • AES硬件加速器CCM/GCM模式寄存器配置详解与实战避坑指南
  • 2026权威实测|团队编程协作完整方案,跨团队API对齐与自动文档落地复盘
  • 【嵌入式】与【人工智能】岗位方向及适配人群全面分析~
  • DEA Performance:本地化DEA数据包络分析工具软件|14套测算模式,论文可视化绩效测算
  • 洛雪音乐音源完全指南:3分钟免费解锁全网无损音乐
  • 那些年我们踩过的坑:如何处理网页爬取中的中文字符集乱码(GBK_UTF-8)?
  • 手把手部署 OpenTelemetry Collector:从单节点到高可用集群
  • DSP56303引导程序与寄存器配置实战:从启动到音频处理系统搭建
  • 两行LVGL事件API详细解析
  • AI开题报告工具让导师说“这次写得很扎实”,8款AI论文工具实测
  • 终极浏览器信息泄漏检测神器:FindSomething 完整指南与快速上手教程
  • 讯飞星辰MaaS限免,35B大模型免费调用
  • Hermes Agent 从入门到企业实战-06:OpenClaw迁移与双Agent联动实战
  • JavaScript DOM实操三部曲:节点获取、属性修改、增删节点(零基础保姆级教程)
  • 3分钟掌握全网视频下载:Video-Downloader免费工具终极指南
  • 协同前端开发实测:交互式页面完整落地流程与能力测评
  • Windows 11文件资源管理器标签管理终极解决方案:告别混乱,提升效率
  • 基于微信小程序云开发的个性化运动健康管理与分析系统设计与实现
  • 网络决定AI性能——Allegro 网络万用表可视化与故障定位方案
  • 2026 年 6 月深圳吊装亲测分享
  • OpenRGB完整指南:告别多软件混乱,一站式控制所有RGB设备
  • 如何在Web端实现实时人体姿态识别与动作搜索:Pose-Search完整指南
  • Steamless:3分钟解锁Steam游戏DRM保护,实现真正游戏所有权
  • 字符编码学习
  • ComfyUI界面增强插件:终极AI绘画工作流效率提升指南
  • 麻将AI助手:从直觉到数据的智能进化之旅
  • FindSomething:你的浏览器安全卫士,网页信息泄漏检测的智能解决方案
  • pypdf元数据管理:解决PDF文档信息混乱的完整方案