龙空技术网

如何用Python量化“相似K线”实现形态选股?

Python金融量化 3645

前言:

眼前看官们对“python 选股策略”大约比较注重,我们都想要分析一些“python 选股策略”的相关资讯。那么小编同时在网摘上汇集了一些对于“python 选股策略””的相关资讯,希望朋友们能喜欢,你们一起来学习一下吧!

(文章转载自公众号 MindGo量化平台, 作者 陈城)

导读:“历史会重演”是技术分析的三大假设之一,市场行为与投资者心理有着千丝万缕的联系。比如价格形态,它们通过一些特定的价格图表形状表现出来,而这些图形表示了人们对某市场看好或看淡的心理。“历史会重演”,即:打开未来之门的钥匙隐藏在历史中。本文以K线图为基础,秉着“历史会重演”的理念,阐述了“相似K线”技术,并着重介绍该技术在“预测股价”、“分析市场”,“形态选股”三个方面的应用。

1.认识K线图

传统的技术分析通过历史价格、成交量、资金流来预测股价涨跌,其中历史价格一般指的就是K线,某个周期内的K线由开盘价、最高价、最低价、收盘价构成。因为周期不同,会使得K线表现形式产生差异,因此我们往往在讲K线时,在K线前指明周期,比如:日级K线、60分钟K线、15分钟K线等等。

兴业矿业日级K线图-X轴为时间,Y轴为股价

2.如何我们该定量“相似K线”?

我们选取两只股票的历史K线图,分别为:浦发银行(600000.SH)和中国石化(600028.SH),时间轴为2017-11-13至2018-02-05,共计60根K线。我们需要做的事情是:采用一个标准的公式,来计算出两段K线的相似程度,即相似值:K

注意:K线的相似程度受到历史长度和时间周期的影响,本文一律采用了60根日级K线来计算相似值

浦发银行历史K线走势图

中国石化历史K线走势图

两段K线的相似度K=(开盘价相关系数+收盘价相关系数+最低价相关系数+最高价相关系数)/4。

注意:相似度最高为1,即走势完全相同,相似度最低为-1,即走势完全相反,越接近0,则代表走势越不相关。

根据公式,我们计算出两段K线的相似度T=0.57

定性描述:两张K线图相似度并不是特别高

定量描述:两张K线图相似度为0.57

3.如何应用“相似K线”来预测未来股价走势?

我们已经清楚了“相似K线”,接下来让我们尝试将其用于预测未来股价。

第一步:选择浦发银行股票,锁定60个交易日的K线图,2018-10-08至2018-12-28。如下图:

浦发银行历史K线走势图

第二步:以上证50指数成份股为样本池,对历史4年的所有股票的K线图进行相似度计算,其中K线图长度为60个交易日,时间周期为日级,计算间隔为20个交易日。最终找出2850张K线图。

代码展示(文末获取全部源代码)

第三步:找出历史中相似度最高的K线图,并观察其后续股价走势情况。我们找到了中国铁建,其在2015-03-31至2015-06-26的K线图与浦发银行在2018-10-08至2018-12-28的K线图相似度高达0.8685。

中国铁建历史K线走势图

我们观察下图,发现中国铁建出现该段K线后,其后续走势出现反转上涨

中国铁建历史K线后续走势(黄线右侧走势)

第四步:根据中国铁建的前车之鉴,我们大胆判断出浦发银行在出现该走势后,也会反转上涨,我们画出K线图,进行验证。观察下图,可以发现,浦发银行也出现了反转上涨。

浦发银行历史K线后续走势(黄线右侧走势)

第五步:以上四步,即为“相似K线”预测股价的整个流程,我们将其应用于当下行情,选取浦发银行最近60个交易日的K线图

浦发银行近期K线走势图

并在上证50指数成份股的历史行情中,找出与其相似度最高的K线图,股票保利地产在2014-01-03至2014-04-04发生与其相似度高达0.8785

