【アノマリー】4月は上昇しやすい【季節性】は本当か?Google ColabのPythonで自分で調べてみよう!(Python コードあり)【コピペで動く!】Twitterで出てくる知見は本当か自分で調べてみようシリーズ

スポンサーリンク
投資

以下のTwitterの動画にありますが、ダウ平均は2006年以降4月は14年間(2020年時点)一度も下落したことが無く、平均で2.4%上昇しているそうです。季節的なアノマリーとして注目されているそうです。

結論から書くと、2020年の4月は11%程度上昇したようです。今年はどうなんでしょうか?

これらの検証をPythonで無料で簡単に行ってみましょう。

使用する環境

今回もGoogle Colaboratoryのpythonを使うことにします。使い方などにつていはこちらを参考にしてください。

また、似たような記事として、【コピペで動く!】セルインメイ(SELL IN MAY)数十年分をウェブサービスstockchartsとPythonとで確認・解析 (Pythonコードあり)という記事を書いています。

こちらの記事ではプログラムだけでなくWebベースでサービスStockCharts.comのSeasonality Chartという記事を使って調べることができます。

実際のコードとやっていること

コード自体は上記【コピペで動く!】セルインメイ(SELL IN MAY)数十年分をウェブサービスstockchartsとPythonとで確認・解析 (Pythonコードあり)のコードを利用しながら紹介します。

今回使ったコードはGoogle Colabのファイルとして以下にシェアしてあります。

!pip install yfinance --upgrade --no-cache-dir

import datetime
import yfinance as yf
import matplotlib.pyplot as plt
%matplotlib inline
start = datetime.date(1980,1,1)
end = datetime.date.today()
codelist=["^DJI","^N225"]
data2 = yf.download(codelist, start=start, end=end)["Adj Close"]
display(data2["^DJI"].dropna().head(1).append(data2["^DJI"].dropna().tail(1)))
display(data2["^N225"].dropna().head(1).append(data2["^N225"].dropna().tail(1)))

ダウ平均と、日経225平均をUS Yahoo Financeから取得します。

ダウ平均は1992年からデータが利用可能なようなので、それ以降のチャートを表示します。

(1+data2["1992-1-1":].pct_change()).cumprod().plot()
plt.show()

日経平均とダウ平均でどうして、こんなに差がついた、、、と言いたいことも多々ありますが、本記事の本題ではありませんので、本記事では取り上げません。

このあたりについては【コピペで動く!】「もし、あの時に米国株に投資をしていたら」Python コードあり Twitterで出てくる知見は本当か自分で調べてみよう。1【違いをみつけろ!】をご覧ください。

月ごとの集計と、その可視化

以下のようになります。

analyse=100*data2.pct_change()
analyse_SIM=analyse[analyse["^GSPC"].index.month==4].groupby([lambda x: x.year]).sum()
display(analyse_SIM.mean())
analyse_SIM.plot.bar(figsize=(15,4),fontsize=18)
plt.grid(True)
plt.axhline(y=0, linewidth=4, color='r')
plt.show()

4月のみ買い持ちすると以下のような損益曲線になります。

#display(analyse,analyse_SIM)
plt.plot(analyse_SIM.cumsum())
plt.grid()
plt.show()

4月は下落しないのか?

4月は平均値で見ての米国株、特にダウ平均については最も上昇しやすい月のようです。

ただ下落した年もあるようです。

今回は最小に紹介したTwitterでの動画のように4月はやはり上げやすいことが分かりました。
その上昇率はダウ平均については12ヶ月のうち、最も上昇しやすい月のようです。

他の月の動向などについては上記コードを変更したり、以下の記事を参考にしながら自身で検証等していただけき、エビデンスのあり合理的かつ、効率的な意思決定のお手伝いができれば幸いです。

月での判定でなく、曜日での判定

今回は月で判定しましたが、もちろん曜日でも判定は可能です。Pythonで日付から曜日を文字列として取得・判別するなど”実務”の視点、コピペで使えるものになります。

曜日による米国株指数(S&P500)のパフォーマンスに違いはあるのか?有利なポジション取りはできるのか?【コピペで動く!】Twitterで出てくる知見は本当か自分で調べてみよう。

ディスクレーマー

投資に関する免責事項情報の提供・作業代行を目的としており、投資勧誘を目的とするものではありません

---

投資に関する記事をご紹介します。

Python高速化! for文は遅いので、”これ”を使うと30倍早いですよ!【Google ColabのPython:コピペで動く!】
【コピペで動く!】Pythonで1.5GBのcsvファイル読み込み高速化:1分5秒⇒4秒程度 DASK , pickle (Pythonコードあり)
【コピペで動く!】日本株、米国株で個別銘柄ベータ値(β値)を簡単に調べる方法 Python 米国株 Webサービス&コード 【Google Colabで違いをみつけろ!】
【コピペで動く!】Google ColabでPython を用いての 効率的フロンティア と ポートフォリオの最適化 Efficient Frontier & Portfolio Optimization with Python [Part 2/2]
【コピペで動く!】20行で資産運用モデル作成 Google ColabのPythonで 米国株の株価を取得し、グラフ・チャートを表示
過去50年間のS&P500の季節性の値動きから負けにくいポジション構築はできるのか考える・大統領選挙のアノマリー対応!【コピペで動く!】Google ColabのPythonで自分で調べてみよう!
曜日による米国株指数(S&P500)のパフォーマンスに違いはあるのか?有利なポジション取りはできるのか?【Google ColabのPython:コピペで動く!】Twitterで出てくる知見は本当か自分で調べてみよう。
【解決】スクレイピングでHTTP Error 403: Forbiddenでアクセスできないときに試すべき方法【コピペで動く!】【Google Colab:Python:pd.read_html,selenium】
【解決】Google ColabのPythonでエクセル(Excel)ファイルやCSVファイルに出力・入力する方法【コピペで動く!】
【コピペで動く!】レイ・ダリオ推奨「オール・ウェザー戦略」をETFで構築するには? ETFの手軽さとそのパフォーマンスの高さとは!【違いをみつけろ!】
【コピペで動く!】IB証券(インタラクティブ・ブローカーズ証券 )へのPythonでのAPI接続 ib_insync [自分が使っているPythonコード]
米国債のゼロクーポン債STRIPSについてのメモ
自動化・効率化でなにができるのか!Google FinanceやYahoo Financeからデータ取得して年初来パフォーマンスや週次騰落率のファクターチェック
米国株のティッカー(Symbol)のスクレイピングによる取得、APIによるヒストリカルデータやファンダメンタルズデータ取得について【コピペで動く!】Python,Quandl,無料枠あり
Google ColabでYouTube動画を開始・終了の時間を指定してPythonでダウンロード(音声・動画両方対応)【コピペで動く!】

コメント