MACD は本当に有効なのか?Python で検証してみた

最近 MACD を使ったテクニカル分析をしている人をよく見かけます。
MACD はエントリーポイントが素早く分かって、かつ騙しが少ないという定評があります。
そもそもMACDとは何かについては↓の記事を参照してください。
MACDは売り買いのタイミングを判断するためのテクニカル投資指標です

投資においてファンダメンタルズを重視している僕も、MACDは時々気にしています。
MACD を見ているとなんとなくトレンドの始まりが分かるように感じられます。
しかしテクニカル指標の中には眉唾なものもたくさんあるのも事実。
本当に MACD も有効な指標なのでしょうか。

今回、思い切って検証してみました。

検証方法

今回は、 MACDが示唆するエントリーポイントに機械的に従って投資を続けたらどうなるか ということを検証します。
つまり MACDがシグナルを下から上突き破った瞬間に機械的に株を購入し、 上から下に突き破った瞬間に全て売却する という戦略をとります。
これを長期間何回も繰り返していくというわけです。

比較対象として、
①スタート時点で全ての現金で株を購入しそのまま持ち続ける戦略
②毎回完全にランダムに株を売ったり買ったりする戦略
を用意します。

要するに
MACDが大好きなおじさん
いきなり有り金すべて株につぎ込んで放置したおじさん
毎日50%の確率で全財産株につぎ込んだかと思えば、逆に全ての株を売却したりするヤバいおじさん
を戦わせるイメージです。

さあMACDに絶対的に従う方法は、他の投資手法を打ち負かすことができるのでしょうか。
実際の株式データを使って検証を行います。

使用データとMACDパラメーター

1999年12月31日〜2020年4月23日までのダウ平均株価の日足データを使用します。
MACD のパラメーターは
・短期EMAの計測期間…… 9日
・長期EMAの計測期間……26日
・シグナルの計測期間……9日
としました。
これらはいずれもよく使われる値ですね。

【結果】 MACD はバイアンドホールドには勝てなかった

結論から言うと、 MACD はバイアンドホールド戦略には勝てませんでした。
下のグラフが三つの戦略の資産の推移です(スタート地点を1000ドルとしています)。
このように、今回のシミュレーションでは、
①バイアンドホールド
②MACD
③ランダム戦略

の順位になりました。
最終的な資産高は、以下の表の通りです。
バイ&ホールド2045ドル
MACD1689ドル
ランダム1045ドル

ほとんどの期間で、バイアンドホールド戦略が MACD に勝利しています。
コロナショックの急激な下落相場になってから、 バイアンドホールド戦略と MACD の差がかなり近づいてはきましたが、追いつけなかったという結果になりました。

なお、当然のことながらランダム戦略はかなりブレが激しく、ここには掲載していませんが運が良ければバイアンドホールド戦略に勝利することもありました(逆にもっとボロ負けすることもありました)。

実際には頻繁に売買すると税金と証券会社への手数料がかかります。
また配当の権利確定日に株を所有していないと配当金もらえません。
この2点を考慮すると、 MACDとランダム戦略は ここからさらにパフォーマンスを割り引いて考えなければいけません。

MACDのトレンド判定とダマシ

検査を期間中の約20年間での MACD のトレンド判定について述べます。
この期間中に MACD が上昇トレンドの始まりと判定したのは、198回ありました。
上昇トレンドの平均継続日数は、10.98日で標準偏差は7.48日でした。
上昇トレンドのダマシ(トレンド継続日数が0日)は17回ありました。

逆に MACD が下降トレンドの始まりと判定したのは199回ありました。
下落トレンドの平均継続日数は12.65日で標準偏差は8.35日でした。
下落トレンドのダマシは14回でした。

なぜ MACD は負けたのか

さて、なぜこのような結果になったか考えてみましょう。
MACD が負けた最大の要因は、上昇相場に乗れなかったことです。
バイアンドホールド戦略の資産総額伸びていく局面では、相対的にMACD戦略の伸びは緩やかです。
これはむしろ MACD がどうこうというよりも、単純に常に株式資産のロングポジションを持っていないと上昇局面でおいてかれるリスクがあるよということでしょう。

やはり株は長期で持ち続けることに意味があるということが再確認されました。
長期投資なら配当もしっかりともらえますし、税金も節約できますしね。
バイアンドホールド戦略がいかに強力か分かりますね。

注意点

とはいえ今回の結果だけを見て、 MACD が使えないということにはなりません。
突っ込みどころはかなりあると思います。
まず今回は、株式の現物保有か現金100%という2択しかありませんでした。
空売りを許すことでまた結果が変わってくるかもしれません。

また、検証期間の多くが株価上昇局面だったということもバイアンドホールド戦略に追い風でした。
ずっと右肩上がりなら、ずっと株持ってた方が得ですからね。
また実際にはMACDなどのテクニカル分析は中短期での投資で威力を発揮するということも念頭におく必要があるでしょう。

いずれにせよ、 MACD などのテクニカル分析を使う時は単純に指標だけを見ていれば良いというわけではなく、その他様々な経験や勘が物を言うのかもしれません。
(週足にするのか日足にするのか、ファンダメンタルズ要因と組み合わせるのか、などなど)

Pythonで分析してみたい人は

なお今回の分析は Python でコードを書いて行っています。
実践的なテクニカル分析をしようとするとさすがにエクセルだけではきついので R なりPython なりが必要になってくると思います。

興味がある人は下の書籍を読んでみてください。
今回僕が使用したPythonのPandasというモジュールが改正されている本です。
これを読んで理解すれば、この手のシュミレーションの大部分ができるようになるはずです。

またUdemyのPython講座の動画で学ぶのもおすすめです。
Python は本当に応用範囲が広い言語なのでマジでオススメです。
日頃の業務効率化とかもめっちゃできますよ!

(あわせて読みたい)
順張りと逆張り投資はどっちが有利?

応援のポチお願いします!↓


にほんブログ村 株ブログ 株式投資情報へ
スポンサーリンク

SNSシェアお願いします!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA