---------------------------------------------------
# #
# Chapter 9: Stochastic Volatility Models #
# #
---------------------------------------------------
Das GARCH(1,1)-Modell, mit dem wir bisher den besten
Fit an reale Zeitreihen-Daten bekommen hatten, im
Sinne der Maximum-Likelihood-Methode, war gegeben
durch
S(t_k) = S(t_{k-1}) * [ 1 + vol(t_{k-1})*phi_k ] (1)
mit der Vol-Spezifikation
vol^2(t_k) = (2)
alpha0 + alpha1 * ret^2(t_k) + beta1 * vol^2(t_{k-1})
Gleichung (1) koennen wir auch Gleichung fuer die
returns umschreiben, naemlich
ret(t_k) = [ S(t_k)-S(t_{k-1}) ] / S(t_{k-1})
= vol(t_{k-1}) * phi_k (3)
oder
ret^2(t_k) = vol^2(t_{k-1}) * phi_k^2 (4)
Das koennen wir auf der rechten Seite von (2) einsetzen:
vol^2(t_k) = alpha0
alpha1 * vol^2(t_{k-1}) * phi_k^2 + beta1 * vol^2(t_{k-1})
= alpha0 + [ alpha1 + beta1 ] * vol^2(t_{k-1})
+ alpha1 * vol^2(t_{k-1}) * ( phi_k^2 - 1 ) (5)
Der Grund fuer die Art und Weise der Klammerung in (5)
wird deutlicher, wenn wir uns an die geeignete Parametri-
sierung des GARCH(1,1)-Modells erinnern: Wir hatten
alpha0 = (1-w)*w0*bsvol^2
alpha1 = (1-w)*(1-w0) (6)
beta1 = w
mit w = 1 - 1/d, so dass
alpha1 + beta1 = 1-w - w0*(1-w) + w
= 1 - w0*(1-w)
= 1 - w0/d
Damit wird aus (5)
vol^2(t_k) = w0/d * bsvol^2 + (1-w0/d) * vol^2(t_{k-1})
+ alpha1 * vol^2(t_{k-1}) * ( phi_k^2 - 1 )
= vol^2(t_{k-1}) + w0/d * [ bsvol^2 - vol^2(t_{k-1}) ]
+ alpha1 * vol^2(t_{k-1}) * ( phi_k^2 - 1 ) (7)
Die Zufallszahlen
psi_k := ( phi_k^2 - 1 ) / sqrt(2) (8)
haben wieder Mittelwert 0 und Standardabweichung 1 (aber
sind natuerlich nicht mehr normalverteilt). Mit der
Abkuerzung
Delta_vol^2(t_k) := vol^2(t_k) - vol^2(t_{k-1}) (9)
koennen wir (7) dann auch in folgender Form schreiben:
Delta_vol^2(t_k) = w0/d * [ bsvol^2 - vol^2(t_{k-1}) ]
+ sqrt(2)*alpha1 * vol^2(t_{k-1}) * psi_k (10)
Gleichung (10) hat die typische Form eines mean-reverting
stochastischen Prozesses: Ist vol^2(t_{k-1}) groesser als
bsvol^2, dann ist bsvol^2 - vol^2(t_{k-1}) negativ und
vol^2(t_k) wird im Mittel (die psi_k haben Erwartungswert 0)
eher kleiner sein als vol^2(t_{k-1}), und ist vol^2(t_{k-1})
kleiner als bsvol^2, dann ist bsvol^2 - vol^2(t_{k-1}) positiv,
so dass vol^2(t_k) im Mittel eher groesser sein wird als
vol^2(t_{k-1}).
Die Vol-Spezifikation (10) ist nach wie vor aequivalent zur
Spezifikation (2) mit dem Preisprozess (1), wir haben das
ja nur etwas umgeschrieben. Beim Modell (1,2), wie bei allen
Modellen, die wir bisher betrachtet haben, ist die Volatili-
taet vollstaendig bestimmt durch die return-Historie. Das
ist nun bei Modellen mit stochastischer Volatilitaet anders,
dort waehlt man einen zweiten set von standard-normalverteil-
ten Zufallszahlen
eps_1, eps_2, eps_3, ... in N(0,1) (11)
und erlaubt es der Volatilitaet, sich stochastisch zu ent-
wickeln. Das heisst, man betrachtet folgendes Modell:
S(t_k) = S(t_{k-1}) * [ 1 + vol(t_{k-1})*phi_k ] (1)
mit der Vol-Spezifikation
Delta_vol^2(t_k) = w0/d * [ bsvol^2 - vol^2(t_{k-1}) ]
+ sqrt(2)*alpha1 * vol^2(t_{k-1}) * eps_k (12)
Typischerweise sind dabei die Zufallszahlen eps_k und phi_k
negativ korreliert: Geht der Markt runter, steigt typischer-
weise das Volatilitaetsniveau. Wir werden zunaechst unkor-
relierte Zufallszahlen eps_k und phi_k betrachten und uns
ueberlegen muessen, wie wir denn die Likelihood-Funktion
berechnen koennen, das wird bereits fuer diesen Fall nicht
ganz einfach sein.
Bevor wir jedoch das Problem der Parameterschaetzung fuer
stochastic volatility models betrachten, sollen an dieser
Stelle einige gebraeuchliche stochastic volatility models
aufgelistet werden: Der Preis-Prozess lautet fuer saemt-
liche Modelle
S(t_k) = S(t_{k-1}) * [ 1 + vol(t_{k-1})*phi_k ] ;
was variiert, ist jeweils der Vol-Prozess:
1) Das GARCH-Diffusion Modell: Das ist das Modell (12):
Delta_vol^2(t_k) = kappa * [ bsvol^2 - vol^2(t_{k-1}) ]
+ beta * vol^2(t_{k-1}) * eps_k (13)
2) Das Heston-Modell: Ist wie das Modell (13), nur in
der letzten Zeile nimmt man vol, nicht vol^2:
Delta_vol^2(t_k) = kappa * [ bsvol^2 - vol^2(t_{k-1}) ]
+ beta * vol(t_{k-1}) * eps_k (14)
3) Das Schoebel-Zhu Modell: Ist ein Ornstein-Uhlen-
beck-Prozess fuer die vol (nicht vol^2):
Delta_vol(t_k) = kappa * [ bsvol - vol(t_{k-1}) ]
+ beta * eps_k (15)
Im Equity Derivatives Bereich ist das Heston-Modell
(oder Erweiterungen davon) das mit Abstand gebraeuch-
lichste Modell. Der Grund liegt darin, dass es fuer
dieses Modell eine analytische Loesung fuer die Preise
von Standard-Call-Optionen gibt und so den Kalibrie-
rungsprozess, dessen oberste Prioritaet es ist, im Markt
beobachtete Preise von Standard-Call-Optionen richtig
wiederzugeben, massiv vereinfacht. Im Derivate-Bereich
werden also stochastic volatility models nicht an
Zeitreihen-Daten kalibriert, sondern an im Markt beob-
achtbaren Optionspreisen.
Das Schoebel-Zhu Modell erlaubt ebenfalls eine analy-
tische Loesung fuer Standard-Call-Optionen, allerdings
ist die Vol-Dynamik weniger realistisch.
Die Vol-Dynamik des GARCH-Diffusion Modells wird
weitestgehend als am realistischsten angesehen, jedoch
gibt es keine analytische Preisformel fuer Standard-
Call-Optionen, deswegen wird dieses Modell im Derivate-
Bereich kaum angewendet.
Wenn man diese Modelle an Zeitreihen-Daten kalibrieren
moechte und die Zeitreihe hat Laenge N (etwa N=2500
fuer unsere DAX-Zeitreihe), dann ist die Likelihood-
Funktion fuer alle 3 Modelle gegeben durch ein N-dimen-
sionales Integral, was nicht analytisch berechnet wer-
den kann. Wir brauchen also eine nach Moeglichkeit
nicht zu zeitintensive numerische Methode. Typischer-
weise wird das was Monte-Carlo artiges sein. Um ein
Gefuehl fuer die Problematik zu bekommen, betrachten
wir deshalb noch folgendes Demo-Modell, fuer das die
Likelihood-Funktion explizit berechnet werden kann:
4) Demo-Test-Modell:
S(t_k) = S(t_{k-1}) * [ 1 + vol(t_{k-1})*phi_k ]
mit Vol-Prozess
vol^2(t_k) = sigma^2 * ( eps1_k^2 + eps2_k^2 )/2 (16)
mit eps1_k und eps2_k standard-normalverteilte Zufalls-
zahlen.
Die Modelle (1-3) werden typischerweise nicht in dis-
kreter, sondern in stetiger Zeit formuliert, und die
Gleichungen (13-15) sind dann stochastische Differen-
tialgleichungen, gegeben durch
d(vol^2_t) = kappa(bsvol^2-vol^2_t)dt + beta*vol^2_t*dW_t (13b)
d(vol^2_t) = kappa(bsvol^2-vol^2_t)dt + beta*vol_t*dW_t (14b)
dvol_t = kappa(bsvol-vol_t)dt + beta*dW_t (15b)
wobei dW_{t_k} = sqrt(dt)*eps_k das Inkrement einer
Brownschen Bewegung W_t ist.
Bevor wir uns jetzt mit dem Problem der Berechnung der
Likelihood-Funktion befassen, wollen wir einige Preis-
und Vol-Pfade der Modelle (1-4) simulieren. Das machen
wir auf dem neuen Uebungsblatt.