作者:Goon滚雪球之前一直说要做个无情的交易机器人,要实现这个目标的话,需要具有以下的一些知识和条件。我也刚开始学习,顺便记录下自己的学习过程,不能算是从0开始,算是0.5吧,当然要是我学不会的话,这个系列就寄了。另外,以下的内容都是基于我自己的理解,如果有说的不对欢迎指正,毕竟一个初学者难免会犯错误的。
进入正题。基础知识:可以实现自动交易的工具是QMT和ptrade。两者都是基于python的,区别是:qmt在本地电脑运行,用户的电脑必须开着机,策略才能运行;ptrade在云端服务器上运行,用户可以关机睡觉,不影响策略的执行。不过ptrade在云端运行虽然省事,但牺牲了性能灵活性,还有一堆的限制,比如策略数不能超过5个。所以投资A股可转债的我们,选择qmt就是很自然的了。qmt要求策略的编写和实盘都是在QMT客户端上进行,但是编程的话我们自己配置好的环境用起来更舒服。而miniqmt把两部分剥离开,就是策略编写是在本地配置好的python环境,然后传递给券商的实盘接口进行交易。
总结下:要实现自动交易就需要下面的条件。券商支持:目前只有部分券商支持qmt,支持miniQMT的就更少了,很多还要求资金的门槛到XX万。一定的代码基础: 只是要求懂一些python,不用多精通。我也是半吊子半路出家的。下载安装QMT在外面下载到的QMT是不能用的,QMT量化投资工具是跟证券公司合作的。所以只有先在证券公司开户,申请开通QMT量化功能后,才能使用对应的QMT程序。。下载后安装比较简单,但是要注意下最好在某个盘的根目录下安装,安装路径不要有空格。后面还会用到这个目录,推荐D:QMT这个路径。
安装完就可以登陆了,登陆时候选择“极简模式”,不选的话就进入qmt模式了。然后就进入配置miniqmt的环节。miniQMT配置(包括两个模块)xtdata(获取行情):xtdata提供和MiniQmt的交互接口,本质是和MiniQmt建立连接,由MiniQmt处理行情数据请求,再把结果回传返回到python层。需要注意的是这个模块的使用目前并不需要登录,因此只要安装了QMT,就可以无门槛的使用其提供的数据服务。xttrader(实盘接口):xttrader是基于迅投MiniQMT衍生出来的一套完善的Python策略运行框架,对外以Python库的形式提供策略交易所需要的交易相关的API接口。该接口需开通A股实盘版权限方可登录使用。这里假定你已经明白安装和使用Anaconda和jupyter notebook了(或者其他的配置环境,看个人习惯)。1,一步步进入QMT安装路径下面的site-packages,复制其中的xtquant文件夹。
2,进入到这个文件夹下(或者是自己的python安装目录下面),粘贴刚才复制的文件夹。C:UsersXXXXanaconda3Libsite-packages注:XXXX为你电脑现在登陆的用户名,替换成自己的。
3,打开jupyter notebook,输入下面的代码查看是否配置成功。import xtquant from xtquant import xtdataxtdata.get_full_tick([000001.SZ])
如果成功的话会输出下面的内容,这样的话就配置好了获取行情的模块。以后就可以在自己的环境里编写策略,传递数据到实盘进行交易了。这里要注意,qmt只支持python3.6-3.8的版本,如果是3.9的话会报错,这时候需要降级python的版本。
具体操作为:打开Anaconda Prompt,输入下面的代码,然后等待完成。conda install python==3.8 anaconda=custom
下一篇:可转债行情的实时获取及应用。