危機における構造変化:III
ここまでの内容を組み合わせて、Chow検定を実行しましょう。
2005〜2010年のデータは、構造変化点(この連続演習の最初で特定した 2008年6月30日)を境に、2つの DataFrame before と after に分割されています。両方の DataFrame には、住宅ローン延滞データの mort_del 列と、リターンデータの returns 列があります。
before と after のそれぞれで、returns 列を被説明変数、mort_del 列を説明変数として OLS 回帰を2本実行し、二乗残差和を求めます。
次に、動画で示したとおりに、前の演習で提供された ssr_total と、いま導出した残差を使って Chow 検定統計量を計算します。信頼水準99%での臨界 F 値はおよそ 5.85 です。あなたの検定統計量はいくつになりますか?
この演習はコースの一部です
Pythonで学ぶ定量的リスク管理
演習の手順
beforeとafterのmort_delに OLS の切片項(定数)を追加します。beforeとafterそれぞれで、returns列を被説明変数、mort_del列を説明変数とする OLS 回帰を当てはめます。- 二乗残差和を、
beforeはssr_before、afterはssr_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 / ____)