Kom igångKom igång gratis

Anpassa t-fördelning till data

En Student t-fördelning passar i allmänhet dagliga, veckovisa och månatliga avkastningar betydligt bättre än en normalfördelning.

Du kan skapa en sådan med funktionen fit.st() i paketet QRM. Den anpassade modellen har en komponent med parameterestimat, par.ests, som kan tilldelas en lista tpars för att spara värdena för nu, mu och sigma till senare användning:

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

I den här övningen anpassar du en Student t-fördelning till de dagliga log-avkastningarna för Dow Jones-indexet 2008–2011, som finns i djx. Sedan ritar du ett histogram över datan och lägger till en röd linje som visar den anpassade t-tätheten. Datan i djx och paketet QRM har redan laddats åt dig.

Den här övningen är en del av kursen

Kvantitativ riskhantering i R

Visa kurs

Övningsinstruktioner

  • Använd fit.st() för att anpassa en Student t-fördelning till datan i djx och tilldela resultatet till tfit.
  • Tilldela komponenten par.ests från den anpassade modellen till tpars, och tilldela elementen i tpars till nu, mu respektive sigma.
  • Fyll i hist() för att rita ett histogram över djx.
  • Fyll i dt() för att beräkna den anpassade t-tätheten vid värdena i djx och tilldela resultatet till yvals. Se videon för denna ekvation.
  • Fyll i lines() för att lägga till en röd linje i histogrammet över djx som visar den anpassade t-tätheten.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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")
Redigera och kör kod