
前言

我们的股票量化系统QTYX在实战中不断迭代升级!!!
ETF兼具股票和指数基金的特色,既能获得股票一样的超额收益,也具备指数稳定的特点。买ETF相当于购买了一篮子股票,能分散投资并降低投资风险。另外,ETF还能买到海外市场的指数,有些ETF还能够T+0交易,非常灵活!
于是,我们搭建了针对ETF的实盘交易框架,可以实时扫描ETF的买卖信号,当出现交易信号时,还可以通过QMT自动下单!
量化系统QTYX使用攻略|“自动交易”篇——ETF为例,搭建全自动交易系统框架(更新v2.8.7)
有了这个框架,我们在它的基础上持续迭代升级,2.9.2版本我们增加了仓位分配功能,每个ETF品种可以单独分配买入资金或者股数!

如何回测

接下来,分享下如何使用QTYX新增的功能吧!
我们点击“策略导航—>实盘监测—>ETF池T+0”。我们在“设置买入股数“中增加了选项,可以选择按总资金比例分配买入和按股数买入。
对应的参数在configfiles/trade_para.json配置文件中更改,比如”percent“的值表示买入资金占总资金的比例,”amount”的值表示买入的股数。

如何回测

我们点击“回测参数”标签页,填入ETF代码(注意格式xxxxxx.SH/SZ),选择策略,然后点击“开始回测”。
接下来填写回测参数,比如回测日期、数据周期、初始资金、滑点、手续费等等。

填写完成后,点击“确认”就会出现可视化回测结果。

点击“交易日志”可以查看具体的交易明细。

关于策略,我们在StrategyGath\SignalGath.py文件中预置了多个策略,大家可以在这个文件中使用Python语言添加和修改。后续我们也会不断往这个接口中添加和优化策略,比如指数通行红绿灯策略等等。
策略的关键参数,我们在ConfigFiles/trade_para.json文件中按格式填写,比如“MACD金叉死叉”的周期和“布林带突破”的上下轨倍数等。
这部分设计延续了书籍《Python股票量化交易从入门到实践》中介绍的内容,可以结合书本进行学习。

如何实盘

我们点击“策略导航—>实盘监测—>ETF池T+0”。

然后会出现一个操作对话框,如下所示:

接下来,我们介绍下界面上的功能。
开始日期&结束日期:根据时间范围返回对应的ETF分钟数据。实盘时忽略。
股票周期:支持1分钟、5分钟、15分钟、30分钟、60分钟级别扫描ETF择时信号
发送邮件使能:ETF出现买卖信号后邮件通知
止盈止损使能:ETF触发止盈止损条件时自动卖出
自动交易使能:ETF出现买卖信号后直接下单
“设置买入滑点”:在当前价格的基础上增加滑点,避免市场波动而出现买不进的情况。设置为0时,现价直接买入。
“设置买入股数”:实盘时买入该股的股数。
“设置卖出滑点”:在当前价格的基础上增加滑点,避免市场波动而出现卖不出的情况。设置为0时,现价直接卖出。
“设置卖出股数”:实盘时卖出该股的股数。
择时策略(新增):选择当前运行的策略,目前预置了“MACD金叉死叉”、“布林带突破”等4个策略
关于QMT自动下单相关的配置,主要是客户端安装路径和账号。打开configfiles/trade_para.json文件手动更改。配置完成后,可以在“交易”界面上测试下单接口是否配置成功。

关于ETF池,已经搬运至ConfigFiles/trade_para.json文件中,请按格式填写,此处我们填写的是支持T+0的ETF品种。

关于ETF止盈止损参数,我们在ConfigFiles/trade_para.json文件中按格式填写,此处我们填写止盈是4%,止损是3%,大家可以根据自己的风险偏好填写。

点击“开始扫描”后,程序就开始监测ETF池中是否有出现交易信号了。结束时需要先点击“停止扫描”,然后再退出。
可以从对话框中看到,159509、513300监测到卖出信号,但是在账户中未持有,未触发自动卖出。

当触发止损信号时,如果159509、513300这些ETF在账户中持有,QTYX自动卖出。

当出现止盈止损交易信号时,系统会链接上QMT客户端(提前登录QMT客户端,并且在configfiles/trade_para.json文件中填写下单参数),自动卖出ETF。建议提前在QTYX“交易”界面中测试下QMT下单是否成功!

一顿卖出后,QTYX监测到账户中已经清仓了这些ETF!159509、513300这些ETF未在账户中持有,不会监测止盈止损信号。

接下来,请把厉害的策略代码往里面加!!!

QMT接口

QMT(Quantitative Market Trading)是迅投公司开发的量化交易软件,专供券商采购,现在个人投资者也可申请使用。
MiniQMT 是 QMT 的简化版,执行完安装过程这两个就都有了。
MiniQMT的好处是我们可以用自己的量化系统框架,直接向券商发送下单信息。
MiniQMT 提供了一个 XtQuant 的 Python 库,可以 import 它并调用它的方法下单。
XtQuant 目前不能通过 pip 安装,可以下载后放在Python第三方库目录下。
MiniQMT 的下单信息流向如下。

在 Python 实盘代码中 import xtquant,通过 xtquant 库提供的方法下单
MiniQMT 的桌面应用接收到 xtquant 库发出的下单请求
MiniQMT 将下单信息发送给券商的交易服务器
如何获取安装包和开户可以看这篇介绍:量化交易自动下单方案—对接QMT已出炉
说明
完整的源码上传到知识星球《玩转股票量化交易》中,想要加入知识星球《玩转股票量化交易》的小伙伴记得先微信call我获取福利!
知识星球介绍点击:知识星球《玩转股票量化交易》精华内容概览

1849



被折叠的 条评论
为什么被折叠?



