マーケットの値動きは不安定(ボラタイル)な時期と、安定(ボラティリティが低い)時期が比較的固まって現れます。これをクボラティリティ クラスタリングといいます。もう少し簡単な表現をすれば、動くときは”大きく動く時期”が固まってあらわれ、動かない時期は”あまり動かな時期”が固まって出現します。ボラティリティの出現は均等でなく、塊として可視化されます。これは地震が起こったのちに余震がしばらく発生するようなものと考えていただければイメージしやすいと思います。
現状(下記グラフの右端)を考えると今はボラティリティが上昇している時期と見てよいようです。
株価の変化率や収益率自体には自己相関は観測されませんが、一般的に言って、株価の収益率の2乗には自己相関が見られるといわれています。
そういった物を現状の株価で確認したり、Pythonを用いて検証してみたいと思います。
目標とすること
S&P500のボラティリティと変化率と、その出現傾向を調べる
使用するツール
使用するツールはGoogle Colaboratoryのpythonを使いますので、無料で、簡単に行うことができます。Google Colaboratoryについては以前書いた記事をご参照いただければと思います。
実際のコードとやっていること
実際のコードは以下の通りです。
!pip install yfinance --upgrade --no-cache-dir
import yfinance as yf
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import datetime
start_D="2000-1-1"
end_D=datetime.date.today()
codelist1 = ["^GSPC"]
data2 = yf.download(codelist1, start=start_D, end=end_D)
display(data2.dropna().head(1).append(data2.dropna().tail(1)))
data2["Adj Close"].plot()
plt.show()
今回はデータは2000年以降の物を利用することにしました。また始値:高値:安値:終値:分割など調整後の終値:出来高などが取得できているようです。
ボラティリティとして高値と安値の差を前日終値との比較で行います。
収益率、変化率は調整後の終値(Adj Close)を利用します。
df=data2["2000/1/1":].copy()
df["HL"]=(df["High"]-df["Low"])/df["Adj Close"].shift()
df["pct"]=df["Adj Close"].pct_change()
plt.rcParams["font.size"] = 18
import matplotlib.dates as mdates
yyyymm=mdates.DateFormatter('%y/%m')
fig, (ax1,ax2,ax3)= plt.subplots(3,1,figsize=(10,9),
gridspec_kw = {'height_ratios':[1,1,1]},sharex=True)
ax1.plot(df.index,df["HL"],label="HL")
ax1.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)
ax1.grid(True)
ax2.plot(df.index,df["pct"],label="pct")
ax2.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)
ax2.grid(True)
ax3.plot(df.index,df["pct"].cumsum(),label="cumsum")
ax3.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)
ax3.grid(True)
Zone1_start = datetime.datetime(2007,10,1)
Zone1_end = datetime.datetime(2009,3,1)
ax1.axvspan(Zone1_start,Zone1_end, color = "gray", alpha=0.3)
ax2.axvspan(Zone1_start,Zone1_end, color = "gray", alpha=0.3)
ax3.axvspan(Zone1_start,Zone1_end, color = "gray", alpha=0.3)
いわゆるリーマンショックと言われる期間を色付けしてありますが、当日高値安値の変化率が大きくなっていることが分かると思います。また、その時期は前日比での変化率も大きくなっていることも見て取れます。さらに言えば、その時期は最下段のS&P500は大きな下落の時期であったことも見て取れます。
逆に2012年から2016年間などは比較的穏やかな値幅で推移した時は、最下段のS&P500も比較的安定的な上昇を示しているように思えます。
今後指数が上昇するのか下落するのは予想するのは難しいですが、しばらくはボラティリティが大きな時期は続くような可能性は感じています。
日々の値幅が落ち着くような状況になるようであれば、買い出動、というようなことになるのかと思います。
有名な現象ではありますが、最近取り上げられることが少ないように感じましたので、まとめてみました。
ディスクレーマー
投資に関する免責事項情報の提供・作業代行を目的としており、投資勧誘を目的とするものではありません。
—
投資に関する記事をご紹介します。
コメント