前言
对于RPS技术指标大家一定不会陌生。它是股价相对强度指标,根据一段时间内个股涨幅在全部股票涨幅排名中的位次值,选取出市场中的强势股。
以大家熟知的“马太效应”和“二八法则”来解释的话就是市场始终遵循着“强者恒强”的定律。
欧奈尔研究了40年(1953年至1993年),500只年度涨幅最大的美股股票,发现每年表现好的股票,在他们股价真正大幅度狂飙之前,其平均的相对强弱指标RPS为87%。
由此可见通过RPS指标可以初步筛选出市场中的强势股,对于选股过程来说意义重大。
为了支持RPS指标来选股,我们升级了股票量化分析工具QTYX至V2.3.1版本。我们使用本地数据源垃圾加速RPS-Top10选股的过程,仅仅需要十分钟左右即可。
接下来我们就来介绍下升级后的QTYX如何使用。
快速获取全市场数据
股票数据的获取是从事股票分析的第一步。
数据获取的途径有很多,对大家来说除了数据的质量以外,获取的效率是第二敏感的点。
市面上有一些股票数据服务平台提供了Python接口来获取数据。
总的来说,用于单个股票获取时候还是挺方便的,但是当我们的策略涉及到全市场的回测时,一下子下载4000多只股票耗时就非常久。
因为调用接口时,本质上是连接到这些平台的服务器上,所以获取数据时会有一些限制,比如tushare的积分限制,每次调用的频次和数据量都有一定的限制。
为了解决这个问题,我们用了多线程爬虫的方式,然后保存在本地使用。
我们对核心代码封装了一层GUI,提供给大家直接可用的“股票数据下载”工具,只要简单的操作就能下载到股票数据。
点击状态条的“行情”控件,即可启动!
这个功能非常关键,为全市场的选股打下基础!
首先要在QTYX\DatazFiles路径下创建一个文件夹,用于存储股票数据文件,每个股票一个csv文件。代码中变量data_path默认的是stock_history/,当然大家可以随意更改。
如果stock_history目录下已经存在csv格式的股票数据,那么工具会自动加载到界面中。双击股票文件名称后,股票数据就会在界面右边表格中显示。
数据内容包含收盘价、开盘价、最高价、最低价、成交量外,还包含了涨跌幅、换手率、总市值等等,还是比较丰富的。
三个按钮的功能如下:
“开始下载”:工具开始增量下载股票从上市至最新交易日的全部数据
“刷新文件”:目前预留,个人觉得是景上添花的功能,后续有需要再增加
“补全下载”:在使用过程中如果触及了网站反扒机制,可以把未下载成功的股票名单记录下来,手动方式二次下载。
下载过程中会有“进度条”提供进度:
下载完成后在“日志区”会统计下载的情况。
因为我本地已经有历史数据了,所以只更新了最近的一天数据。如果是第一次使用本工具,则会下载全部的股票数据。
日志上显示:共更新4458支股票,4458支股票增加数据,0支股票更新失败。共耗时584秒(每天花10分钟左右更新下数据,非常能接受了!)
如果有股票下载失败,我们可以等待一会再点击“补全下载”按钮进行二次下载。
存储了全市场的股票数据之后,针对于全市场的选股和回测就可以展开了!
如何使用高速版RPS-Top10选股
高速版RPS-Top10选股功能是从【行情】界面进入的。
在【行情】页面,可以看到【选股模型】栏目中增加了“RPS-TOP10选项”。
点击“开始选股”后出现RPS选股相关参数的配置界面。
目前提供了2个选项:上市时间主要用于滤除次新股,工具会过滤掉设置时间之后的次新股;涨跌幅滚动周期用于平滑涨跌幅值,时间周期可以自己根据需要进行调整,一般定义有250日(一年),60日(3个月)、120日(半年)等等。
点击确认后,正式启动程序。程序结束后会把符合条件的股票及分析的结果存在ConfigFiles路径下的RPS-Top10分析结果.csv中。
打开RPS-Top10分析结果.csv文件可以看到近期A股市场前十的强势股。从中可以看到里面出现不少熟悉的“妖股”身影。
RPS在实战中的意义并不是一味地去选TOP1购买,因为涨跌幅加入了平滑算法之后往往会有滞后,此时容易买在顶部。比较有效的用法是持续关注新出现在TOP7-10的股票,我们的操作逻辑是在强势股出现第一波上涨后发现它,然后深入挖掘,判断是否会出现第二、三波的再创新高。当强势股转弱时也可以通过RPS的变化来观察。
说明
1. 我们会把完整的源码上传到知识星球《玩转股票量化交易》中,帮助小伙伴们更好地掌握这个方法。
2. 想要加入知识星球《玩转股票量化交易》的小伙伴记得先微信call我获取福利,名额有限先到先得!
元宵大师的量化交易书籍开售!!
京东、当当、天猫有售!!