t-Verteilung an Daten anpassen
Eine Student-t-Verteilung passt im Allgemeinen deutlich besser zu täglichen, wöchentlichen und monatlichen Renditen als eine Normalverteilung.
Du kannst sie mit der Funktion fit.st() aus dem Paket QRM erzeugen. Das resultierende angepasste Modell hat eine Parameter-Schätzungskomponente par.ests, die du einer Liste tpars zuweisen kannst, um die Werte von nu, mu und sigma für später zu speichern:
> tfit <- fit.st(ftse)
> tpars <- tfit$par.ests
> tpars
nu mu sigma
2.949514e+00 4.429863e-05 1.216422e-02
In dieser Übung passt du eine Student-t-Verteilung an die täglichen Log-Renditen des Dow-Jones-Index aus den Jahren 2008–2011 in djx an. Anschließend zeichnest du ein Histogramm der Daten und legst eine rote Linie darüber, die die angepasste t-Dichte zeigt. Die djx-Daten und das Paket QRM wurden für dich geladen.
Diese Übung ist Teil des Kurses
Quantitatives Risikomanagement in R
Anleitung zur Übung
- Verwende
fit.st(), um eine Student-t-Verteilung an die Daten indjxanzupassen, und weise das Ergebnistfitzu. - Weisen die Komponente
par.estsdes angepassten Modellstparszu und die Elemente vontparsjeweilsnu,muundsigma. - Vervollständige
hist(), um ein Histogramm vondjxzu zeichnen. - Vervollständige
dt(), um die angepasste t-Dichte an den Wertendjxzu berechnen, und weise sieyvalszu. Sieh dir die Gleichung im Video an. - Vervollständige
lines(), um dem Histogramm vondjxeine rote Linie hinzuzufügen, die die angepasste t-Dichte zeigt.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Fit a Student t distribution to djx
tfit <- ___(___)
# Define tpars, nu, mu, and sigma
tpars <- ___
nu <- ___
mu <- ___
sigma <- ___
# Plot a histogram of djx
hist(___, nclass = 20, probability = TRUE, ylim = range(0, 40))
# Compute the fitted t density at the values djx
yvals <- dt((___ - ___)/___, df = ___)/___
# Superimpose a red line to show the fitted t density
lines(___, yvals, col = "red")