開始使用免費開始

危機的結構性變動:III

現在把前面學到的整合起來,實作一次 Chow 檢定。

2005-2010 年的資料已依照在本系列第一題中找出的結構性變動點(2008 年 6 月 30 日)切成兩個可用的 DataFrame:beforeafter。兩個 DataFrame 都有 mort_delreturns 欄位,分別代表房貸違約資料與報酬率資料。

你將在 beforeafter 上各跑一次 OLS 迴歸,將每個 DataFrame 的 returnsmort_del 進行回歸,並計算殘差平方和。

接著,依照影片中的方式,使用(第二題已提供的)ssr_total 與你剛推得的殘差,計算 Chow 檢定統計量。在 99% 信心水準下,臨界 F 值約為 5.85。你的檢定統計量是多少?

本練習屬於課程

Python 量化風險管理

檢視課程

練習說明

  • beforeaftermort_del 加入 OLS 截距(常數)項。
  • beforeafter 上,將 returnsmort_del 擬合 OLS 迴歸。
  • 分別將殘差平方和放入 ssr_beforessr_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 / ____)
編輯並執行程式碼