这是邢不行第 127 期量化小讲堂的分享
作者 | 邢不行
你周围有没有一些交易高手,看一眼股票的K线就可以大致预测后续的走势。虽然不是完全准确,但也能说个七七八八。
这源于他们在市场较久,此前或多或少见过类似图形,对后市有一定判断。是长期的经验积累所致,而非真正的预测行情。
对经验不足的新手小白来说,很难在短时间内掌握这项技能。
但经验不够,可以科技来凑。对面任意行情,我们都可以借助Python程序找出历史上走势相似的K线,并分析其后续表现,以此给出参照。
本文我们就来做相应的研究,看这样操作对实战是否有帮助,又是否可以据此构建一些交易策略?
01
相似K线
1
支付宝功能
2024年国庆节前后,大A经历了一轮完整的牛熊,更有大盘开盘涨停的盛况。
很多人问我如何看待这段行情,说实话我记忆中也没见过这样的走势。
但记忆可能出错,数据却不会骗人。
最好的办法,还是从过往指数K线中寻找有没有相似的走势,它们之后又是如何演绎行情的。
有同事说支付宝有类似的功能,可以实现我们的需求,叫相似K线。
选择任意股票,就会分别展示出它自身和所有股票历史上,与最近30日K线最相似的形态,并画出未来走势。
对一个免费的功能来说,这个效果已经很好了。
但对我们做量化交易的来说,看到这些功能就想知道该如何计算,是否能将它复现出来,为自己所用。
在翻阅了一些研究资料后,我们最终复刻出了相似K线,还在原有功能上做了全面的升级,整理出了一份极其全面的文件,包含需要用到的数据、代码、各类教程文档。
如果你需要的话,可以加我微信xbx7031,都是可以直接免费发给你的。
下文我们就带着大家一起,开始本次寻找相似K线之旅。
02
皮尔逊相关系数
1
皮尔逊相关系数概念
要在众多K线中找到相似度高的组合,就需要借助皮尔逊相关系数。
学过概率论、统计学的同学,应该很熟悉它,是一个比较基础的概念。
没学过的朋友也不用担心,皮尔逊相关系数,简单来说就是用来衡量两组数据之间的线性相关程度。
皮尔逊相关系数计算公式
你不需要理解它的原理,只要会运用就可以了。
甚至Excel中就有现成的公式用于辅助计算:
用Excel计算皮尔逊相关系数
Python中更是有打包好的计算函数,只需一行代码就可以解决。
用Python计算皮尔逊相关系数
2
皮尔逊相关系数应用
指标用法也很简单,比如图中几个点可以连成一条向上的直线,则认为相关系数为1,即x的数据增加时y也会按相同趋势增加。
假若数据点是围绕图中直线分布,则说明它们之间是正相关关系,相关系数介于0-1,围绕的越紧密,指标越接近1。
与之相反,如若是向下的直线则为负相关关系。
若数据之间毫无关系,它们的相关系数则为0。
了解了上述内容,就可以借此构建出计算K线相似度的公式:
相似度在-100%-100%之间波动
具体用法也很简单,例如下图是股票A和股票B某时间段的K线图,它们的相似度高达98%,走势上也的确极其接近。
而股票C和A的相似度是75%,走势上也给人一种相像又不完全像的感觉。
再比如股票D和A的相似度只有0.05%,它们之间毫无关联也一目了然。
通过上述案例即可发现,相似度越接近100%,K线之间也就越相似。
03
指数相似度
1
寻找指数相似K线
我们先用相似度指标来寻找上证指数最近20个交易日的相似K线。
理论上Excel也可以做相应的计算,我们则是直接编写了Python代码来辅助计算,如果你需要这个代码的话,可以加我的微信xbx7031,都是可以直接免费发给你的。
程序运行结果如图所示:上证指数历史上共出现了57次与近20日K线相似度超过了90%的情况。
其中相似度最高的是2016年7月29日-8月25日这段时间,高达96%。
将两段K线放一起看,在走势上也极其接近。
如此看来,我们的经验和记忆有时确实会出现偏差,一些历史上存在过的K线走势,如果不借助数据和代码复现,可能就会被自然遗忘。
我们也可以稍微修改代码,去看指数最近30个交易日的相似K线是哪些时间段:
结果与20日完全不同
你也可以拿到代码后,选择自己感兴趣的时间段去做观察,类似操作就不再多加赘述。
2
未来表现统计
寻找历史上的相似K线,是想以史为鉴,去探究过去发生了什么,以便给当下的交易做出指导。
我们还不能只单纯看个例,应综合分析历史上相似度高于90%的所有情况,观察在这些K线产生后,买入并持有未来1天/5天/10天/20天后,赚钱的概率有多少,获取的平均收益又有多少?
计算的代码我们也已经准备好了,感兴趣的可以加我微信xbx7031,都是可以免费发给你的。
上证指数历史上,与最近20个交易日的K线相似度超过90%的阶段共57次。
在这些K线出现后的第二天开盘去买入上证指数,持有1天的上涨概率是63.16%,平均收益是0.18%。
持有5天/10天的上涨概率也都在50%以上,但收益率几乎可以忽略不计。
持有20天的上涨概率骤降至43%,收益率也来到了-1.39%。
以上数据结果,也可以给我们的交易决策一定的底气和参考。
我们以上的所有研究都是基于上证指数,鉴于大家还是以交易个股为主,下文我们就将研究拓展到个股。
比如选取任意股票任意时间段的K线,在所有股票的历史数据中,找出相似度高的时段,并统计这些相似走势之后的市场表现。
04
全市场探究
以茅台为例,它最近20个交易的K线如图所示。站在这个时点,我们就想知道未来几天茅台的价格会如何变化,该直接进场还是等它继续下跌?
但我们无法预知未来,最好的办法是通过分析历史相似K线,来辅助判断后续行情。
该思路类似于技术指标中归纳整理特殊形态,只不过我们寻找的是随机的相似K线,无需做特殊条件的归纳。
我们请出祖传的Python代码,相关功能已经帮大家准备好了,只需要根据我文档中的流程来操作即可。
数据和代码可以加我微信xbx7031获取
通过代码,我们先找出了2007年至今A股历史上和茅台最近20个交易日走势最相似的三段K线,并画了出来,相似度分别是97.7%和97.6%。
并标注出了它们的股票名称、交易日期,甚至还将后续走势也画出供大家参考。
以上功能,支付宝也可以提供,虽然不如我们全面,但也确实不值得我们夸耀。
我们还额外添加了其它功能,比如历史上和茅台最近走势相似度最大的1万组K线,相似度最低的也有92%,说明彼此走势都很相似,那这些K线未来的整体表现又是如何?
我们计算了这些K线出现后未来1天/5天/10天/20天的上涨概率和平均涨跌幅,结果如图所示:
利用我们的工具,你既可以肉眼直观比较最相似K线的未来表现,也可以通过大数据分析最相似的前X组K线的整体表现,以此辅助你做出交易决策。
本文只是以茅台为例,你也可以拿了代码后,选择其他任意股票、任意时间段、任意X根K线去做走势的研究,这些完全可以实现,就看你如何使用。
如果你需要这个代码的话,可以加我微信xbx7031,都是可以直接发给你的。
最后再透露个小秘密,既然相似度是以开高收低价格为基础计算的,那是否可以将成交量也考虑进去?
是不是也可以融入技术指标,如均线的相似度计算,寻找更广泛意义上的相似K线?
篇幅有限,就不多加赘述了,感兴趣的朋友可以和我一起讨论,也可以问我要了数据和代码自己把玩修改,以上思路都是可以实践的。
05
后记
文章的最后,和大家分享一点量化投资的心得。
经常有人问我小白如何入门量化投资,有什么资料分享。
我特意为大家准备了一个《量化投资新手学习大礼包》。
首先是我们自己总结的适合零基础新手的量化投资学习路径,可以让你知道自己每一步需要达到什么阶段。
接下来你可以通过我整理的量化文章合集,来更全面的了解量化投资到底是什么。
我还精选了适合各个学习阶段的策略研报合集,正如我一直所说,量化研报是很好的量化实践项目,深度研报可以显著提升你的量化水平。
这一份代码则适合喜欢研究技术指标的人,你可以跟着教程轻松计算出所有技术指标,并测试这个指标的有效性。
如果你有一定的基础,还可以尝试回测一些策略,我为你准备好了十几个不同类型的经典策略和它们的代码,相信总有一个适合你自己去魔改开发,运用到实盘。
最后也是最关键的,量化的基础就是准确的历史数据,我会送你一份股票历史日线数据和一份财务数据,你可以用它测试所有技术指标和财务指标,也可以用来回测大部分策略。
识货的你一定能够发现这个大礼包的价值吧。如果你需要的话,可以加我微信xbx7031,都是可以直接免费发给你的。
联系作者
往期文章推荐
会缠论和不会缠论的都沉默了,缠论关键在笔和线段?| 全网独家
新手散户如何避免被割?有量化策略适应暴涨暴跌行情吗?|附代码
年度最佳,逆势大涨?什么量化策略今年比四大行还猛?甚至半年零回撤?
财务指标别乱用,实盘回测亏成狗?如何量化价值投资?财务指标,多少人用错了?
翻了20万份A股增减持公告,我找到了传说中的股神?| Python量化股东增减持数据,谁是真正的抄底逃顶高手?
反常识!科研巨头扎堆夕阳行业?A股研发之王竟是它?万亿研发费用,A股都投了什么?
妙用市场情绪找出大盘买卖点,逆向交易5年3倍 | Python量化期权成交量,上证50ETF择时
300W才能开通,A股自动交易公平吗?散户如何实现程序化交易?| 附A股程序化交易实盘演示
趋势之王or虚有其表?Python量化25种均线用法,哪些有用,哪些没用?
低风险、高收益?可转债缘何走上神坛?网红可转债策略能赚钱吗? | 附Python量化选债代码
抱最狠的团,亏最多的钱?Python量化散户抱团,揭秘A股股东户数秘密 | 附代码
以前嗤之以鼻,现在逐字学习!用Python量化缠论,一键自动生成交易信号 | 附代码 |【邢不行】
技术指标消亡史:从独领风骚到泯然众人 | 量化交易者如何看待技术指标,技术分析还能用吗?| 【邢不行】
微盘股还能买吗?量化轮动策略轻松跑赢指数12倍?!只会买指数ETF也能做量化?| 【邢不行】
大A为何频繁跳水,Python量化1200W条交易数据给你答案!| 【邢不行】
A股贵如金?Python量化验证AH股溢价效应,跟着买15年18倍?| 附策略代码