网站首页 > 技术文章 正文
miniqmt,比QMT多了一个mini。是哪儿mini了呢?就是只保留了QMT的核心,我们编写代码时导入这个核心,就可以实现获取数据和实现交易的功能了。miniqmt,对于动手能力强的同学简直是神器啊!
1、官方对miniqmt的介绍
官网对miniqmt描述(http://dict.thinktrader.net/nativeApi/start_now.html?id=3WR14v)
XtQuant能提供哪些服务
XtQuant是基于迅投MiniQMT衍生出来的一套完善的Python策略运行框架,对外以Python库的形式提供策略交易所需要的行情和交易相关的API接口。
XtQuant 运行依赖环境
XtQuant 目前提供的库包括 64 位 Python 3.6、3.7、3.8、3.9、3.10、3.11版本,不同版本的 Python 导入时会自动切换。在运行使用 XtQuant 的程序前需要先启动 MiniQMT 客户端。
XtQuant 运行逻辑
Xtdata 作为行情模块,本模块旨在提供精简直接的数据满足量化交易者的数据需求,主要提供行情数据(历史和实时的K线和分笔)、财务数据、合约基础信息、板块和行业分类信息等通用的行情数据。
Xttrader 作为交易模块,封装了策略交易所需要的 Python API 接口,可以和 MiniQMT 客户端交互进行报单、撤单、查询资产、查询委托、查询成交、查询持仓以及接收资金、委托、成交和持仓等变动的主推消息。
我来翻译一下:
1、你需要有python3.6-3.11之间的任意python环境,使用miniqmt要一直运行着miniqmt客户端(文章后面会教大家启动miniqmt客户端)。
2、xtdata为miniqmt的行情模块,一切策略所需要的数据由它来获取。
3、xttrader为交易模块,用来进行交易。
2、如何启动miniqmt
并不是所有提供QMT的券商都提供miniqmt的。以下是某两家券商的QMT启动界面。将红框处勾选上,就会启动miniqmt。
启动成功,出现了下图的界面,非常简洁,有点像通达信或同花顺的交易界面。用miniqmt编写策略的时候不需要看着这个界面,所以将其最小化即可。
3、miniqmt使用示例
在本机已安装python环境的前提下,去官方下载最新版本的xtquant(网址:http://dict.thinktrader.net/nativeApi/download_xtquant.html?id=3WR14v)。然后解压缩到Lib\site-packages文件夹下,出现的xtquant文件夹是长这样的:
按照第2步的方法打开miniqmt客户端。
然后我们运行一个官方示例来体验一下吧(网址:http://dict.thinktrader.net/nativeApi/code_examples.html?id=3WR14v#%E8%AE%A2%E9%98%85%E5%85%A8%E6%8E%A8%E6%95%B0%E6%8D%AE-%E4%B8%8B%E8%BD%BD%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE):
# coding:utf-8
import time
from xtquant import xtdata
code = '600000.SH'
#取全推数据
full_tick = xtdata.get_full_tick([code])
print('全推数据 日线最新值', full_tick)
#下载历史数据 下载接口本身不返回数据
xtdata.download_history_data(code, period='1m', start_time='20230701')
#订阅最新行情
def callback_func(data):
print('回调触发', data)
xtdata.subscribe_quote(code, period='1m', count=-1, callback= callback_func)
data = xtdata.get_market_data(['close'], [code], period='1m', start_time='20230701')
print('一次性取数据', data)
#死循环 阻塞主线程退出
xtdata.run()
函数和QMT基本一致,很容易上手的。
今天就介绍到这里,我们下期再见!
猜你喜欢
- 2025-01-04 一次“败笔”之后,微信会否遭遇QQ的困境?
- 2025-01-04 鸿蒙ArkUI-X已更新适配API13啦
- 2025-01-04 微软详解.Net Native:Win10通用应用性能的保障
- 2025-01-04 Hibernate 和 JPA
- 2025-01-04 开发不同类型的App需要用到哪些技术?
- 2025-01-04 迅雷极速版v1.0.12 下载:批量下载磁力链接
- 2025-01-04 DevExpress v16.1新功能介绍
- 2025-01-04 Android native开发环境搭建
- 2025-01-04 基于C++音视频高手课-WebRTC远程桌面后台服务实战
- 2025-01-04 Electron简介
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)