S&P500の長期トレンド予測ver.VECM
サブテーマ:GDP,インフレ率,CPIを考慮した統計的予測の実行
1 初めに
今回、用語は難しいですが、時系列データの分析における統計モデルVECM(ベクトル誤差修正モデル)を使ったS&P500の長期トレンドを予測した結果を紹介します。
はっきり言って専門用語は私にも難しいです。この直下にS&P500指数の予測とその関連データの推移を統計的に出力させた結果をのせておきます。この結果は興味深いのでこれだけでもさっと見てもらって、統計的推測だとこうなりそうだということだけでも頭の片隅に残してもらえると今後のマネーリテラシー向上に役立つと信じてます!!
なおコード自体(最終部)のみ有料設定としていますが、応援してやってもいい方!自分で解析をしたい方・さらにパワーアップしたい方!買ってもらえると励みになります!
今回のまとめ:
VECM予測結果 S&P500 強い上昇トレンド
米国GDP 強い成長が続く
インフレ率 一旦2%にとなるが3~4%で推移
失業率 定位安定
このチャンネルでは直近よりアウトプットを重視して、本文はPYTHONコードに触れず結果をご報告します。コード全文は最下部に全文公開しておきます。再現性を確保するため、GoogleColabを使って実行した結果としています。PYTHONを使ってみたい方勉強してみたい方はまずはコピペでぜひ触ってみてください。
2 豆知識
1)用語説明
VAR(ベクトル自己回帰)モデル
複数の時系列データの相互関係をモデル化し、各変数の過去の値が他の変数に及ぼす影響を捉えます。これにより、短期的な相関を調べることが可能ですが、長期的な均衡関係の確認にはVECMが必要です。
VECM(ベクトル誤差修正モデル)
VECMは、VARモデルに共積分制約を加えたモデルです。複数の変数間に長期的な均衡関係が存在すると仮定し、短期的な変動と長期的なトレンドを同時に分析します。これにより、株式市場と経済指標の長期的な関係を把握することができます。
共積分
複数の時系列データが共に一定の均衡関係に収束する性質を指します。経済指標同士の長期的な関係性を測る際に重要です。共積分が成立している場合、時系列データは一定の範囲内で長期的に同じ動きをする傾向があります。
Johansen共積分検定
Johansen検定は、複数の時系列データ間で共積分関係があるかを確認する方法です。共積分ランクが判明することで、VECMの構築に必要な制約が明確になります。
インパルス応答関数
モデルの各変数にショックを与えた場合、他の変数にどのように影響が波及するかを分析します。これにより、ある経済指標が株式市場に与える影響の強さや持続性を確認できます。
2)今回のコードの結論
この分析では、1990年から現在に至るS&P 500指数とGDP、インフレ率、金利、失業率、消費者信頼感指数のデータを用いて、長期的な均衡関係をモデル化しました。Johansen検定を通じて共積分関係を確認し、VECMモデルを構築しました。その結果、S&P 500指数はこれら経済指標と長期的な均衡関係を持ち、特定のショックに対する応答が観測されました。インパルス応答分析からは、インフレや金利変動がS&P 500に強く影響を及ぼす一方、失業率や消費者信頼感の変動も株式市場の長期トレンドに寄与していることが分かりました。
3 実践 ・・・以下 興味のある人のみ
1)実行結果
今回説明変数をGDP、インフレ率、金利、失業率、消費者信頼感指数を選択し、それぞれ変化率YoYやそのまま使うなど組み合わせを変更しある程度相関の高い組み合わせを選定しました。(正直まだまだ調整代があります。)
これら一連のVECM結果を張り付けます。結果の考察については試しにChatGPTに確認するとこちらのほうがはるかに的確な回答でしたのでそのままですが載せておきます。
2)ChatGPTによる結果考察
1. ラグ次数の選択
VARモデルのラグ次数は、情報基準(AIC、BIC、FPE、HQIC)に基づいて選択されました。出力結果によれば、AICが最小となるラグ次数は5であり、これが最適なラグ次数として選択されています。AICが最小となるラグ次数は5(-4.645)であるため、VECMモデルでもラグ次数5を使用しています。
2. Johansen共積分検定
Johansen共積分検定は、変数間に長期的な均衡関係(共積分関係)が存在するかを検証するために使用されます。検定結果から、1つの共積分関係が存在することが示唆されました。
Trace Statistic 0(113.1875)は95%の臨界値(95.7542)を上回っており、1つ以上の共積分関係が存在することを示しています。一方、Trace Statistic 1(69.1596)は95%の臨界値(69.8189)を下回っているため、共積分関係は1つであると判断されます。
3. VECMモデルの推定結果
VECMモデルは、共積分ランク1、ラグ次数4で推定されました。各変数の方程式ごとに、係数、標準誤差、z値、p値が提供されています。
主要な結果と考察:
(a) ローディング係数(調整速度)
ローディング係数(α)は、長期的な均衡からの乖離に対する各変数の調整速度を示します。
GDP成長率(GDP_YoY): α = 0.1597、p = 0.104(有意ではない)
インフレ率(CPI_YoY): α = 0.2671、p = 0.000(有意)
金利(Interest_Rate): α = 0.1205、p = 0.004(有意)
失業率(Unemployment_Rate): α = -0.0874、p = 0.121(有意ではない)
消費者信頼感指数(Consumer_Confidence_YoY): α = 2.3156、p = 0.001(有意)
S&P500指数(SP500_Log): α = 0.0074、p = 0.273(有意ではない)
インフレ率、金利、消費者信頼感指数は、長期的な均衡関係からの乖離に対して有意に調整することが示唆されます。一方、GDP成長率、失業率、S&P500指数は有意な調整を示していません。
(b) 共積分ベクトル(長期的な関係)
共積分方程式は以下のようになります(GDP_YoYを基準化):
係数の解釈:
CPI_YoY: 係数 -1.4237、p = 0.000(有意)
インフレ率が上昇すると、GDP成長率は長期的に低下する傾向を示唆。
Interest_Rate: 係数 -0.1185、p = 0.664(有意ではない)
Unemployment_Rate: 係数 0.4655、p = 0.007(有意)
失業率が上昇すると、GDP成長率も長期的に上昇するという結果であり、経済理論と矛盾する可能性があります。
Consumer_Confidence_YoY: 係数 -0.2007、p = 0.000(有意)
消費者信頼感が上昇すると、GDP成長率は長期的に低下する傾向を示唆。
SP500_Log: 係数 -0.1624、p = 0.835(有意ではない)
これらの結果は、モデルの仕様やデータの特性に起因する可能性があり、さらなる検証が必要です。
4. 各方程式の詳細な結果
(a) GDP成長率の方程式
有意な係数(p < 0.05):
定数項: p = 0.041
L1.GDP_YoY(1期遅れのGDP成長率): 係数 -0.2169、p = 0.021
自己回帰的な効果を示唆。
L1.SP500_Log(1期遅れのS&P500指数): 係数 7.7501、p = 0.000
株価指数の上昇がGDP成長率に正の影響を与えることを示唆。
L4.Unemployment_Rate(4期遅れの失業率): 係数 1.6797、p = 0.000
失業率の上昇がGDP成長率に正の影響を与える結果であり、経済理論と矛盾する可能性があります。
(b) インフレ率の方程式
有意な係数:
定数項: p = 0.000
L4.CPI_YoY(4期遅れのインフレ率): 係数 -0.5274、p = 0.000
過去のインフレ率が現在のインフレ率に負の影響を与えることを示唆。
L4.Unemployment_Rate(4期遅れの失業率): 係数 0.4377、p = 0.000
失業率の上昇がインフレ率に正の影響を与えることを示唆。
(c) 金利の方程式
有意な係数:
定数項: p = 0.006
L2.GDP_YoY(2期遅れのGDP成長率): 係数 -0.0757、p = 0.045
GDP成長率の上昇が金利に負の影響を与えることを示唆。
(d) 失業率の方程式
有意な係数:
L1.SP500_Log(1期遅れのS&P500指数): 係数 -4.0135、p = 0.000
株価指数の上昇が失業率の低下に寄与することを示唆。
(e) 消費者信頼感指数の方程式
有意な係数:
定数項: p = 0.029
L3.GDP_YoY(3期遅れのGDP成長率): 係数 -1.4507、p = 0.021
L3.Interest_Rate(3期遅れの金利): 係数 4.3906、p = 0.009
L4.GDP_YoY(4期遅れのGDP成長率): 係数 -2.0094、p = 0.001
L4.CPI_YoY(4期遅れのインフレ率): 係数 2.3165、p = 0.023
L4.SP500_Log(4期遅れのS&P500指数): 係数 -23.3593、p = 0.036
(f) S&P500指数の方程式
有意な係数:
L4.Interest_Rate(4期遅れの金利): 係数 0.0392、p = 0.017
金利の上昇が株価指数に正の影響を与える結果であり、通常の経済理論とは異なる可能性があります。
5. インパルス応答関数(IRF)
VECMモデルにおけるインパルス応答関数は、変数間の動的な関係を視覚化するために使用されます。ただし、VECMの場合、IRFの計算はVARモデルとは異なり、注意が必要です。コードではIRFのプロットが試みられていますが、結果の詳細が提供されていないため、具体的な考察は困難です。
6. 予測結果
モデルを用いて16四半期先までの予測が行われています。グラフが提供されていないため、予測結果の詳細な評価はできませんが、モデルの適合度や予測精度を評価するためには、予測値と実際の値を比較する必要があります。
7. 全体的な考察
共積分関係の存在: 主要なマクロ経済変数とS&P500指数の間に1つの共積分関係が存在することが示唆され、これらの変数が長期的な均衡関係で結ばれている可能性があります。
調整速度: インフレ率、金利、消費者信頼感指数は、均衡からの乖離に対して有意に調整する一方、GDP成長率、失業率、S&P500指数はそうではありません。
株価指数の影響: 過去のS&P500指数がGDP成長率や失業率に有意な影響を与えており、株式市場のパフォーマンスが経済活動や労働市場に影響を及ぼす可能性が示唆されます。
経済理論との整合性: 一部の結果(例えば、失業率の上昇がGDP成長率の上昇に寄与するなど)は、一般的な経済理論と矛盾する可能性があります。これは、モデルの仕様やデータの特性、または変数間の多重共線性などに起因する可能性があります。
8. 制限事項と今後の検討事項
モデルの仮定: 本モデルは線形関係を仮定しており、非線形な動態や構造的変化を捉えられない可能性があります。
データの質: データには測定誤差や季節調整の問題が含まれる可能性があり、結果に影響を与える可能性があります。
サンプル期間: 1990年から現在までのデータを使用しており、この期間には複数の経済サイクルや金融危機が含まれます。これらのイベントが結果に影響を与えている可能性があります。
予測の評価: 予測結果の精度を評価するためには、アウトオブサンプルの検証や他のモデルとの比較が必要です。
さらなる分析: モデルの改良や他の変数の追加、非線形モデルの適用などを検討することで、より深い洞察が得られる可能性があります。
結論
今回の分析では、主要なマクロ経済変数とS&P500指数の間に長期的な関係が存在することが示唆されました。しかし、一部の結果は経済理論と矛盾する可能性があり、モデルの仕様やデータの特性を再検討する必要があります。今後の研究では、モデルの改良や他の分析手法の適用を通じて、これらの関係性をより深く理解することが重要です。
4 最後に
今回は時系列データを統計的手法を用いた結果を紹介させていただきました。内容の考察はChatGPTが賢すぎてお任せになってしまいましたが、この結果は参考になるし、この考え方は見ていただいた皆様のお役に立てる内容だと自負しています。
今後もPYTHON×マネーリテラシー向上に役立つ情報を発信していきますので、引き続き応援よろしくお願いします!!
記事の感想、要望があれば下記X(旧Twitterまで)
*今後の記事に活用させていただきます!!
以下、過去記事、AI時系列予測等のご紹介
他サイトですがココならで、A I(LSTM)を使った株価予測の販売もやってます。こちらではFREDから、失業率や2年10年金利、銅価格等結果も取得しLSTMモデルで予測するコードとなってますので興味があれば見てみてください。またその他2件も米国株投資とは直接関係はありませんがプログラム入門におすすめです。
チャンネル紹介:Kota@Python&米国株投資チャンネル
過去の掲載記事:興味PYがあればぜひ読んでください。
グラフ化集計の基礎:S &P500と金や米国債を比較してます。
移動平均を使った時系列予測
以下実行コード全文:コピペで実行してみてください。
ここから先は
¥ 1,200
この記事が気に入ったらチップで応援してみませんか?