【miniQMT实盘量化1】什么是miniQMT?

news2024/10/6 8:27:12

前言

本篇是这个系列的开篇,也是扫盲文章,介绍什么是miniQMT,以及它的优势。

从交易接口说起

总所周知,量化大概分四个部分:数据、回测、模拟、实盘。每个部分都很重要,但最关键的,还是实盘,没有实盘,就相当于数字100缺少最前面的1,一切都是0。所以,一个好的实盘渠道,是极其重要的。

想实盘,那必须要有交易接口,在A股市场,交易接口的逻辑入下图:

软件程序
券商
交易所

不管你曾经用过什么样的下单程序,它的逻辑都是符合这个路径的,这是规则,我们从后往前说:

  • 交易所:在A股,目前指的就是沪深京,三个交易所。交易所是交易指令真正执行的场所,但一般投资者其实并不是直接对接交易所交易。
  • 券商:有很多,大部分都叫XX证券,我们在这些证券公司开通账户,委托证券公司代理我们的交易,这也是券商存在的最大作用。
  • 软件程序:不管是传统的同花顺、东财炒股软件,还是现在QMT/Ptrade这些量化软件,其实无非就是一个软件程序,最终它们要把交易指令下发给用户的券商、再由券商下发指令给交易所,好理解吧。

那,我们这里,当然想还是聚焦于量化软件,这些软件相较于传统炒股软件的优势,就是可编程性,一个量化交易策略,说到底,就是一段被编写的交易程序,对吧,当交易具备了可编程性,就可以利用计算机高效盯盘和下单,快速、准确的执行你已经写好的交易策略,这相比于手动下单,肯定是要高效的多。

基于这个原因,各大金融领域的软件服务商,都开始搞自己的量化平台或客户端,本文统一称他们为量化软件给具备一定编程能力的机构或者个人使用,并可能收取一定费用。

可以看到,这里的另一个重要的环节就是券商,不管是哪种交易软件,它必须要与券商对接,才能打通交易接口,所以,在量化交易的业务领域里,券商的话语权并不小。

好,下面我们把一些常见的量化软件做下分类:

  • 东财/同花顺:老牌的金融数据提供商,目前也都有自己的量化平台和接口,它们最大的优势是数据能力,全面多样化,但应该都是需要收费的。
  • 聚宽/BigQuant:基于云端的量化平台,它们最大的优势是回测能力,再实盘交易这一块,与一家特定的券商合作,一般是按你在他们平台使用的资源多少收费。
  • QMT/Ptrade:基于客户端的量化软件,它们在实盘交易上,具备一定的优势,直接与各券商合作,只要再对应的券商开户并达到一定的资金量,就可以终身免费使用。这里再说一下QMT和Ptrade的区别,它们分别是由两家不同的公司开发的,QMT是迅投开发,Ptrade是恒生电子开发。最核心的一点,QMT的策略程序运行在本地,而Ptrade则运行在云端

综合比价下来,QMT具备免费、本地化、实盘交易能力强等优势。

miniQMT vs QMT

这并不是两个软件,而是QMT这个软件的两种功能

在这里插入图片描述

可以看到,以国金QMT的客户端软件为例,有一个【极简模式】的选项。

  • 不勾选 => QMT,
  • 勾选 => miniQMT(QMT极简版)

注意,并不是每个券商的QMT都具备miniQMT,所以开通之前一定要询问清楚。

那,它们之间具体有什么区别呢,我们详细说一下

界面不同

直观感受一下

QMT

在这里插入图片描述
miniQMT

在这里插入图片描述

代码编写方式不同

在QMT模式下,我们的策略代码,必须在QMT软件中编写,QMT提供了一套量化策略回测、实盘运行的机制。但,其实,QMT的代码编辑器做的体验并不好,对于回测结果的展示,也并不令我满意,整个QMT软件的功能繁多庞杂,使用起来并不方便。

