前言
自从股票量化分析工具QTYX新增双底形态选股功能以来,大家都觉得这个功能非常实用,通过双底形态的识别可以选出上涨初期的个股。
特别是大周期、多K线形成的双底形态,它的效果更好,因为这样的形态往往是由市场力量形成的,我们只需顺势而为即可。
同时不少星友在使用过程中也反馈了一些升级的需求,大家一起来完善这个功能。
本期我们对双底形态识别升级了2个功能,QTYX版本也相应升级到了V2.4.0:
开始选股后,再次点击按钮会紧急停止,比如发现参数配置不对时,可以停下来修改参数,然后重新开始。
买入符合双底形态的股票后,到底是亏损还是盈利呢,我们增加了回测功能就能一目了然。比如在持有的时间内,盈利可以超过10%,而亏损只有3%,那么就能从盈亏比角度去设计我们的策略。
如何使用
接下来,我们主要介绍下回测功能的用法。
回测功能在原理上是取两段数据,一段数据用于识别形态(符合形态条件时买入),另一段数据用于计算买入该股后盈亏的情况。
比如我们取识别形态的数据段的开始时间至结束时间是2021年4月4日—2022年2月4日。当前日期是2022年4月4日,那么评估盈亏数据段的开始时间至结束时间2022年2月4日至2022年4月4日。
在双底形态的配置参数界面有这么一个参数【设置使能回测所需交易日数量】,当配置成40天时,需要保证“评估盈亏数据段”至少要大于40天才会使能回测功能(数据量太小无计算的意义)。
点击“开始选股”按钮后开始识别双底形态,当出现符合条件的个股时,打印日志如下所示:
在“双底形态分析结果-高速版.csv”中可以发现多了最大盈利id(发生最大盈利的时间)、最大盈利价格、最大盈利比例%、最大亏损id(发生最大亏损的时间)、最大亏损价格、最大亏损比例%这几列。
特别是“最大盈利比例%”和“最大亏损比例%”这两列,我们可以客观地评估双底策略的效用。
我们选其中一只股票,比如证通电子,打开行情软件验证一下识别出来的结果准确度是否在可接受范围内。
计算得到盈利和亏损的比例之后,我们可以设计策略的赔率。不少交易者容易走入胜率的误区,总觉得策略的胜率要很高才能盈利,其实设置好止损点后,让利润奔跑,这样的策略也是可以长期盈利的。
形成双底形态的个股不一定会开启一轮上涨趋势,但是很多大牛股在启动前会出现双底形态。我们的目的是抓住大牛股,因此即使双底形态的胜率不高,但是在低胜率时如果能够抓住大牛股每次赚的时候赚很多,而亏的时候亏一点就止损(建议使用动态止损,比固定止损效果更佳),这样就能保证策略的盈亏比。
不少读者第一次接触QTYX的双底形态识别选股,以下提供往期内容回顾!
什么是双底形态
双重底也称“W底”,是指股票的价格经过一段下跌后,形成一个低点后展开反弹,随后再次回落,在上一个低点附近形成新的低点,此后股价再次往上运行,这样就形成了两个底部,成为双重底。
如下图所示。两个跌至最低点的连线称为“支撑线”。两个低点之间的高点价格称为“颈线”价格。
通常放量突破颈线时是一个不错的买点。用供需关系去理解其内在逻辑的话,可以看作在颈线压力位置有大量的需求涌入吸收了供应的筹码,同时出现了供不应求的情况,这使得股价上涨突破了颈线压力,后续持续上涨的概率较大。
突破后会有两种形态:第一种是突破后直接快速拉升;第二种是突破之后缩量回踩颈线位置附近,确认突破有效后再快速拉升。
识别双底形态的算法
针对双底形态的特征,我们设计了一套识别的算法。
如上图所示,我们以个股的收盘价时间序列为分析数据。当前交易日期为终点,往前从历史交易日中选择两个连续区间,区间1和区间2。
这两个区间先按完全相等的范围设定,然后增加一个区间叠加变量【参数可配置】,这个变量的作用是可以进一步去过滤像头肩底或者V型底的形态。
当然更灵活的做法是动态去划分,划分的规则可以根据市场的整体走势来设定,当然程序也会更复杂。
然后按以下步骤分析:
(1)找区间1的极小值,为“左底”
(2)找区间2的极小值,为“右底”
(3)找左底与右底之间区域的极大值为“中顶”
(4)比较左底与右底的价格,是否相差大于3%【参数可配置】
(5)判断当前交易日的收盘价突破颈线位时,它的涨幅是否大于3%【参数可配置】
(6)判断当前交易日是否首次突破颈线
(7)判断当前交易日的收盘价突破颈线位时,成交量是否超过近期平均值的20%【参数可配置】
我们只需要在QTYX上增加双底形态识别的算法代码,就可以自动对全市场的股票执行双底形态识别。
识别形态的代码存放在StrategyGath/PattenGath.py中,感兴趣的朋友可以研究下。
如何使用高速版双底形态识别
以前不用量化,大家都是在行情软件上用肉眼方式筛选符合双底形态的股票。
学会了量化交易之后,我们得升级下自己的炒股方式!用量化软件来帮助我们自动寻找符合条件的股票。
接下来说说怎么使用吧!
第一步是进入到高速版的选股界面。
高速版双底形态功能点击主菜单的【行情】按钮进入。
第二步是更新股票数据。
首先要在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几只符合要求的股票,选出后为了保险起见,建议人工二次确认。
在实际应用中,我们还需要进一步结合基本面的指标去加以判断,来得到更加可靠的买入信号。
说明
1. 我们会把完整的源码上传到知识星球《玩转股票量化交易》中,帮助小伙伴们更好地掌握这个方法。
2. 想要加入知识星球《玩转股票量化交易》的小伙伴记得先微信call我获取福利,名额有限先到先得!
元宵大师的量化交易书籍开售!!
京东、当当、天猫有售!!