Crisis structurele breuk: III
Nu kun je alles samenbrengen om de Chow-test uit te voeren.
De data van 2005–2010 zijn opgesplitst in twee beschikbare DataFrames, before en after, met 30 juni 2008 als het punt van de structurele breuk (geïdentificeerd in de eerste oefening van deze reeks). De kolommen van beide DataFrames zijn mort_del en returns voor respectievelijk hypotheekachterstanden en rendementen.
Je voert twee OLS-regressies uit op before en after, waarbij je in elk DataFrame de kolom returns regresseert op de kolom mort_del, en je leidt de som van de gekwadrateerde residuen af.
Vervolgens bereken je de Chow-teststatistiek zoals in de video, met ssr_total (aangeleverd uit de tweede oefening) en de afgeleide residuen. De kritieke F-waarde bij 99% betrouwbaarheid is ongeveer 5,85. Welke waarde vind jij voor je teststatistiek?
Deze oefening maakt deel uit van de cursus
Kwantitatief risicobeheer in Python
Oefeninstructies
- Voeg een OLS-interceptterm toe aan
mort_delvoorbeforeenafter. - Pas een OLS-regressie toe van de kolom
returnsop de kolommort_del, voorbeforeenafter. - Plaats de som van de gekwadrateerde residuen in
ssr_beforeenssr_after, voor respectievelijkbeforeenafter. - Maak en toon de Chow-teststatistiek.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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 / ____)