观察历史发生该段K线图后的后续走势,我们发生股价出现下跌,根据“历史会重演”的技术理念,判断未来浦发银行的走势大概率出现下跌。

历史上保利地产出现类似K线走势后股价出现下跌(黄线右侧走势)

4.在“相似K线”的独特视角下,A股市场的价格走势呈现怎样的态势?

第一步:我们获取上证指数的近60个交易日的K线走势图,如下:

上证指数近期K线图走势

第二步:我们计算上证指数的K线图与A股所有个股的近期K线图的相似度。

相似度数量count3585均值mean0.421585方差std0.349774最小值min-0.73125%分位25%0.2392550%分位50%0.5247575%分位75%0.68225最大值max0.94

数据表

第三步:数据分析,并作出初步结论:

1.A股市场中,接近75%的股票与大盘(上证指数)走势较为相近,与大盘走势无关或者相反的个股股票数量较少占比不到25%

2.近期与大盘走势最为接近的是兴蓉环境,相似度高达0.94

3.近期与大盘走势最为相反的是泰永长征,相似度高达-0.731,其可能与次新炒作相关,脱离大盘走势。

相似度分布

相似度数量分布

与大盘K线走势相似度最高的个股-兴蓉环境

与大盘K线走势相似度最低的个股-泰永长征

5.形态验证并选股-“相似K线”的技术应用

“W底”,“多头上涨”,“趋势回踩”,”上涨中继“这些都是常见的K线形态,以”上涨中继“为例,当股价快速上涨后,出现盘整形态而非顶部形态,预示股价还会进一步上涨,那么本节主要讲述”上涨中继”形态是否能够预测未来股价上涨,以及如何应用“上涨中继”形态,来快速选股。

出现“上涨中继”形态后继续上涨

第一步:选取一段标准的“上涨中继”形态K线图

标准的“上涨中继”形态K线图

标准的“上涨中继”形态后出现理想的上涨行情(黄色右侧)

第二步:形态验证,在历史行情中寻找相似度高达0.8的K线图,并计算后5日、20日、60日的收益率。分析:

1.历史4年中“上涨中继”形态发生后,后5日上涨概率仅为30%,后20上涨概率也仅为50%,但后60日上涨概率高达70%

2.形态发生后,5日收益率均值为-2.45%,20日收益率均值仅为0.97%,但后60日收益率均值高达15.60%

并初步得出结论:

上涨中继形态发生后,技术分析者应该尽量选择低位介入,并且持有一段时间,而不是早早离场。

5day20day60daycount286 286 286 mean-2.45%0.97%15.60%std8.64%6.54%22.19%min-49.37%-19.12%-36.02%0.25 -5.24%-2.14%0.00%0.50 -0.44%0.05%11.95%0.75 1.32%3.66%24.83%max28.70%45.17%151.47%

数据表

上涨概率分布

五日收益率分布

二十日收益率分布

六十日收益率分布

第三步:形态选股应用,我们认为“上涨中继”是一个较优质的中线买入机会,我们对全市场个股进行“上涨中继”形态选股,寻找出相似度最高的股票:ST天业,相似度为0.895,K线形态符合“上涨中继”,如下:

股票:ST天业,近期走势符合”上涨中继“形态

结束语:”相似K线“技术相比于传统的K线组合而言更具技术性,其还有较多的运用空间,比如:运用顶部形态来监控个股潜在的下跌风险,运用相似度来监控个股是否脱离大盘走势,研究各类形态的上涨预测能力,并应用于选股等等。

注意:文中对股价的预测来源于模型运算结果,不构成投资建议!

参考文献

-日本蜡烛图技术 [美] 史蒂夫·尼森

关于Python金融量化

专注于分享Python在金融量化领域的应用。加入知识星球,可以免费获取30多g的量化投资视频资料、量化金融相关PDF资料、公众号文章Python完整源码、量化投资前沿分析框架,与博主直接交流、结识圈内朋友等。

标签: #python 选股策略