主页 > imtoken中文版app > 听说MACD是技术指标之王?我们用Python查色

听说MACD是技术指标之王?我们用Python查色

imtoken中文版app 2023-02-23 05:35:14

介绍:

邢步兴系列帖子《量化小讲堂》通过实际案例,教初学者使用python进行量化投资,了解行业研究方向。 希望对大家有所帮助。

【历史文章汇总】点这里

sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区_比特币最佳行情软件

比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区

经常有朋友问我一些MACD技术指标相关的问题:

sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区_比特币最佳行情软件

本文将对MACD指标进行全面的讲解,使用Python和全量历史数据来看其表现如何。

01

什么是MACD

无论您是交易A股、美股、期货还是数字货币,大部分行情软件都会默认在指标上方显示MACD指标。

比如下图中,常见的K线图下方有两条曲线和一些红色或绿色的柱子。 这种组合就是 MACD 指标。

比特币最佳行情软件_比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件

MACD指标

根据MACD指标的定义,它主要由三部分组成:DIFF、DEA和MACD:

DIFF就是下图中的橙色线,是对K线的收盘价进行一系列计算后得到的:

比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区

DEA就是下图中的蓝线,在DIFF的基础上进一步计算:

比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区

橙线(DIFF)减去蓝线(DEA)后,乘以2得到MACD指标,也就是下图中的红绿柱。

比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件_比特币最佳行情软件

柱的长度是MACD绝对值的大小。 如果 MACD 大于 0,则为红色,如果 MACD 小于 0,则为绿色。

我们在做量化交易的时候,不仅要看到图表上的指标,还要对其进行计算,以便后面得到相应的买卖点。

知道了MACD的定义,计算MACD并不复杂,几行Python代码就可以搞定:

sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区_比特币最佳行情软件

其中MACD的计算只用到最后5行代码,前3行主要是导入数据和计算恢复价。 人生苦短,我用 Python。

比特币最佳行情软件_比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件

头发当然短了,也用Python

通过这段代码,我们可以通过读取某只股票的K线数据,得到每条K线对应的MACD指标:

比特币行情比特社区_比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件

数据输入

比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件_比特币最佳行情软件

数据输出

如果你想自己尝试上面的代码和数据,可以私信我获取。

02

如何使用 MACD

计算出MACD指标后,我们应该如何使用呢?

介绍一下MACD最常见的用法——“金叉死叉”。

仔细观察MACD的图形,我们会发现橙线(DIFF)和蓝线(DEA)相互交织,不断交叉,这些交点可以作为买入和卖出的信号。

比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区

橙色线(DIFF)和蓝色线(DEA)相互交叉

当橙线(DIFF)向上穿越蓝线(DEA)时,称为“金叉”,简称“金叉”,为买入信号。

比如下图出现金叉之后,确实是一路上涨。

比特币行情比特社区_比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件

当橙色线(DIFF)向下穿越蓝色线(DEA)时,称为“死亡交叉”,简称“死叉”,为卖出信号。

比如下图出现死叉后,股价也开始下跌。

sitetuoluocaijing.cn 比特币行情软件_比特币最佳行情软件_比特币行情比特社区

金色十字架和死亡十字架必须交替出现在彼此旁边。 最常见的基于MACD的择时策略是选择金叉时买入,死叉时卖出。

比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件_比特币最佳行情软件

沪深300 MACD时序表现

上图是沪深300某段时间的K线图。 红色部分表示买入金叉持股阶段,绿色部分表示卖出死叉做空阶段。

从图中看,红色部分确实以上涨为主,绿色部分确实是下跌。

从这点来看,MACD的时机把握能力让人忍不住打666。

sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区_比特币最佳行情软件

看到这里,是不是有点动心,甚至准备尝试经营,从此走向人生的巅峰?

慢慢来。

在新华书店门前显眼的地方,摆着《股票大师》的书,通常会告诉你某个神奇的指标。

然后精心挑选几张行情图片来展示这个指标的买卖点有多么惊人,让你对这个指标有坚定的信心。

比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区

但是对于我们这些做量化投资的人来说,几张图是没有说服力的。 如果这不是大概率事件,而只是巧合呢?

想知道MACD金叉和死叉是否有效,不是光看几张图就可以了。

就是找出一只股票历史上所有的金叉和死叉,看它们之后的表现如何。 只有这样,我们才能有说服力。

02

MACD黄金交叉死叉表现

要统计一只股票历史上所有的金叉和死叉的表现,用行情软件人工统计是肯定不行的。 这时候就需要用到Python了。

我们稍微扩展一下用于计算 MACD 的 Python 代码:

比特币行情比特社区_比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件

MACD金叉死叉统计代码

通过上面的代码,可以找到一只股票历史上所有的金叉和死叉。 并且还计算了信号出现后第1、5、20个交易日股票的涨跌幅:

sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区_比特币最佳行情软件

代码统计

有了这个结果,我们就可以综合评价金叉和死叉。

1 浦发银行MACD表现

先随便挑一只沪市代码数排名第一的浦发银行(sh60000)运行程序,看MACD在它上面的表现:

比特币行情比特社区_比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件

数据显示,浦发银行自1999年上市以来,共有194个金叉,金叉后一天、五天、二十天上涨的比例分别为:50.51%、48.45%、分别为 51.55%。

这……结果有点出乎意料。 金叉之后,上涨的概率大概是50%...

这和抛硬币没什么区别!

sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区_比特币最佳行情软件

虽然没想到金叉之后涨了100%,但是概率应该是60%吧?

不然30%就好了,所以当反指的时候,胜率是70%。 50%是最尴尬的概率,反之就是50%

而且,第194个金叉后1、5、20个交易日的涨幅中值分别为0.08%、-0.09%、0.39%。

只有中值涨跌20日表现稍好,但年化收益与余额宝差不多。

sitetuoluocaijing.cn 比特币行情软件_比特币最佳行情软件_比特币行情比特社区

我们再看看死叉。 出现死叉后,下跌的概率基本在50%左右,中位涨跌幅也接近于0%,这也是一个没有意义的指标。

以上只是简单的统计。 严格按照金叉买卖浦发死叉,看看最后的资金曲线会怎样?

我们使用大部分行情软件MACD的默认参数(12、26、9),设置手续费和印花税,进行回测。 结果如下:

比特币最佳行情软件_比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件

橙色线是浦发银行的原始表现,蓝色线是浦发银行MACD择时策略的表现。

利用MACD适时买卖浦发银行,年化收益率仅为3.5%,13年资产仅增长61%,而浦发银行本身股价翻倍1.9 倍。

可以看出用MACD来计时浦发的效果很差,不如直接买入持有。

比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件_比特币最佳行情软件

没想到在各大市场软件中都处于C位的人气指数,却表现如此糟糕?

浦发银行是不是刚好不适合MACD?

2 贵州茅台MACD表现

那我们换个股,看看MACD对贵州茅台的表现。

将之前Python程序的输入数据改为贵州茅台,直接运行即可得出结论:

sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区_比特币最佳行情软件

从图中可以看出,金叉之后,茅台上涨的概率远高于浦发,涨跌幅中位数也有所增加,非常好。

sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区_比特币最佳行情软件

但死叉后的表现并不尽如人意。 20日之后下跌的概率仅为43%,上涨中位数为0.92%。

这……显然是一个看涨信号。

比特币最佳行情软件_比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件

如果茅台严格按照金叉买死叉卖的方式操作,业绩会如何?

我们还使用默认的 MACD 参数得到以下结果:

比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区

如果2007年投入1块钱,翻了8倍,年化率高达16.33%,看起来很不错。

但如果我们将其与茅台本身的价格进行比较:

比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件_比特币最佳行情软件

上图中蓝色线是MACD时机的表现,橙色线是茅台本身的表现。 这样一对比,MACD时机的表现就有些可笑了。

茅台本身的年化收益率高达28.69%,合计增长32.5倍。 但是,经过MACD时机的一些神奇操作,也仅仅增加了8倍。

这大概就是传说中的猛如虎的一次性操作,一看利润2.5%。

MACD对茅台的表现依旧不佳。 难道MACD只是对这两只股票不起作用?

3 所有股票的 MACD 表现

这一次,让我们再玩一把,统计一下所有A股个股的MACD表现,看看结果如何。

稍微修改一下之前的Python代码就可以统计所有股票的MACD表现:

比特币行情比特社区_比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件

sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区_比特币最佳行情软件

我们统计了1990年至今约5000个交易日,A股市场4000多只股票历史上所有的金叉和死叉,信号总数约80万个,得到如下结果:

sitetuoluocaijing.cn 比特币行情软件_比特币最佳行情软件_比特币行情比特社区

无论是金叉后上涨的概率,还是死叉后下跌的概率,都集中在50%左右,涨跌中值也接近于0%。

金叉和死叉不能预测未来的涨跌。

sitetuoluocaijing.cn 比特币行情软件_比特币最佳行情软件_比特币行情比特社区

所以以后遇到所谓的神器指标,一定不要跟着别人走,一定要自己用代码和数据去验证。

没有代码验证,只能投入真金白银去试错。

4MACD的其他用途

当然,有的朋友可能会说,MACD还有很多其他的用处。 例如著名的顶部背离和底部背离。

比特币行情比特社区_比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件

顶背离

比特币最佳行情软件_比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件

底部背离

顶部背离是指价格的峰值不断创新高,但MACD峰值却一路下跌,是卖出信号。

底部背离正好相反。 价格的峰值价格一路下跌,但MACD峰值不断创新高。 这是买入信号。

deviation的用法我也验证过,结论暂时保密。 对此有兴趣的可以留言,话多可以单独说。

MACD 还有许多其他用途。 如果大家想测试一下,可以在评论区留言,或许可以使用程序验证是否有效。

03

降维打击

MACD指标真的不能用吗?

熟悉我的朋友都知道,我常说一句话:

“与其花时间改进我的游戏,我宁愿花时间寻找对手较弱的手牌。”

这句话的意思是,不要去高手多的地方,要主动找一些竞争者较弱的环境。

让我举一个交易的例子。

比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区

《华尔街日报》统计数据显示,美国90%以上的主动型基金未能跑赢大盘指数。 美国金融市场发达,基金经理操作也很多,但还是输给了指数基金。

但这只是美国的情况,中国不一样。

之前发过一个朋友圈,里面有详细的数据指出A股基金经理可以明显跑赢大盘指数。

sitetuoluocaijing.cn 比特币行情软件_比特币行情比特社区_比特币最佳行情软件

A股基金经理更好吗? 显然还没有。

原因是美国股市比较成熟,高手多,是比较高端的游戏。

很多人抱怨A股乱比特币最佳行情软件,不成熟,散户多,但这其实是好事。 这意味着市场上低位投资者较多,是对手较弱的一手牌。

比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件_比特币最佳行情软件

A股散户投资者占比

事实上,不仅是交易,在日常的工作和生活中,换成对手较弱的游戏会让你更轻松。

MACD 指标也是如此。

sitetuoluocaijing.cn 比特币行情软件_比特币最佳行情软件_比特币行情比特社区

比特币历史行情图表

上图为比特币历史价格走势图。 以比特币为代表的数字货币市场,其实是一个比A股还不成熟的市场,是一个较弱对手的博弈。

比特币最佳行情软件_比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件

你在比特币市场的对手可能就是他们

在这个行情中,MACD指标突然出现了效果。 我们使用比特币从2017年9月至今的4小时K线数据,用Python计算其黄金交叉后的表现:

比特币行情比特社区_比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件

黄金交叉后,上涨概率和涨跌幅中值均好于A股表现。

严格按照MACD金叉死叉看买卖表现。 仍沿用股市默认参数比特币最佳行情软件,扣除手续费。 结果如下:

比特币最佳行情软件_比特币行情比特社区_sitetuoluocaijing.cn 比特币行情软件

橙色线是比特币的原价,蓝色线是MACD择时对比特币的表现。

比特币原价,从2017年9月到年化收益率为40.07%,而MACD择时年化收益率为57.79%,上升了17个百分点。

风险方面,比特币原价最大回撤位高达84.09%,而MACD择时后最大回撤位大幅降低至36.97%。

这意味着MACD在比特币上的应用可以显着增加收益和降低风险,效果显着。

04

总结

数字货币还是一个比较原始的市场。 许多在股票市场上已经失效的策略在数字货币市场上仍然有用。

我是2017年才进入数字货币市场的,那时候市场火爆,没有时间详细制定策略。 我干脆把原来的股票和期货市场策略搬过来,有很好的回报。

再次印证了那句话:“与其提升自己的牌技,不如花时间寻找更弱的对手。”

本文用到的数据和代码都整理好了,需要的可以私信我获取。

比特币行情比特社区_比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件

当前代码

比特币行情比特社区_比特币最佳行情软件_sitetuoluocaijing.cn 比特币行情软件

当前数据

邢不兴:Excel常用于量化投资,同事可能会打不过

邢不兴:【邢不兴|量化小讲系列45-实战】关于股票市值:99%的投资者都不知道的陷阱,你知道吗?

邢布布:【邢布布|量化小讲系列44-实战】历年10强基金第二年表现如何? Python告诉你答案

邢布布:【邢布布|量化小讲系列43-实战】:在量化投资中,K线还可以这样画(附K线代码)