Ajustarea distribuției t la date
O distribuție t Student se potrivește, în general, mult mai bine randamentelor zilnice, săptămânale și lunare decât o distribuție normală.
Poți crea una folosind funcția fit.st() din pachetul QRM. Modelul ajustat rezultat conține o componentă cu estimările parametrilor, par.ests, care poate fi atribuită unei liste tpars pentru a stoca valorile nu, mu și sigma în vederea utilizării ulterioare:
> tfit <- fit.st(ftse)
> tpars <- tfit$par.ests
> tpars
nu mu sigma
2.949514e+00 4.429863e-05 1.216422e-02
În acest exercițiu, vei ajusta o distribuție t Student la log-randamentele zilnice ale indicelui Dow Jones din perioada 2008–2011, conținute în djx. Apoi, vei reprezenta grafic o histogramă a datelor și vei suprapune o linie roșie care arată densitatea t ajustată. Datele djx și pachetul QRM au fost deja încărcate.
Acest exercițiu face parte din cursul
Managementul Cantitativ al Riscului în R
Instrucțiuni pentru exercițiu
- Folosește
fit.st()pentru a ajusta o distribuție t Student la datele dindjxși atribuie rezultatele luitfit. - Atribuie componenta
par.estsa modelului ajustat luitpars, iar elementele luitparsluinu,muși, respectiv,sigma. - Completează
hist()pentru a reprezenta o histogramă a luidjx. - Completează
dt()pentru a calcula densitatea t ajustată la valoriledjxși atribuie rezultatul luiyvals. Consultă videoclipul pentru această ecuație. - Completează
lines()pentru a adăuga o linie roșie la histograma luidjx, care să arate densitatea t ajustată.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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")