量化系统QTYX使用攻略|“风险管理”篇——实时监控止盈止损,机器人自动交易(更新2.8.9)...

08ca0f43b8fa00b62ec8514d700a9e09.png

QTYX系统简介

323ae1a52b2dd304c8ae8fd514327cd3.png

股票量化交易系统QTYX是一个即可以用于学习,也可以用于实战炒股分析的系统。

分享QTYX系统目的是提供给大家一个搭建量化系统的模版,最终帮助大家搭建属于自己的系统。因此我们提供源码,可以根据自己的风格二次开发。

关于QTYX的使用攻略可以查看链接:QTYX使用攻略

QTYX一直迭代更新,当前版本V2.8.9。后续升级版本会同步更新文档内容。

83b8e67a2b86b314364bf25d37d3d196.png

功能概览

9a88f4486eb785c06125d6534cc52ac2.png

止盈止损是交易领域中是不可或缺的风险管理方法,有助于限制损失、锁定利润。于是,股票量化交易系统QTYX推出止盈止损实时监控模块

在实盘时“量化机器人”会读取当前持有个股的止盈止损条件,并且周期获取全市场最新数据,当判断到个股符合条件就触发报警并执行交易。

这样一来,我们可以把QTYX部署在云服务器上,让QTYX帮我们实时监测个股,当到达我们设定的止盈止损目标时,通过邮箱、微信等即时聊天工具通知我们,同时也可以委托“量化机器人”自动下单。

954f5ba9cba0fa4a23ebe76bed94482e.png

配置交易参数

9809a71e380f3cca5c7c1ffde1a23e3b.png

点击QTYX“交易”后进入子页面。

ff5071ddd449a2914a75c981bd9304cd.png

点击“查看配置参数”按钮后,左边日志栏显示当前实盘配置参数,主要关注QMT下单相关的配置,比如客户端安装路径和账号等。

f63646cf87c25004534a9ea87e337876.png

如果要更改参数,可以打开configfiles/trade_para.json文件手动更改。

dee4dee946bd51098c721cefd2a5b603.png

配置完成后,可以在“交易”界面上测试下单接口是否配置成功。

a2824ae7cb97efad7bcca38de20f1b69.png

添加监测条件单

bb26b5214ada83b606c101576879389e.png

如何生成“监测条件单”呢?

点击“导入股票池”后会把自选股中的股票最新行情数据加载到界面中(用于建立条件单)。

点击股票代码后会出现买入/持有单配置界面。

0801964197642861710afba5ca998155.png

“持有股票池”中记录的是已持有股票的止盈止损设定值。

盘中触发到止盈止损值时会触发卖出信号。(买入股票池是准备买入的股票清单,目前作为预留功能)

选择“持有股票池”会出现配置界面。我们可以更改止盈止损的模式和幅度,同时配置界面也会显示买入的价格和持有后最高的价格。

2d004c35b89cc63b5b9402a296eba0f8.png

目前我们支持的止盈模式是固定比例的,比如买入后涨幅达到10%止盈。止损模式是动态回撤止损,比如买入后股价从最高价下跌5%后就止损退出。

我们填写“航天晨光”的止盈止损配置参数,点击确认后会添加到“持有股票池”中。

44b5993b6676b8c49f7fc2555a2e199f.png

如果要删除该股,更改止盈止损参数的话,双击持有股票池中的股票代码进行选择即可。

关于“买入股票池”,后续把策略和“买入股票池”关联起来后,当策略触发“买入股票池”中股票的条件后,会自动更新至“持有股票池”中。

目前,下单买入的股票,除了通过界面添加到“持有股票池”外,也可以通过在ConfigFiles/trade_para.json中添加信息方式更新“持有股票池”。

06b8fa39cd9e3ed6f5ef394e04b7e034.png

启动止盈止损功能

ff24e6ad0c0594f80b4bfdb0d8ffec3f.png

我们点击“策略导航—>实盘监测—>动态监测”,然后会出现一个操作对话框,如下所示:

接下来,我们介绍下界面上的功能。
监测周期:支持3秒、5秒、1分钟级别扫描监测信号

发送邮件使能:出现止盈止损信号后邮件通知

