Twitterで出てくる知見は本当か自分で調べてみるシリーズです。雰囲気や、特定の誰かが言っているからではなく、事実やデータに基づいた分析や判断を行う事ができるようになります。
元記事は 2019/12/22 noteに書いた記事になります。
以前のコードでは動かくなっているようですので、こちらのサイトで修正したものをリライトして、載せていきます。
2021/07/29時点で以下のコードはエラーなく動いていることを確認しています。
前回の記事「Twitterで出てくる知見は本当か自分で調べてみよう。1 (Python コードあり)」に引き続きの記事になります。
今回は「新規保険失業申請件数の反転」に関する記事です。
アメリカ株は史上最高値を更新中で皆さん油断してませんか?
「鉱山のカナリア」的に危険を事前に教えていただけることもあります。
なぜ、「新規保険失業申請件数の反転」が大事なのでしょうか?
それは株価指数や、景気循環と関係があるのでしょうか?
自分で調べてみましょう!
前回同様、命の次に大事なお金が減ることを考えたら、
必要ないはやらなくていいけど、
めんどくさいはやる!
の精神です。
今回もGoogle Colaboratoryのpythonを使うことにします。
まずは失業者のデータですが、これはFederal Reseveのデータを利用します。
今まではYahooの株価データばかりでしたが、Fredのデータを利用すると失業率や、米国債のデータなどもPythonから利用することができます。
今回利用するのは
IC4WSA : 4-Week Moving Average of Initial Claims
ICSA : Initial Claims 新規失業保険申請件数 です。
ブレがある数字なので、4週の平均を使ってみます。
Pythonで関数をちょっと利用してみます。
また、グラフを左右に二つ並べるタイプの表示をしています。
import datetime
import pandas_datareader.data as web
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
start_D="1990-1-7"
end_D="2019-12-31"
data2 = web.DataReader([
"IC4WSA",
"ICSA",
], "fred", start_D, end_D)
def SidePlot(df_all):
dateformat=mdates.DateFormatter('%y/%m/%d')
plt.rcParams["font.size"] = 18
fig, axs = plt.subplots(1,2, figsize=(15, 8),sharey=False)
axs[0].plot(df_all.index,df_all,linewidth = 3.0)
axs[0].grid(True)
axs[0].xaxis.set_major_formatter(dateformat)
for code in df_all.columns :
axs[1].plot(df_all[code][zone_start:].index,df_all[code][zone_start:],linewidth = 3.0,label=code)
axs[1].legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)
axs[1].grid(True)
axs[1].xaxis.set_major_formatter(dateformat)
fig.autofmt_xdate() #x軸のオートフォーマット
df_tmp=data2.copy()
zone_start="2017-1-1"
df_tmp.columns=["4week Ave. Initial Claims","Initial Claims"]
plotlist=["4week Ave. Initial Claims"]
SidePlot(df_tmp[plotlist])
左側が全期間で、右側のものが直近のものになります。
もともとのグラフは文字がつぶれていて見にくいですが2008年以降でしょうか。600,000 (600K)からの下落で200,000 (200K)での反転でしょうか。
なにか直近再度上昇しそうな、、そんな気配を感じます。反転すると何か問題なのでしょうか。株式指数の値動きを比較をしてみましょう。
S&P500のデータを読み込んで新規失業保険申請件数との比較を可視化します。上下にグラフをプロットし、X軸を共有化します。
!pip install yfinance --upgrade --no-cache-dir
import yfinance as yf
codelist1 = [
"^GSPC",
]
df3 = yf.download(codelist1, start=start_D, end=end_D)
plt.rcParams["font.size"] = 18
yyyymm=mdates.DateFormatter('%y/%m')
fig, (ax1 ,ax2 )= plt.subplots(2,1,figsize=(10,9),
gridspec_kw = {'height_ratios':[1, 1]},sharex=True)
ax1.plot(data2.index,data2["IC4WSA"],label="IC4weekMA")
ax1.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)
ax1.grid(True)
ax2.plot(df3.index,df3["Adj Close"],label="SPX")
ax2.set_yscale('log')
ax2.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)
ax2.grid(True)
なんか、失業率(新規失業保険申請件数)があがると株価指数が下がる、、の相関が見て取れそうですね、、だまし的な動きもありますが、おおむね、失業率と株価指数は関係あるようです。
失業率の反転の傾向があるということは、、、シートベルトはすぐに締められるように確認しながらの史上最高値更新を楽しみたいものです。
コロナ後のデータで確認すると以下のようになります。
コロナの失業率があまりに激しいのですが、新規保険失業申請件数が順調に下落している限りは株式指数は上昇するという傾向は今も続いているようですね、、
また、2022年になってからの失業保険申請件数が増えているのは少し気がかりな部分です。
ディスクレーマー
投資に関する免責事項情報の提供・作業代行を目的としており、投資勧誘を目的とするものではありません。
---
関連記事を紹介します。
Pytho,投資関係に関する記事をご紹介します。
コメント