Extreme Werte in volatilen Zeitreihen
Wenn du eine lange Folge iid-Daten nimmst, also mehrere Tausend Beobachtungen, und daraus eine kleine Teilmenge der extremsten Beobachtungen auswählst, zum Beispiel weniger als 100, dann treten diese Extreme zufällig auf, und die Abstände zwischen den Extremen folgen einer Verteilung, die der Exponentialverteilung sehr nahekommt. Führen wir die gleiche Übung für eine volatile finanzielle Log‑Rendite‑Reihe durch, dann treten die Extreme in Clustern während Phasen hoher Volatilität auf. Das ist ein weiteres Merkmal realer Log‑Rendite‑Daten, das wir beim Modellieren berücksichtigen müssen.
In dieser Übung untersuchst du die unregelmäßige Zeitreihe djx_extremes, die die 100 extremsten negativen Log‑Renditen des Dow‑Jones‑Index zwischen 1985 und 2015 enthält. Du vergleichst sie mit iid_extremes, das die 100 extremsten Werte in einer iid‑Reihe mit derselben Länge wie djx_extremes enthält. Dazu verwendest du das Objekt exp_quantiles, das 100 theoretische Quantile der standardisierten Exponentialverteilung enthält. Damit lässt sich für jeden Datensatz ein Q‑Q‑Plot gegen die Exponential‑Referenzverteilung erstellen.
Die Objekte djx_extremes, iid_extremes und exp_quantiles stehen dir in deinem Workspace zur Verfügung.
Diese Übung ist Teil des Kurses
Quantitatives Risikomanagement in R
Anleitung zur Übung
- Teile den Plotbereich in eine Zeile mit 3 Panels auf (das ist bereits für dich erledigt).
- Verwende
plot()undtype = "h", umdjx_extremeszu plotten. - Verwende nacheinander
time()unddiff(), um die Abstände zwischen den Zeitpunkten der Extreme zu berechnen, und weise siedjx_spaceszu. - Verwende nacheinander
hist()undas.numeric(), um nach der Umwandlung der Daten in numerische Werte ein Histogramm vondjx_spaceszu erstellen. - Verwende die passende Funktion, um einen Q‑Q‑Plot von
djx_spacesgegen die Exponential‑Quantile inexp_quantileszu erzeugen. - Führe die vorherigen 4 Schritte für
iid_extremesdurch: Rohdaten mit demselbentype‑Parameter plotten, die Abstände alsiid_spacesberechnen, ein Histogramm erstellen und einen Q‑Q‑Plot erzeugen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Partition plotting area into 3 pieces
par(mfrow = c(1, 3))
# Plot djx_extremes
___(___)
# Compute the spaces between the times of the extremes
djx_spaces <- ___
# Make a histogram of these spaces
___(___)
# Make a Q-Q plot of djx_spaces against exp_quantiles
___(exp_quantiles, djx_spaces)
# Carry out the previous 4 steps for iid_extremes
___(___, ___)
iid_spaces <-
___(___(___))
___(exp_quantiles, iid_spaces)