而在miniQMT模式下,我们不需要再在QMT软件中编写代码,只需下载迅投官方提供的xtquant包,即可在任何支持Python的环境中,引入xtquant包,与miniQMT客户端建立连接,在QMT软件外,完成量化策略的编写。

需要注意的是,xtquant包只提供了数据获取(xtdata)和 实盘交易(xttrade),并不提供回测功能,所以,若想做回测,需要自己使用比如backtrader这样的工具去做。

关于xtquant的下载与使用,可以参看迅投官方知识库:http://docs.thinktrader.net/vip/pages/040ff7/

miniQMT的优势

优势已经很明显了,那就是可编程能力更强,由于其使用Python包的形式提供API,那就可以跟任何Python程序像结合,而不受客户端和平台的限制,做出更多更具可能性的量化策略。

miniQMT只提供数据源和交易接口,这样,你的策略可以更好的与QMT软件解耦,更利于维护。

如何开通miniQMT ?

目前,QMT需要找券商公司开通,具体开通方法及要求,可以参看《miniQMT开通规则分享》

结语

本文概念性的东西比较多,从下篇开始,将会介绍miniQMT的实际使用方法,并在后续的文章中展开讲解每个API的使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/751914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧水利水电未来发展趋势

随着人口的增加和经济的发展,水资源日益紧缺,水利水电工程的发展前景广阔。在可持续发展、数字化、智能化、高效节能将有极致的发展趋势。 在未来,水利水电工程将更加注重可持续发展,即既满足人类的水电需求,又保护生…

使用claude 2的文档分析功能

复制一段较长的文本内容,比如json文件。 https://zh.annas-archive.org/db/aarecord/md5:ba19176859126615bba9f35110f7492e.json 打开claude 2网页。 在输入框中粘贴内容,会自动生成一个past.txt图标。 输入要问的问题,按回车。 结果如下&a…

让全彩LED显示屏更高清的5个方法

随着社会的发展,人们对LED显示屏画面的显示效果要求越来越高,高清、超高清显示逐渐成为市场主流。高清视频画面给人带来的震撼效果是很强烈的,其所显示的内容相对传统的视频画面更具吸引力,更能满足人们对高品质视听的美好追求。 …

Picgo使用Gitee平台搭建图床照片无法显示

1.问题 使用Hexo框架搭建个人博客,发现博客中图片无法显示 2.问题分析 查看图床,发现相册中图片无法显示 查阅多方网站,发现Gitee与Picgo配合使用时,图片文件不能大于1M。 这主要因为Gitee查阅超过1M的文件需要登录的权限 。而…

Object.fromEntries()将键值对列表转换为一个对象

Object.fromEntries() 静态方法将键值对列表转换为一个对象 将 Array 转换成对象: let arr [["name","张三"],["age","40"]] let obj Object.fromEntries(arr); console.log(obj);将 Map 转换成对象: let …

如何添加域名解析

1、域名解析(CNAME记录) 登录所在平台的DNS解析管理 me:域名控制面板 (dnsmsn.com) 第一条的解析记录为 第二条www的解析记录为 为什么要添加两条解析记录? 一条是记录,一条是www记录,这分别代表两个最常用的域名…

基于知识图谱的电影知识问答系统:训练TF-IDF 向量算法和朴素贝叶斯分类器、在 Neo4j 中查询

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实…

SU-03T语音模块的使用

目录 语音模块配置 1. 进入语音模块官网 http://www.smartpi.cn/#/,配置词条和识别后的串口输出指令 2.记录下相关指令以及上图的识别词条,方便固件烧写后的调试 3.打开固件烧写工具 4. 进行固件烧写,烧录完成后先和电脑串口调试助手配合…

mp4视频太大怎么压缩?简单视频压缩方法分享

视频压缩是一种常见的操作,它可以起到很多有用的效果。通过压缩视频,我们可以减小视频文件的大小,从而节省存储空间和传输带宽。此外,压缩后的视频可以更快地加载和播放,提高观看体验,特别是对于网络传输较…

