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
Övningsinstruktioner
- Använd
fit.st()för att anpassa en Student t-fördelning till datan idjxoch tilldela resultatet tilltfit. - Tilldela komponenten
par.estsfrån den anpassade modellen tilltpars, och tilldela elementen itparstillnu,murespektivesigma. - Fyll i
hist()för att rita ett histogram överdjx. - Fyll i
dt()för att beräkna den anpassade t-tätheten vid värdena idjxoch tilldela resultatet tillyvals. Se videon för denna ekvation. - Fyll i
lines()för att lägga till en röd linje i histogrammet överdjxsom 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")