自动交易使能:出现止盈止损信号后直接下单

点击“开始扫描”后,程序就开始监测“持有股票池”中是否有出现止盈止损信号。结束时需要先点击“停止扫描”,然后再退出。
可以从对话框中看到,002214在账户中持有,触发止损信号后机器人自动卖出,而000505未在账户中持有,监测到触发止损信号能够正确提示。当出现交易信号时,系统会链接上QMT客户端(提前登录QMT客户端,并且在configfiles/trade_para.json文件中填写下单参数),自动交易个股。建议提前在QTYX“交易”界面中测试下QMT下单是否成功!

87f96d23d272dfdc08e1471622b8e3a0.png

远程报告配置

1022ca001c7fd342e7078c97e5788cf8.png

实盘时发现该股已经符合止盈止损交易条件时,会远程发送信息提醒。(要记得在ConfigFiles/sys_para.json中填写邮箱信息,在微信上开启QQ邮箱提醒功能,效果如同微信提醒)

bce412d8da15bc442cc4bfa6b2067416.jpeg

如何填写邮箱信息:

发送邮件和核心是SMTP(Simple Mail Transfer Protocol)协议,它是一组用于由源地址到目的地址的邮件传输规则。

Python真的是什么都能做,它对SMTP进行了简单的封装,只需用到两个模块,就可以轻松实现发送纯文本邮件、HTML邮件以及带附件的邮件。

哪两个模块呢?Python内置的email模块负责构建邮件,另一个smtplib模块负责发送邮件。

常规的流程,先把涉及到的模块全部导入进来,如下所示:

c54b57a1edaa3249d176fb86ccdd5b9a.png

首先用MIMEText()构造一个最简单的纯文本邮件,其中第一个参数是邮件正文,第二个参数是内容的类型,比如'plain'表示纯文本邮件,'html'表示HTML邮件。

创建的邮件对象中,要添加From、To和Subject这些属性,否则就不是一封完整的邮件,比如会出现邮件没有主题,发件人的名称为匿名,明明收到了邮件却提示不在收件人中这些情况。

典型的例程如下所示:

e77f1959d0cebd4f29ebd4248f81cd1a.png

再来说说负责发送邮件的smtplib模块,这个模块主要是用smtplib.SMTP()类去连接SMTP服务器,然后发送邮件。

例程中我们会用到几个常用的方法,比如set_debuglevel(1)打印和SMTP服务器交互的所有信息。login()登录SMTP服务器,sendmail()方法发邮件。

典型例程如下所示:

53d3575850edfe389d6139bc78da0e73.png

这里的password是个比较容易混淆的地方。不是邮箱登陆的密码,而是授权码。

第三方客户端登录QQ邮箱时是需要授权码的,包括其他邮箱也都一样,比如126、163邮箱等等。授权码可以认为是一个专用密码,适用于登录以下服务:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。

如何设置呢?以QQ邮箱为例,我们在QQ邮件的帮助中心找到了方法。

在个人邮箱页面进入[设置] -> [帐户] 页面找到入口,然后把POP3/IMAP/SMTP这几个服务开启。

9728b60a2c4e2c2d5f131d21756e1c4f.png

开启的时候有验证密保环节,需要发送短信,接着就获取到授权码,在第三方客户端的密码栏里面输入这16位授权码进行验证即可。

e029540354d5bf5dea34964bbcc35c36.png

42e7bbb5cfd5cf4a095d98d6cfe601a8.png

这样一来邮件就发送成功了!

cfc023e9145d7e4a0c2de092369bc42a.png

总结‍

e661a45fb02aa825722469abe0b37ff2.png

 
 
有了这个框架后,我们就打通了QTYX的风险管理环节了。当QTYX选出强势股,根据择时信号买入标的后,即可启动风险管理模块,实时监测个股止盈止损信号。

接下去大家可以在这个基础上结合自己的风格进行二次开发,把这些模块根据自己的需求组合起来使用。

说明

想要加入知识星球《玩转股票量化交易》的小伙伴记得先微信call我获取福利!

知识星球介绍点击:知识星球《玩转股票量化交易》精华内容概览

de8c746a1162bd7e1edef2418c7d64b7.jpeg

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值