【数据分享】1929-2022年全球站点的逐月最大持续风速数据(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 对于具体到监测站点的气象数据,之前我们分享过1929-2022年全球气象…

【数据结构】线性表的定义及基本操作

文章目录 前言线性表的定义线性表的基本操作基本操作其他常用操作 总结 前言 数据结构的三要素是逻辑结构、数据的运算、存储结构(物理结构),存储结构不同,运算的实现方式也不同。 本次文章包括线性表的定义和基本操作&#xff0…

WEB阶段_CSSJS篇(附代码笔记)

&#xff08;一&#xff09;、使用DIVCSS布局首页 1、HTML的块标记 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><div>div1</div><div>div2</div><…

如何用Three.js + Blender打造一个web 3D展览馆

作者&#xff1a;vivo 互联网前端团队- Wei Xing 运营活动新玩法层出不穷&#xff0c;web 3D炙手可热&#xff0c;本文将一步步带大家了解如何利用Three.js和Blender来打造一个沉浸式web 3D展览馆。 一、前言 3D展览馆是什么&#xff0c;先来预览下效果&#xff1a; 看起来像…

Maven -- <dependencyManagement>管理子项目版本

背景&#xff1a; 一个旧项目&#xff0c;想使用mybatis-plus&#xff0c;想着这是比较基础的依赖包&#xff0c;就在父项目中添加对应依赖&#xff0c;如下: <!-- 依赖声明 --><dependencyManagement><dependencies><!-- mybatis-plus 依赖配置 -->&l…

第四章:C++模板初阶

系列文章目录 文章目录 系列文章目录前言泛型编程函数模板函数模板概念 函数模板格式函数模板的原理函数模板的实例化模板参数的匹配原则 类模板类模板的定义格式类模板的实例化 总结 前言 C通过泛型编程来实现函数模板和类模板。 泛型编程 如何实现一个通用的交换函数呢&…

图像分割的简史:从CNN到掩模R-CNN

一、说明 在 Athelas&#xff0c;我们使用卷积神经网络 &#xff08;CNN&#xff09; 不仅仅是分类&#xff01;在这篇文章中&#xff0c;我们将看到如何在图像实例分割中使用CNN&#xff0c;并取得很好的效果。 自从 Alex Krizhevsky、Geoff Hinton 和 Ilya Sutskever 在 2012…

Windows bat实现删除文本中的 空行、空格、制表符、最后一行空行

文章目录 一、准备测试数据二、通过for /f实现1. 删除仅含换行符的空行2. 删除所有空白行3. 删除所有空白行以及非空白行左侧的空格和制表符4. 删除所有空白行以及非空白行两侧的空格和制表符5. 删除所有空白行以及所有空格和制表符 三、通过findstr实现1. 删除仅含换行符的空行…

Base64存储为文件

要将Base64编码的字符串存储为文件&#xff0c;您可以按照以下步骤进行操作&#xff1a; 将Base64编码的字符串解码为字节数组。您可以使用Java的Base64类进行解码&#xff0c;例如&#xff1a; import java.util.Base64;String base64String "your_base64_encoded_str…

unity 打包htv vive 客户端包,调不出SteamVR

原因一&#xff1a; 引用自&#xff1a;unity 运行包无法连接SteamVR问题_野区捕龙为宠的博客-CSDN博客 原因二&#xff1a; 1、打包出来的exe文件命名是中文名&#xff0c;如&#xff1a;危化品.exe 2、打包路径中有中文。 避免以上情况即可。 引用自&#xff1a;unity 打包…

算法训练营第三十八天||● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

● 理论基础 五步走&#xff1a; 确定dp数组 递推公式 dp数组初始化 遍历顺序 打印dp数组 ● 509. 斐波那契数 这道题比较简单&#xff0c;但自己不看答案还做不出来&#xff0c;没想到用初始的方法 先看递归 只需要两行代码 确定终止条件 和逻辑 class Solution { p…