時系列データのフラグ可視化から見えてきた金融的ショックの関係 python初心者(Ep26)
こんにちわ。スミラです。
前回は、S&P500の情報を取得することができましたね。そして、初めて有料記事というモノを投稿しました。笑。全文はタダでみる事ができるので、どんどんみんな知識を付けていって頂ければ幸いです!
いつもスキ❤️を押していただいている皆さん、本当にありがとうございます!励みになります☆
それでは、本日のテーマは、
過去の金融的ショックが発生したタイミングとの株価の変動について
調べていきたいと思います。宜しくお願い致します。
~~~~~~~~~~~【注意文章】~~~~~~~~~~~
株に手を出すことに伴って、損得の感情が発生してしまいますが、あくまでこれは コードの学習 において記載している内容です。一切の不利益が発生したとしても何も保証できません。また、個人の見解であり、投資を行う場合は、ご自身の判断で行うようお願い致します。
ご理解の上、読んで頂けますと幸いです。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
変化の大きなポイントとは?
入手したデータを元に、どのタイミングで大きな変化が発生しているのか。それを確認したいと思います。
どれくらいの変化か
まずは、どのくらいの変化が起こっているのか。データから調べてみます。
#日変動の値
oneday_percent_change = data['Adj Close'].pct_change()
oneday_percent_change.plot.hist(bins=100)
plt.xlabel("Adjusted close 1 day percent change")
plt.show()
だいたいですが、5%以下の下落が起こっているポイントが何個か発生している事がわかりましたね。そこがどこなのか。次は調べます。
いつ発生ているのか
先程の抽出したデータを元に確認していきます。
#日変動の値を追加
data ['oneday_percent_change']=oneday_percent_change
#判定パーセント
judge_percent = -0.05
#条件に該当するデータをlarge_percent_change_flag とする
data['large_percent_change_flag']=data.oneday_percent_change<judge_percent
display(data[data.large_percent_change_flag])
#何個の検出か確認
print("検出点:{}".format(len(data[data.large_percent_change_flag])))
マイナス5%以下まで下がったタイミングは、
1985年から26回発生
していることが分かりましたね。それではここから、どのタイミングであったのかグラフ化してみたいと思います。
時系列データのフラグが立つ範囲を可視化
実際に表でみるよりもグラフで可視化した方が断然いいので、それについて学びました。下記のサイトの情報を参考に、自分自身で解釈をしながら作成しました。(ちゅらデータ株式会社様 感謝です!)
コードには前処理部分と、可視化部分で分かれております。
#前処理
#bool型からint型に変更し、True=1,False=0 の状態にする
#差分を抽出するために、前後に余白(0)を加えたデータ状態を構築する
diff_pre = pd.Series([0]+list(data['large_percent_change_flag'].astype(int))+[0])
#差分を計算し、Noneは取り除く
diff_pre2 = diff_pre.diff().dropna()
#可視化
fig, ax = plt.subplots(figsize=(15, 5))
ax.plot(data['Open'])
#start : ilocで行番号を取得、終了する行を-1にすることで後ろの差分で追加分を考慮し、立ち上がり(0から1になった部分)を検出
#end : ilocで行番号を取得、開始する行を1にすることで前の差分で追加分を考慮し、立下り(1から0になった部分)を検出
for start , end in zip(data['large_percent_change_flag'].index[diff_pre2.iloc[:-1]==1],
data['large_percent_change_flag'].index[diff_pre2.iloc[1:]==-1]):
ax.axvspan(start,end,color="red",alpha=0.3)
plt.show()
だいたいですが、8つのゾーンがありそうですね。そこの日付前後での金融的ショックが何があったのか。確認していきます。
ゾーン1:1987年10月-12月
ゾーン2:1989年10月
ゾーン3:1997年10月
ゾーン4:1998年8月
ゾーン5:2000年4月
ゾーン6:2008年10月-11月
ゾーン7:2011年8月
ゾーン8:2020年3月
金融的ショックの情報からみえること
米国における金融的ショックがどの様な事があったのか。調べたいと思います。
wikipedia に情報がありましたので、こちらの内容から、コードで抽出を検討したのですが、wikipediaのサイトをコピーすることができたものの、年表部分とその情報のみを抽出することができなかった為、自力でゾーンごとの情報を集めてきます。笑。
調べた結果でございます!!
ゾーン1:1987年10月-12月
Black Monday(1987)が発生したタイミング
23の主要な正解市場すべてにおいて株式市場の暴落が発生した
ゾーン2:1989年10月
1989年全体として日本がバブルになっており、消費税の導入が日本でされ、1989年の12月に過去最高の38,957円を達成。
1989年10月に日経平均が22連日高騰記録を達成(憶測:日本株への期待が高まり、米国株から乗り換え者が多かったか?)
ゾーン3:1997年10月
アジア通貨危機が発生したタイミング
タイを中心に始まったアジア各国の急激な通貨下落(減価)現象
ゾーン4:1998年8月
先進諸国の株価が大幅に下落
先進諸国の金融部門に対する不安が高まり、米国と欧州において同部門の株価下落は大幅に発生
ゾーン5:2000年4月
ドットコムバブルに対する連邦準備制度理事会の米ドル利上げ
ゾーン6:2008年9月-11月
不良資産救済がされず緊急経済安定化法の否決に伴う大幅な下落
リーマン・ブラザーズの破産に伴い国際的銀行危機が発生
ゾーン7:2011年8月
米国債の格下げを受けて投資家心理が悪化
ゾーン8:2020年3月
ブラックマンデーI,ブラックサーズディ、ブラックマンデーIIが発生
米連邦準備理事会のパウエルの言葉「uncertain」を受け、株への期待が不透明になり、投資家の売り行動が発生
ここまでの流れから、私としては下記の観点が株価下落に影響しているんだろうなー。っと感じました。
なかなか、面白い傾向が見えたのではないでしょうか。
それでは、次回は、来年ですね。
株価下落の他の要因
を調べていきたいと思います。宜しくお願い致します!
よいお年を☆
記事を気に入って頂けましたら、コーヒー代のサポートを頂けると励みになります!
ここから先は
¥ 100
よろしければサポート頂けると幸いです!子供へのパパ時間提供の御礼(お菓子)に活用させて頂きます☆