「1月の相場が高ければ、その年の相場は高くなる」は本当か?Google ColabのPythonで自分で調べてみよう!(Python コードあり)【コピペで動く!】Twitterで出てくる知見は本当か自分で調べてみようシリーズ

スポンサーリンク
投資

Twitterの知見は本当か自分で調べるシリーズです。

元記事は 2020/02/01 note に書いた記事です。

Twitterで出てくる知見は本当か自分で調べてみよう。5 「1月の相場が高ければ、その年の相場は高くなる」(Python コードあり)|TF
Twitterの知見は本当か自分で調べるシリーズです。 米国株の大御所のじっちゃまこと広瀬隆雄さんのツイートです。 おお、それはいいことを聞いた、、ですが、今年はマイナス、、プラスについては語られていますが、マイナスの年についての情報はありません。 マイナスだと落ちるのでしょうか? マイナスでも...

若干の変更があったりしたようで、以前のコードでは動かくなっているようですので、こちらのサイトで修正したものをリライトして、載せていきます。

2020/02/01時点で以下のコードはエラーなく動いていることを確認しています。

米国株の大御所のじっちゃまこと広瀬隆雄さんのツイートです。

おお、それはいいことを聞いた、、ですが、今年はマイナス、、プラスについては語られていますが、マイナスの年についての情報はありません。

マイナスだと落ちるのでしょうか?
マイナスでも上昇の程度こそあれ、上がるのでしょうか?

分かりません、では、実際に調べてみましょう。

使用する環境

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

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

コードは以下の通りです。

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

import yfinance as yf
import matplotlib.pyplot as plt
import pandas as pd

start_D="1950-1-7"
end_D="2022-1-31"
codelist1 = ["^GSPC"]

data2 = yf.download(codelist1, start=start_D, end=end_D)

df_Y=data2.resample("Y").last()
df_M=data2.resample("M").last()

df_analyse=pd.DataFrame(index=df_Y.index)
df_analyse["YearReturn"]=df_Y["Adj Close"].pct_change()
df_analyse["JanReturn"]=df_M["Adj Close"].pct_change()[df_M.index.month==1].values
display(df_analyse)

Yahoo USからS&P500の指数のデータを1950年から2022年一月までダウンロードし、それを年次と、月次にします。

オリジナルの記事では2020年一月だったものを今年2022年一月に修正しました。

年次のデータのパーセント騰落をYearReturnとして新しいDataFrameに格納したのち、月次の一月のパーセント騰落をJanReturnとして新しい列に入植します。

結果は以下の通りです。

可視化

この数字だけで判定することもできるのですが、折角なので、可視化してみましょう。

import seaborn as sns
sns.jointplot("JanReturn",'YearReturn',df_analyse,kind='reg')
plt.grid(True)

X軸に1月のパーセントでの騰落、Y軸に年間のパーセントでの騰落としてクロスプロットするとこのような結果が出ます。

一月に上昇するとその年は上げやすいような傾向が見て取れます。

一月が下落した年はダメなのか?

では残念ながら一月が下落した年、さらには上昇と、下落でどのような差があるのでしょうか。そこの部分についても解析したいと思います。

一月がプラスだった時のクロスプロットと、
一月がマイナスの時のクロスプロットの比較をしてみます。

df_analyse["Jan_PLUS"]="MINUS"
df_analyse.loc[df_analyse['JanReturn'] >= 0, 'Jan_PLUS'] ="PLUS"
df_analyse.loc[df_analyse.index[-1], 'Jan_PLUS'] ="This Year"
sns.lmplot(x="JanReturn", y="YearReturn", hue="Jan_PLUS", data=df_analyse)
plt.grid(True)

最終行、今年分のデータを緑色でプロットするように修正しました。

オレンジ色の一月が上昇の時は基本上げているし、上昇率も大きいようです。

逆に下落の時も一月の下落幅が多かった時などは年間で上昇となる場合もあるようです。

2020年は-0.16%ですから少し微妙ですね、、(○ ̄ ~  ̄○;)ウーン・・・

追記:

あらためて見ると2020年も2021年も1月はマイナスだったんですね、、

チャートで見ても確かに、赤い。。。

今年はどうなんでしょうか?

12月に確認ですね、、

ディスクレーマー

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

---

関連記事を紹介します。

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

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

コメント