前言
本期我们介绍下,如何把高速版双底形态选股筛选出来的股票导入到自选股票中,这样就能把量化分析的那些好用的功能结合起来一起使用了。
我们先来回顾下QTYX设计的整体选股框架!框架结构图如下所示,详细介绍可以看以下视频介绍:
本期我们升级了股票量化分析工具QTYX至V2.3.4版本,用于支持上图红色部分的功能。
什么是双底形态
对于第一次接触QTYX的双底形态识别功能的小伙伴们,可以先了解下什么是双底形态。
双重底也称“W底”,是指股票的价格经过一段下跌后,形成一个低点后展开反弹,随后再次回落,在上一个低点附近形成新的低点,此后股价再次往上运行,这样就形成了两个底部,成为双重底。
如下图所示。两个跌至最低点的连线称为“支撑线”。两个低点之间的高点价格称为“颈线”价格。
通常放量突破颈线时是一个不错的买点。用供需关系去理解其内在逻辑的话,可以看作在颈线压力位置有大量的需求涌入吸收了供应的筹码,同时出现了供不应求的情况,这使得股价上涨突破了颈线压力,后续持续上涨的概率较大。
突破后会有两种形态:第一种是突破后直接快速拉升;第二种是突破之后缩量回踩颈线位置附近,确认突破有效后再快速拉升。
识别双底形态的算法
针对双底形态的特征,我们设计了一套识别的算法。
如上图所示,我们以个股的收盘价时间序列为分析数据。当前交易日期为终点,往前从历史交易日中选择两个连续区间,区间1和区间2。
这两个区间先按完全相等的范围设定,然后增加一个区间叠加变量【参数可配置】,这个变量的作用是可以进一步去过滤像头肩底或者V型底的形态。
当然更灵活的做法是动态去划分,划分的规则可以根据市场的整体走势来设定,当然程序也会更复杂。
然后按以下步骤分析:
(1)找区间1的极小值,为“左底”
(2)找区间2的极小值,为“右底”
(3)找左底与右底之间区域的极大值为“中顶”
(4)比较左底与右底的价格,是否相差大于3%【参数可配置】
(5)判断当前交易日的收盘价突破颈线位时,它的涨幅是否大于3%【参数可配置】
(6)判断当前交易日是否首次突破颈线
(7)判断当前交易日的收盘价突破颈线位时,成交量是否超过近期平均值的20%【参数可配置】
我们只需要在QTYX上增加双底形态识别的算法代码,就可以自动对全市场的股票执行双底形态识别。
识别形态的代码存放在StrategyGath/PattenGath.py中,感兴趣的朋友可以研究下。
如何使用高速版双底形态识别New
以前不用量化,大家都是在行情软件上用肉眼方式筛选符合双底形态的股票。
学会了量化交易之后,我们得升级下自己的炒股方式!用量化软件来帮助我们自动寻找符合条件的股票。
接下来说说怎么使用吧!
第一步是进入到高速版的选股界面。
高速版双底形态功能点击主菜单的【行情】按钮进入。
第二步是更新股票数据。
首先要在QTYX\DatazFiles路径下创建一个文件夹,用于存储股票数据文件,每个股票一个csv文件。代码中变量data_path默认的是stock_history/,当然大家可以随意更改。
如果stock_history目录下已经存在csv格式的股票数据,那么工具会自动加载到界面中。双击股票文件名称后,股票数据就会在界面右边表格中显示。
数据内容包含收盘价、开盘价、最高价、最低价、成交量外,还包含了涨跌幅、换手率、总市值等等,还是比较丰富的。
三个按钮的功能如下:
“开始下载”:工具开始增量下载股票从上市至最新交易日的全部数据
“刷新文件”:目前预留,个人觉得是景上添花的功能,后续有需要再增加
“补全下载”:在使用过程中如果触及了网站反扒机制,可以把未下载成功的股票名单记录下来,手动方式二次下载。
下载过程中会有“进度条”提供进度:
下载完成后在“日志区”会统计下载的情况。
如果是第一次使用本工具,则会下载全部的股票数据。比如本地已经有历史数据了,那么只更新了最近缺失的数据。
日志上显示:共更新4130支股票,4130支股票增加数据,9支股票更新失败。共耗时540.46316066秒(每天花10分钟左右更新下数据,非常能接受了!)
有9只股票下载失败,我们等待一会再点击“补全下载”按钮进行二次下载。
存储了全市场的股票数据之后,针对于全市场的选股就可以展开了!
第三步是全市场快速选股。
在主页面中,包含了【开始日期】、【结束日期】、【股票复权】、【选股模型】、【股票池选取】等栏目。
【开始日期】和【结束日期】选取行情数据的范围,默认是1年的数据量;
【股票复权】下拉选项中可根据需求选择【不复权】、【前复权】和【后复权】中的一个;具体介绍可以看以下文章!
高速版的股票数据源增加复权功能,股票量化分析工具QTYX-V2.3.3
【选股模型】选择“双底形态”;
【股票池选取】选择全市场的股票。
然后点击【开始选股】,此时会弹出参数配置对话框:
目前总共开放了7个参数配置:选取K线范围、选取中间区域误差、双底低点之间误差、有效突破颈线幅度、有效突破当天涨跌幅、有效突破成交量阈值、选股结果保存-新增。
这些参数代码的意思可以结合图片的标注以及识别算法原理进行了解。可以查看历史公众号文章:
加速双底形态选股!本地数据源快速遍历全市场!股票量化分析工具QTYX-V2.3.0
双底形态识别又又又升级了!这次叠加了突破当日涨幅判断!
双底形态选股升级!精确筛选首次突破个股!股票量化分析工具QTYX-V2.2.8
形态选股升级!全市场扫描、远程提醒都具备!股票量化分析工具QTYX-V2.2.7
其中有效突破成交量阈值表明,在突破当天的成交量要高于“选取K线范围”内成交量均值的百分之X以上。
其中选股结果保存可以根据需要选择保存的股票。比如“出现双底即保存”表示只要出现双底形态,无论是否首次突破,无论是否满足突破涨幅都会保存。由上至下的选择,相应保存条件越苛刻,符合条件的股票数量也越少。
点击确认后,开始自动识别,日志中会记录当前分析产生的结果,包括以下几种:
形态无效: 滤除股票 东方生物,代码 sh.688298
形态有效: 股票中红医疗, 代码sz.300981 分析结果如下:
a) 双底形态判断有效:左底 2021-06-22/102.6元; 右底 2021-07-26/101.63元; 中顶 2021-07-15/116.18元;
b) 未形成有效突破幅度!
形态有效: 股票辉煌科技, 代码sz.002296 分析结果如下:
a) 双底形态判断有效:左底 2021-07-01/6.72元; 右底 2021-07-28/6.62元; 中顶 2021-07-22/7.16元;
b) 双底形态突破幅度有效:当前收盘价 7.39元; 颈线价格 7.16元;
c) 双底形态突破放量有效:当前成交量 87619.64手; 平均成交量 62783.05307692308手;
同时符合要求的股票会自动存入ConfigFiles目录下的“xx-xx-xx-双底形态分析结果-高速版.csv”中。
需要说明的是,为了保险起见,前期建议大家先放宽要求,只要符合双底形态的都先加到csv中,并且人工二次确认。后续等到参数调节非常稳定了,就可以把条件设置严格一些,完全交给工具自动完成。
第四步是双底形态结果导入到自选股票池。
我们在新版本中增加了批量导入股票功能。
以“双底形态分析结果-高速版.csv”文件为例介绍下如何使用。
csv文件的关键点是要有“股票代码”和“股票名称”这两列。股票代码的格式可以是sh.xxxxx或sz.xxxxxx,也可以是xxxxxx.SH或xxxxxx.SZ。如下所示。
运行QTYX工具之后,点击主菜单的【量化】按钮进入界面,选择菜单栏的“股票池管理”,可以选择“增量更新”和“完全替换”两种更新方式。
比如我们选择“完全替换”方式,然后选择“双底形态分析结果-高速版.csv”,点击确认后即可将csv文件中的自选股完全替换至QTYX中的自选股票池中。
这样一来我们可以把双底形态选出来的股票导入到自选股票池中了。然后就可以使用各种量化的分析功能了!比如查看该股不同周期的走势、查看K线形态、衍生技术指标等等,或者加入到“组合分析池”后激活到“投资组合分析”,进行“收益率/波动率”分析、“投资组合分析”以及“财务报表”分析等等。
由于界定一种形态本身就比较宽泛,所以我们的目的更多的是提高选股的效率。只需十几分钟,从4000多个股票中快速筛选出10几只符合要求的股票,选出后为了保险起见,建议人工二次确认。
在实际应用中,我们还需要进一步结合基本面的指标去加以判断,来得到更加可靠的买入信号。
说明
想要加入知识星球《玩转股票量化交易》的小伙伴记得先微信call我获取福利!
元宵大师的量化交易书籍开售!!
京东、当当、天猫有售!!