--------------------------------------------------- # # # 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.