始める無料で始める

危機における構造変化:III

ここまでの内容を組み合わせて、Chow検定を実行しましょう。

2005〜2010年のデータは、構造変化点(この連続演習の最初で特定した 2008年6月30日)を境に、2つの DataFrame beforeafter に分割されています。両方の DataFrame には、住宅ローン延滞データの mort_del 列と、リターンデータの returns 列があります。

beforeafter のそれぞれで、returns 列を被説明変数、mort_del 列を説明変数として OLS 回帰を2本実行し、二乗残差和を求めます。

次に、動画で示したとおりに、前の演習で提供された ssr_total と、いま導出した残差を使って Chow 検定統計量を計算します。信頼水準99%での臨界 F 値はおよそ 5.85 です。あなたの検定統計量はいくつになりますか?

この演習はコースの一部です

Pythonで学ぶ定量的リスク管理

コースを見る

演習の手順

  • beforeaftermort_del に OLS の切片項(定数)を追加します。
  • beforeafter それぞれで、returns 列を被説明変数、mort_del 列を説明変数とする OLS 回帰を当てはめます。
  • 二乗残差和を、beforessr_beforeafterssr_after に格納します。
  • Chow 検定統計量を作成して表示します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Add intercept constants to each sub-period 'before' and 'after'
before_with_intercept = sm.____(before['mort_del'])
after_with_intercept  = sm.____(____['mort_del'])

# Fit OLS regressions to each sub-period
r_b = sm.____(____['returns'], before_with_intercept).____
r_a = sm.____(after['returns'],  after_with_intercept).____

# Get sum-of-squared residuals for both regressions
ssr_before = r_b.____
ssr_after = ____.ssr
# Compute and display the Chow test statistic
numerator = ((ssr_total - (ssr_before + ____)) / 2)
denominator = ((____ + ssr_after) / (24 - 4))
print("Chow test statistic: ", numerator / ____)
コードを編集して実行