Aan de slagGa gratis aan de slag

Een t-verdeling op data fitten

Een Student t-verdeling past over het algemeen veel beter bij dagelijkse, wekelijkse en maandelijkse rendementen dan een normale verdeling.

Je kunt er een fitten met de functie fit.st() uit het pakket QRM. Het resulterende gefitte model heeft een component met parameterinschattingen, par.ests, die je kunt toekennen aan een lijst tpars om de waarden van nu, mu en sigma op te slaan voor later gebruik:

> tfit <- fit.st(ftse)
> tpars <- tfit$par.ests
> tpars
          nu           mu        sigma
2.949514e+00 4.429863e-05 1.216422e-02

In deze oefening fit je een Student t-verdeling op de dagelijkse log-rendementen van de Dow Jones-index van 2008–2011 in djx. Daarna plot je een histogram van de data en leg je er een rode lijn overheen die de gefitte t-dichtheid toont. De djx-data en het QRM-pakket zijn al voor je geladen.

Deze oefening maakt deel uit van de cursus

Kwantiatief Risicobeheer in R

Cursus bekijken

Oefeninstructies

  • Gebruik fit.st() om een Student t-verdeling te fitten op de data in djx en ken de resultaten toe aan tfit.
  • Ken de component par.ests van het gefitte model toe aan tpars en de elementen van tpars respectievelijk aan nu, mu en sigma.
  • Vul hist() in om een histogram van djx te plotten.
  • Vul dt() in om de gefitte t-dichtheid te berekenen op de waarden van djx en ken dit toe aan yvals. Raadpleeg voor deze vergelijking de video.
  • Vul lines() in om een rode lijn toe te voegen aan het histogram van djx die de gefitte t-dichtheid laat zien.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren