危機的結構性變動:III
現在把前面學到的整合起來,實作一次 Chow 檢定。
2005-2010 年的資料已依照在本系列第一題中找出的結構性變動點(2008 年 6 月 30 日)切成兩個可用的 DataFrame:before 與 after。兩個 DataFrame 都有 mort_del 與 returns 欄位,分別代表房貸違約資料與報酬率資料。
你將在 before 與 after 上各跑一次 OLS 迴歸,將每個 DataFrame 的 returns 對 mort_del 進行回歸,並計算殘差平方和。
接著,依照影片中的方式,使用(第二題已提供的)ssr_total 與你剛推得的殘差,計算 Chow 檢定統計量。在 99% 信心水準下,臨界 F 值約為 5.85。你的檢定統計量是多少?
本練習屬於課程
Python 量化風險管理
練習說明
- 為
before與after的mort_del加入 OLS 截距(常數)項。 - 在
before與after上,將returns對mort_del擬合 OLS 迴歸。 - 分別將殘差平方和放入
ssr_before與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 / ____)