对于第一次接触量化交易的朋友来说,经常会问到的几个问题,比如,QMT和iQuant,miniQMT有什么区别。
首先,QMT和iQuant都是由迅投开发的。miniQMT是在QMT子模块下运行的一个极简模式。
接下来将详细的讲讲。
QMT vs iQuant
一般券商采购了迅投的QMT软件后,接入行情数据服务器和交易服务器,管理 自家的用户的资金账户,就可以让它成为可以实盘的的量化交易软件。(这里为了通俗易懂,简化了很多细节,实际要复杂一些)
而iQuant是由国信证券定制开发的,算是QMT的套壳。iQuant它的大部分功能和其他券商的QMT的功能基本一样。但也有不同的地方:
[if !supportLists]1. [endif]iQuant移除了VBA模型
对于VBA而言,算是一门古老的语言了,至少在互联网领域,已经没见过有几个人在用的了。
不过我查询了一下它在QMT里面的实盘交易代码,其实它还是挺适合熟悉通达信公式的朋友使用,很多语法是从通达信的公式演变而来的。有些指标直接可以拿去用的了。
iQuant支持投资研究模块,可使用jupyter notebook逐行运行,便于调试。而其他的券商QMT均没有这个功能。
少数券商的QMT无法在虚拟机运行
大部分券商的QMT可以在虚拟机里面运行,这意味可以在云主机服务器上运行,比如阿里云,腾讯云,在云服务器上网络和系统稳定性都有保证,比你在家里放台电脑要稳定,至少不会被家里的小孩倒腾拔了网线。
但也有少数券商的QMT无法在虚拟机里面运行。比如下图这个QMT登录提示
在python编写策略的代码层面,QMT和iQuant的接口文档也基本一致的,可能在一些功能函数上会有些少出入。二者写的python代码可互相在彼此上运行,区别不大。
QMT 与miniQMT
miniQMT属于QMT的一个子功能,一个精简功能的自动交易框架,默认安装了QMT之后就可以使用miniQMT,只支持实盘交易,不支持回测。登陆时选择精简模式就可以直接运行miniQMT。
在miniQMT模式下,你的策略代码将不再禁锢自带的QMT软件下的内置编辑器编写,而是可以自由地选择pycharm,vscode等编辑器,运行的时候直接使用 python xxxx.py 这样的形式启动。且有多个python版本可选。
只是券商很少对它进行宣传,以致于用它的人并不多。
QMT的代码,无法直接拷贝到miniQMT中使用。虽然名字叫miniQMT,但感觉它提供的很多函数功能,要比QMT更为丰富,用户可以掌控的流程更多,更灵活。
iQuant版虽然也有精简版的miniQMT,但它对个人用户不提供下单功能呢,只对机构开放,所以个人只有获取行情数据,财务数据等的数据权限。
另外还有一个与之配套的xtdata库,是专门用来获取行情数据的,而上面的xttrade是专门用来交易下单的。因为xtdata可以获取很多股票,可转债,ETF等等历史数据,所以即使你不用miniQMT做交易,你也可以白嫖它的数据,这比用积分的tushare简直不要太爽。比如可以获取到股票或可转债的日线,分钟线,甚至tick数据。