前言
通过星球会员们的反馈,双底形态识别功能非常实用、接地气,每天运行一次形态识别,从而第一时间帮助大家快速找出符合突破条件的强势股票。
同时不少星友也给我反馈了一些改进需求,其中有一点非常急迫:
目前全市场寻找符合形态条件的股票是使用baostock库作为数据源的。由于服务器的限制,当需要获取全市场4000多只股票数据的时候,非常耗时。从而导致每天用双底形态选股需要花1-2个小时。
为了加速数据获取的过程,我们升级了股票量化分析工具QTYX至V2.3.0版本。我们使用本地数据源来代替baostock,从而加速双底形态选股的过程,仅仅需要几十分钟即可。
接下来我们介绍下升级后的QTYX如何使用。
快速获取全市场数据
股票数据的获取是从事股票分析的第一步。
数据获取的途径有很多,对大家来说除了数据的质量以外,获取的效率是第二敏感的点。
市面上有一些股票数据服务平台提供了Python接口来获取数据。
总的来说,用于单个股票获取时候还是挺方便的,但是当我们的策略涉及到全市场的回测时,一下子下载4000多只股票耗时就非常久。
因为调用接口时,本质上是连接到这些平台的服务器上,所以获取数据时会有一些限制,比如tushare的积分限制,每次调用的频次和数据量都有一定的限制。
为了解决这个问题,我们用了多线程爬虫的方式,然后保存在本地使用。
我们对核心代码封装了一层GUI,提供给大家直接可用的“股票数据下载”工具,只要简单的操作就能下载到股票数据。
点击状态条的“行情”控件,即可启动!
这个功能非常关键,为全市场的选股打下基础!
首先要在QTYX\DatazFiles路径下创建一个文件夹,用于存储股票数据文件,每个股票一个csv文件。代码中变量data_path默认的是stock_history/,当然大家可以随意更改。
如果stock_history目录下已经存在csv格式的股票数据,那么工具会自动加载到界面中。双击股票文件名称后,股票数据就会在界面右边表格中显示。
数据内容包含收盘价、开盘价、最高价、最低价、成交量外,还包含了涨跌幅、换手率、总市值等等,还是比较丰富的。
三个按钮的功能如下:
“开始下载”:工具开始增量下载股票从上市至最新交易日的全部数据
“刷新文件”:目前预留,个人觉得是景上添花的功能,后续有需要再增加
“补全下载”:在使用过程中如果触及了网站反扒机制,可以把未下载成功的股票名单记录下来,手动方式二次下载。
下载过程中会有“进度条”提供进度:
下载完成后在“日志区”会统计下载的情况。
因为我本地已经有历史数据了,所以只更新了最近的一天数据。如果是第一次使用本工具,则会下载全部的股票数据。
日志上显示:共更新4458支股票,4458支股票增加数据,0支股票更新失败。共耗时584秒(每天花10分钟左右更新下数据,非常能接受了!)
如果有股票下载失败,我们可以等待一会再点击“补全下载”按钮进行二次下载。
存储了全市场的股票数据之后,针对于全市场的选股和回测就可以展开了!
如何使用高速版双底形态
高速版双底形态功能是从【行情】界面进入的,其他的使用方法与之前低速(baostock数据源)版类似。
在“形态选股”页面,包含了【股票周期】、【股票复权】及【股票池选取】这几个栏目。
点击“开始选股”后出现形态识别相关参数的配置界面,具体含义可以参照这篇文章。
双底形态识别升级!叠加放量突破!股票量化分析工具V2.2.6
点击确认后,正式启动程序。我们会把符合条件的股票及分析的结果存在ConfigFiles路径下的双底形态分析结果.csv中。包括:
股票名称;股票代码;形态识别结果;
出现左底的日期和价格;出现右底的日期和价格;出现中间顶部日期和价格;
是否满足突破幅度,如果满足突破幅度时当前收盘价格和颈线价格分别是多少;
是否满足放量突破,如果满足放量突破时当前成交量和平均成交量分别是多少。
分析完成后还会以邮件方式通知到手机微信上,只需要在微信上开启QQ邮箱提醒功能即可。
关于邮箱发送的一些参数设置,在ConfigFiles的sys_para.json文件中的mailbox键对应的数值,包括:
to_address收件箱地址;
from_address发件箱地址;
password授权码,需要在qq邮箱中设置;
server_address服务器地址。
具体配置内容的说明可以参考这篇文章。
适合加班族的量化选股场景——还没到家就收到量化机器人的选股报告
运行完成后,从QTYX形态选股界面中可以看到运行的结果。
说明
1. 我们会把完整的源码上传到知识星球《玩转股票量化交易》中,帮助小伙伴们更好地掌握这个方法。
2. 想要加入知识星球《玩转股票量化交易》的小伙伴记得先微信call我获取福利,名额有限先到先得!
元宵大师的量化交易书籍开售!!
京东、当当、天猫有售!!