LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Verwende fit.st(), um eine Student-t-Verteilung an die Daten in djx anzupassen, und weise das Ergebnis tfit zu.
  • Weisen die Komponente par.ests des angepassten Modells tpars zu und die Elemente von tpars jeweils nu, mu und sigma.
  • Vervollständige hist(), um ein Histogramm von djx zu zeichnen.
  • Vervollständige dt(), um die angepasste t-Dichte an den Werten djx zu berechnen, und weise sie yvals zu. Sieh dir die Gleichung im Video an.
  • Vervollständige lines(), um dem Histogramm von djx eine 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")
Code bearbeiten und ausführen