Bewertung von Barrier Optionen mit der Finite-Differenzen-Methode Diplomarbeit vorgelegt von Ming Liao Universität Bielefeld Fakultät für Wirtschaftswissenschaften 9. Juni 2011 Themensteller: 2. Prüfer: Prof. Dr. Thomas Braun Prof. Dr. Reinhold Decker I Inhaltsverzeichnis Einleitung 1 1 Grundlagen der Optionsbewertung 2 1.1 Optionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Brown’sche Bewegung und Itôs Formel . . . . . . . . . . . . . . . . . . 3 2 3 4 Black-Scholes-Modell und Vanilla Option Bewertung 11 2.1 Annahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Black-Scholes Partial Differentialgleichungsmethode . . . . . . . . . . . 11 2.3 Die Black-Scholes Formel für europäische Optionen . . . . . . . . . . . 14 Barrier Option 19 3.1 Eigenschaften der Barrier Option . . . . . . . . . . . . . . . . . . . . . . 19 3.2 Black-Scholes-Modell zur Optionsbewertung . . . . . . . . . . . . . . . 22 3.3 Black-Scholes-Modell zur europäische Barrier Optionsbewertung . . . . 24 Finite-Differenzen-Methode 31 4.1 Einleitung in die Finite-Differenzen-Methode . . . . . . . . . . . . . . . 31 4.2 Finite-Differenzen-Approximation . . . . . . . . . . . . . . . . . . . . . 33 4.3 Die implizite Finite-Differenzen-Methode . . . . . . . . . . . . . . . . . 35 4.3.1 Standard Option Bewertung . . . . . . . . . . . . . . . . . . . . 35 4.3.2 Implizite Finite-Differenzen-Methode für Barrier Optionsbewertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Die explizite Finite-Differenzen-Methode . . . . . . . . . . . . . . . . . 47 4.4.1 Standard Option Bewertung . . . . . . . . . . . . . . . . . . . . 47 4.4.2 Explizite Finite-Differenzen-Methode für Barrier Option Bewertung 54 4.4.3 Modifizierter expliziter finiter Differenzen Ansatz zur Barrier Optionsbewertung . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Crank-Nicolson-Methode . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.5.1 Standard Option Bewertung . . . . . . . . . . . . . . . . . . . . 61 4.5.2 Bewertung einer Barrier Option mit der Crank-Nicolson Methode 65 4.4 4.5 5 Sensitivitäten von Optionspreisen 68 5.1 Sensitivitätskennzahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.2 Sensitivitätsanalyse der Differenzen-Methode . . . . . . . . . . . . . . . 71 II 6 Fazit 73 Anhang 75 A Beweise und Theoreme 75 Beweis der Black-Scholes Bewertungs-Formel (2.15) . . . . . . . . . . . . . . 75 Beweis für die Transformation (3.7), (3.8) und (3.9) . . . . . . . . . . . . . . . 76 Beweis für die Transformation (3.11), (3.12) und (3.13) . . . . . . . . . . . . . 78 Beweis die Delta und Gamma . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Berechnung des Deltas einer Barrier Option . . . . . . . . . . . . . . . . . . . 80 B Code 81 Allgemeine Symbol Bedeutung . . . . . . . . . . . . . . . . . . . . . . . . . . 81 B.1. Simulation des Wiener-Prozess. . . . . . . . . . . . . . . . . . . . . . . . 81 B.2 Simulation für Pfade eines Wiener Prozesses. . . . . . . . . . . . . . . . . 81 B.3. Simulation of Geometric Brownian Motion. . . . . . . . . . . . . . . . . . 82 B.4. Monte-Carlo-Simulation für Pfade der geometrischen Brownschen Bewegung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 B.5. Simulation des Underlying asset. . . . . . . . . . . . . . . . . . . . . . . 83 B.6. European Call/Put Optionsbewertung mit Monte-Carlo-Simulation. . . . . 84 B.7. Option Bewertung (Call/Put) mit Black-Scholes Formula. . . . . . . . . . 85 B.8. Barrier Option Bewertung mit Monte Carlo Simulation. . . . . . . . . . . 86 B.9. Barrier Option Bewertung mit BS-Modell. . . . . . . . . . . . . . . . . . 87 B.10. amerikanischen und europäischen VerkaufsOption Bewertung mit implizite FDM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 B.11. amerikanischen und europäischen VerkaufsOption Bewertung mit explizite FDM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 B.12. europäischen Verkaufsoption Bewertung mit Crank-Nicolson Methode. . 92 B.13. europäischen Down-and-out VerkaufsOption Bewertung mit implizite Differenze Methode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 B.14. europäischen Down-and-out VerkaufsOption Bewertung mit explizite Differenzen Methode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 B.15. europäischen Down-and-out VerkaufsOption Bewertung mit modifizierte explizite Differenzen Methode. . . . . . . . . . . . . . . . . . . . . . . . 95 B.16. europäischen Down-and-out Put Barrier Option Bewertung mit CrankNicolson Methode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 B.17. Down-and-out Barrier Optionsbewertung mit Monte Carlo Simulation. . . 97 Inhaltsverzeichnis III B.18. Amerikanische Down-and-out Put Optionsbewertung mit implizite FDM. 98 B.19. Beispiel der Greek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 B.20. Abbildung der Greek. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 B.21. Delta der Down-and-in Call Barrier Option. . . . . . . . . . . . . . . . . 102 B.22. Sensitivitätskennzahl einer Europäische Call Option. . . . . . . . . . . . 103 B.23. Die Delta einer Europäische oder Amerikanische Put Option. . . . . . . . 104 Literaturverzeichnis 105 Abbildungsverzeichnis IV Abbildungsverzeichnis 1.1 Call–und–Put Optionen. Quelle: [10, S.4] . . . . . . . . . . . . . . . . . 3 1.2 Simulation für Pfade eines Wiener Prozesses. X-Achse: Zeit T; Y-Achse: √ t − sN(0, 1). Quelle: eigene Darstellung. . . . . . . . . . . . . . . . . . 5 Monte-Carlo-Simulation für Pfade der geometrischen Brownschen Bewegung. Quelle: eigene Darstellung. . . . . . . . . . . . . . . . . . . . . . 10 4.1 Gitter der Finite-Differenzen-Methode . . . . . . . . . . . . . . . . . . . 32 4.2 Vorwärts-, Rückwärts- und Zentral-Differenzen-Approximation, Quelle: [21, S.137] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3 Implizite Finite-Differenzen-Methode. Quelle: [6, S.511] . . . . . . . . . 37 4.4 Europäische Verkaufsoptionsbewertung durch implizite Finite-DifferenzenMethode für M = 20 und N = 10. Quelle: eigene Darstellung. . . . . . . 43 4.5 Europäische Verkaufsoptionsbewertung mittels impliziter Finite-DifferenzenMethode für M = 200 und N = 100. Quelle: eigene Darstellung. . . . . . 43 4.6 Gitterstruktur einer Down Barrier Option . . . . . . . . . . . . . . . . . 44 4.7 Down-and-out Put Barrier Option mittels der Implizite-Differenzen- Methode. Quelle: eigene Darstellung. . . . . . . . . . . . . . . . . . . . . . 46 Amerikanische Down-and-out Put Barrier Option mittels der ImpliziteDifferenzen- Methode. Quelle: eigene Darstellung. . . . . . . . . . . . . 47 Explizite Finite-Differenzen-Methode. Quelle: Vgl. [6, S.511] . . . . . . 48 1.3 4.8 4.9 4.10 Explizite Finite-Differenzen-Methode als Trinomialbaum. Quelle: [6, S.514] 49 4.11 Europäische Verkaufsoptionsbewertung mit explizite Finite-DifferenzenMethode. Quelle: eigene Berechnung. . . . . . . . . . . . . . . . . . . . 52 4.12 Instabilitätsproblem der expliziten Methode. Quelle: eigene Berechnung. . 53 4.13 Down-and-out Put Barrier Option mit modifizierter expliziter Differenzen Methode. Quelle: eigene Berechnung. . . . . . . . . . . . . . . . . . . . 60 4.14 Down-and-out Verkaufsoption mit Crank-Nicolson-Methode. Quelle: eigene Darstellung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.1 Sensitivitätskennzahlen für t = 0 (punktierte Linie), t = 5/4(durchgezogene Linie) und t = 10/4 (dicke Linie), jeweils mit K = 50, T = 5/12, r = 0.1 und σ = 0.4. Quelle: eigene Darstellung . . . . . . . . . . . . . . . . . . 69 5.2 Das Delta mit folgende Annahme: K = 50, T = 5/12, r = 0.1 und σ = 0.4. Quelle: eigene Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . 72 Tabellenverzeichnis V Tabellenverzeichnis 1 2 3 4 5 6 Simulation für den Aktienkurs bei µ = 0.14, σ = 0.2 und ∆t = 0.01. Quelle: eigene Berechnung. . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Bewertung der amerikanischen Option mit der impliziten FDM. Quelle: eigene Berechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Bewertung der europäischen Option mit der impliziten FDM. Quelle: eigene Berechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Bewertung der amerikanische Option mit der expliziten FDM. Quelle: eigene Berechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Bewertung der europäische Option mit der explizite FDM. Quelle: eigene Berechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Bewertung der europäischen Option mit der Crank-Nicolson-Methode. Quelle: eigene Berechnung . . . . . . . . . . . . . . . . . . . . . . . . . 64 Abkürzungsverzeichnis Abkürzungsverzeichnis bzw. d.h. usw. Vgl. z.B. min max inf PDE FDM beziehungsweise das heißt und so weiter vergleiche zum Beispiel minimiere maximiere infimum partial difference equality Finite-Differenzen-Methode VI Symbolverzeichnis Symbolverzeichnis N: : Wt E(·) H K N(0, 1) N(x) C P c p r µ σ T T −t S S0 ST Π cdo cdi pdo pdi cuo cui puo pui natürliche Zahlen reelle Zahlen Wiener-Prozess Erwartungswert einer Variablen Barrier Ausübungspreis (Strike price) standard normal distribution Kumulation Verteilungsfunktion Preis einer amerikanischen Kaufoption Preis einer amerikanischen Verkaufsoption Preis einer europäischen Kaufoption Preis einer europäischen Verksaufoption risikoloser Zinssatz erwartete Rendite einer Aktie Volatilität des Aktienkurses Ausübungszeitpunkt (maturity date) Restlaufzeit der Option aktueller Aktienkurs zum Zeitpunkt t in [0,T] aktueller Aktienkurs in Zeitpunkt Null Kurs des zugrunde liegenden Wertpapiers zum Zeitpunkt T. /Kurs des Basiswerts. /Aktienkurs bei Fälligkeit underlying. Portfolio zur Optionsbewertung Down-and-out call Down-and-in call Down-and-out put Down-and-in put Up-and-out call Up-and-in call Up-and-out put Up-and-in put VII Einleitung 1 Einleitung Seit den 90er Jahren ist eine rapide Entwicklung bei den Finanzinnovationen festzustellen. Es fand sowohl eine Liberalisierung der Finanzmärkte als auch deren globale Integrationen statt. Dadurch ist der Derivatemarkt immer weiter angewachsen. Die Statistik des Deutschen Derivate Verbandes zeigt im Jahresbericht 2009, dass Ende 2009 in Deutschland rund 350.000 Anlageprodukte und Hebelprodukte an den Börsen Stuttgart (EUWAX) und Frankfurt (Scoach) notiert waren. Bei den Hebelprodukten dominierten 2009 Optionen deren Underlyings Aktien gewesen sind. Sie stellten einen Anteil von 78 Prozent. Danach folgten Hebelprodukte die als Basiswert Währungen und Rohstoffe besaßen. Ihr Anteil erreichte dabei 21.3 Prozent am Gesamtvolumen der Hebelprodukte. 1 Dies zeigt, dass Optionen eine große Rolle auf dem Derivatemarkt spielen. Vor diesem Hintergrund ist die Bewertung von Optionen von so großer Bedeutung. Es existieren zwei unterschiedliche Arten wie die Bewertung von Optionen vorgenommen werden kann. Es wird unterschieden zwischen analytischer und numerischer Bewertung. Hierbei stellt die Black-Scholes Gleichung das einzige analytische Bewertungsverfahren zur Optionsbewertung dar. Zu den numerischen Verfahren gehören das Binominalmodell, die Finite-Differenzen-Methode und die Monte Carlo Simulation. Diese Arbeit beschränkt sich dabei auf die Betrachtung des analytischen Verfahrens des Black-Scholes-Modells und bei den numerischen Verfahren auf die Finite-DifferenzenMethode. Die Tabellen, die Graphiken und die Beispiele in dieser Arbeit wurden mit Hilfe des Programms MATLAB selbst erstellt. Dabei wurden die Funktionen und die für die Analyse notwendigen Simulationen ebenfalls selbständig mit MATLAB durchgeführt. Die hierfür verwandten Programm-Codes befinden sich im Anhang der Arbeit. Diese Arbeit befasst sich mit dem Unterschied zwischen dem Black-Scholes-Modell und der Finite-Differenzen-Methode. Diese wird beispielhaft mit Hilfe der Barrier Option dargestellt. Zunächst werden in einem einführenden Kapitel die Grundlagen der Optionsbewertung vorgestellt. In Kapitel zwei wird eine Erläuterung des Black-Scholes-Modell und die Bewertung von Vanilla Optionen durchgeführt. Im Anschluss wird in Kapitel drei näher auf die Barrier Optionen eingegangen, da in dieser Arbeit der Fokus auf die Bewertung von Barrier Option gelegt wurde. Das vierte Kapitel behandelt die Finite-DifferenzenMethode zur Barrier Optionsbewertung. Hier wird auf die drei Verfahren der FiniteDifferenzen-Methode: implizite-, explizite- und Crank-Nicolson-Methode eingegangen. Im fünfte Kapitel wird eine Sensitivitätsanalyse des Black-Scholes Modell und der FiniteDifferenzen-Methode vorgenommen. Im Fazit werden dann abschließend die Ergebnisse des Vergleiches zwischen Black-Scholes Modell und der Finite-Differenzen-Methode zusammengefasst. Danksagung Zunächst gilt mein Dank Prof. Dr. Thomas Braun, der mich bei der Anfertigung dieser Diplomarbeit unterstützt und mit Hinweisen angeholfen hat. Ein ganz besonderer Dank geht an Herr André Schöne für die gute Betreuung. 1 Vgl. [18, S.8] 1 Grundlagen der Optionsbewertung 1 2 Grundlagen der Optionsbewertung 1.1 Optionen Es existieren zwei unterschiedliche Typen von Optionen, die Vanilla- und Exotic Optionen. Die Vanilla Option wird als die Standard Option bezeichnet. Die exotische Option hingegen ist eine spezielle Form der Option, der nicht standardisierten Produkte. Barrier Optionen gehören in diesem Schema zu den exotischen Optionen. Im folgenden Absatz wird näher auf Vanilla Optionen eingegangen. Um im Anschluss näher auf die Barrier Optionen eingehen zu können, ist es zunächst notwendig, einige Grundbegriffe der Standard- oder Vanilla-Optionen zu erläutern. Eine Standard-Option ist ein Vertrag, welcher dem Inhaber einer Option das Recht zum Kauf oder Verkauf des Basiswertes bei einem vorgegebenen Preis (genannt Ausübung oder Basispreis K) innerhalb einer vorgegebenen Zeit T (sogenannter Zeitraum bis zur Fälligkeit oder Zeit bis zum Verfall der Option) verleiht. 2 Wenn der Inhaber sein Recht zum Kauf oder Verkauf des Basiswertes nur bei Fälligkeit ausüben kann, wird die Option als eine europäische Option bezeichnet. Wenn der Inhaber sein Recht zum Kauf oder Verkauf des Basiswertes jedoch jederzeit wahrnehmen kann, wird die Option als amerikanische Option bezeichnet.3 Es gibt darüber hinaus noch weitere Möglichkeiten zur Klassifizierung von StandardOptionen. Beispielsweise gibt es eine Klassifizierung in Call- und Put-Option. Der Call ist eine Kaufoption und Put ist eine Verkaufsoption. Da die Option ein Recht verbrieft, hat sie einen gewissen Wert, den Optionspreis. Dieser ändert sich mit dem Preis des zugrunde liegenden Basiswertes S. Als Basiswert kann es sich zum Beispiel um Aktien, Währungen, Rohstoffen und Indizes handeln. Da der Basiswertes S als riskante Anlageklasse gilt, handelt er sich bei dem Preis um eine Zufallsvariable. Daher ist der Optionspreis, welcher aus diesem abgeleitet ist, ebenso eine Zufallsvariable. Sobald jedoch der Ausübungspreis K fixiert wurde, ist der Optionspreis zu bestimmen. Der Optionspreis lässt sich durch die Partial-Differential-Methode errechnen. Bei dieser Methode wird ein Portfolio Π (Vgl. Kapitel 2.2) zusammengestellt. 2 3 Vgl.[8, S.8] Vgl.[6, S.29] 1 Grundlagen der Optionsbewertung 3 VT VT CT = (K − ST )+ PT = (K − ST )+ ST ST Abbildung 1.1: Call–und–Put Optionen. Quelle: [10, S.4] Der Ausübungspreis wird mit K bezeichnet. T bezeichnet den Verfallstag oder den Ausübungszeitpunkt. ST wird als der Kurs des Basiswertes kenntlich gemacht. Der Wert des europäischen Call zum Verfallstag wird durch die folgenden Auszahlungsfunktionen (payoffs) beschrieben: max(ST − K, 0) =: (ST − K)+ , und max(K − ST , 0) =: (K − ST )+ . In die Abbildung wird die Auszahlungsfunktion gezeigt. Hier wird VT als Auszahlung in Zeitpunkt T . Auf Grund der Annahmen der Arbitragfreiheit ergibt sich die Call-PutParität: ct + K e−r(T −t) = pt + St , 0 ≤ t ≤ T. (1.1) Die Call-Put-Parität ist eine Beziehung zwischen den Preisen der europäischen Call-und Put-Optionen, wobei beide Optionen den gleichen Basiswert und das gleiche Verfallsdatum besitzen. 4 1.2 Brown’sche Bewegung und Itôs Formel Die Kursbewegung eines underlying Vermögenswerts ist ein stochastischer Prozess. Im Jahr 1900 analysierte der französische Mathematiker Louis Bachelier Kursbewegungen an der Pariser Börse mit der Brown’schen Bewegung.5 In diesem Kapitel wird eine Einführung in das theoretische Modell des Wiener-Prozesses, die geometrische Brownsche Bewegung sowie in das Black-Scholes-Modell gegeben. Es wird auch die stochastische Differentialgleichung und das Itô-Lemma vorgestellt. Ein stochastischer Prozess besteht aus Zufallsvariablen, es kann sich hierbei um abzählbar viele Elemente (zeitdiskreter Prozess) oder unabzählbar viele Elemente (zeitstetiger 4 5 Vgl.[10, S.14]. In Beispiel wird mit t = 0 angenommen. Vgl.[10, S.55]. 1 Grundlagen der Optionsbewertung 4 Prozess) handeln. In dieser Arbeit sollen jedoch hauptsächlich der zeitstetige Prozess: der Wiener-Prozess-und der Itô-Prozess im Zentrum der Betrachtung stehen. Die Brown’sche Bewegung ist nach dem schottischen Botaniker Robert Brown benannt, der sie 1827 bei seinen Untersuchungen von Pollenkörnern unter dem Mikroskop beobachtete. Dabei stellte dieser fest, wie Pflanzenpollen sich in einem Wassertropfen unregelmäßig hin- und herbewegten. Eine mathematische Konstruktion auf Basis der Maßtheorie gelang Norbert Wiener dabei erst im Jahr 1923. Der Wiener-Prozess (Brownsche-Bewegung) ist ein zeitstetiger stochastischer Prozess, der normalverteilte, unabhängige Zuwächse hat. Definition 1.1. Ein stochastischer Prozess (Wt )t∈ heißt (Standard-)Wiener-Prozess, wenn die vier folgenden Bedingungen gelten: 6 1. W0 = 0. 2. Unabhängige Zuwächse: Für gegebenes ti mit 0 < t1 < t2 < · · · < tn , sind alle Inkremente Wtn −Wtn−1 , Wtn−1 −Wtn−2 , . . ., Wt2 −Wt1 unabhängig. 3. Stationär und normalverteilte Zuwächse: Wt −Ws ∼ N (0,t − s) , für alle 0 ≤ s < t. 4. Stetigkeit: Die einzelnen Pfade sind sicher stetig. √ Weil N(t − s) die gleiche Distribution wie t − sN(0, 1) hat, bekommt man N(t − s) normalerverteilte Pseudozufallszahlen aus standard normalerverteilte Pseudozufallszahlen. In MATLAB, mit dem Befehl “randn(M,N)” kann ein Matrix erzeugt werden, die aus M × N unabhängigen Standard normalerverteilte Pseudozufallszahlen (Pseudozufall) besteht. Daher ist es einfach die Bewegungen des Wiener Prozesses mit stationär und normalverteilten Zuwächsen zu simulieren. Um diese Bewegung des Aktienkurses zu veranschauerlichen, wird diese im folgenden Beispiel dargestellt. (Code B.1) Beispiel 1.2. In diesem Beispiel gilt, T = 2, dT = 0.01 und die Anzahl des Pfader m = 4. Zur Erzeugung der Darstellung wurde die Berechnung jeweils viermal hintereinander mit identischen Ausgangsparametern durchgeführt. Durch das Programm “BB_Path(T, dT, m)” (Code siehe Anhang Code B.2) wurde die Abbildung (1.2) generiert. Die Abbildung zeigt eine Approximation der Pfade des Aktienkurses, entsprechend dem theoretischen Modell des Wiener Prozesses. Wie in der Graphik zu sehen ist, kann der Verlauf der Pfade dabei erheblich voneinander abweichen. 6 [14, S.244] 1 Grundlagen der Optionsbewertung 5 Abbildung 1.2: √ Simulation für Pfade eines Wiener Prozesses. X-Achse: Zeit T; Y-Achse: t − sN(0, 1). Quelle: eigene Darstellung. Itô Formel (auch Itôs Lemma), benannt nach dem japanischen Mathematiker Itô Kiyoshi, ist ein zentrales Werkzeug für die stochastische Analysis. Es ist die Verallgemeinerung der Kettenregel auf das stochastische Kalkül. Sei xt , x ≥ 0, ein Itô Prozess, dxt = a(xt )dt + b(xt )dWt , (1.2) wobei Wt , t ≥ 0 ein Wiener Prozess ist. Funktion a, b sind zwei Funktionen in : [0, ∞) × zu . Lemma 1.3 (Itôs Lemma). Sei g : [0, ∞) × → eine solche Funktion, die in der ersten Komponente einfach und in der zweiten Komponente eine zweifach stetig differenzierbare Funktion ist. 7 Die Taylor-Reihe für gt = g(xt ) ergibt den Stufensprung in yt : dgt = ∂g ∂g 1 ∂2 g dt + dxt + (dxt )2 , ∂t ∂x 2 ∂x2 wobei (dxt )2 = dxt · dxt ist und nach den folgende Regeln:8 dt · dt = 0, 7 8 Vgl.[12, S.44] Vgl. [14, S.251] dt · dxt = 0, dWt · dWt = dt. 1 Grundlagen der Optionsbewertung 6 Ergibt sich dxt · dxt = [µdt + σdWt ] · [µdt + σdWt ] = µ2 dt + 2µσdtdWt + σ2 dWt = σ2 dt, gt ist auch ein Itô-Prozess und es gilt dgt = ∂g ∂g 1 2 ∂2 g ∂g + a(xt ) + b (xt ) 2 dt + b(xt ) dWt . ∂t ∂x 2 ∂x ∂x Im Folgenden Beispiel wird ein spezielles Itô Lemma betrachtet. Es gilt dabei, dass f : → eine 2−mal stetig differenzierbare Funktion ist. 1 dg(xt ) = g0 (xt )dxt + g00 (xt )b2 (xt )dt 2 1 2 0 00 = a(xt )g (xt ) + b (xt )g (xt ) dt + b(xt )g0 (xt )dt. 2 (1.3) Beispiel 1.4. Unter der Annahme, dass im deterministischen Fall b = 0 ergibt sich die nachfolgende Formel: d g(xt ) = g0 (xt ) · a(xt )dt. dt Es gilt die folgende geometrische Brownsche Bewegung: dS = µSdt + σSdWt . Sei g(xt ) = ln xt , dann g0 (xt ) = 1 xt (1.4) und g00 (xt ) = − x12 . t Aus (1.3) ergibt sich: 1 1 1 1 2 2 d ln S = dS − · 2 · (σS) dt = µ − σ dt + σdWt , S 2 S 2 dann σ2 t . S = S0 exp σWt + µ − 2 (1.5) Diese Lösung der Stochastischen Differentialgleichung (1.4), ist eine geometrische Brownsche Bewegung. Die Gleichung (1.5) wird als Annäherung für den Preisprozess eine Aktien verwendet. Dabei nimmt man vereinfachend an, dass die prozentuale Rendite über disjunkte Zeitintervalle unabhängig und normalverteilt ist. 9 9 Vgl. [14, S.251] 1 Grundlagen der Optionsbewertung 7 Daraus er gibt sich die folgende Formel, dS = µdt + σdWt , S S0 = a. (1.6) Der Parameter µ heißt dabei Drift und beschreibt die deterministische Tendenz des Prozesses, d.h. die Drift gibt an wie sich der Aktienkurs entwickelt. Der Parameter σ beschreibt die Volatilität und damit die stärke der Schwankung. Ist die Volatilität σ = 0, so verschwindet der Diffusionsterm in der obigen Differentialgleichung, es ergibt sich dann die gewöhnliche Differentialgleichung dS(t) = µ S(t), S0 = a. welche die Exponentialfunktion St = a eµt als Lösung besitzt. Für die allgemeine Gleichung (1.6), bei Itôs Lemma, ist maßgebend (Vgl. (1.5)) St = a exp σ2 µ− t + σWt . 2 (1.7) Mit Hilfe dieser Formel erhält man den Wert von ST . Das Programm “ UnderlyingAssetBSModel” (Code sehen Anhang Code B.5) verwendet diese Formel, um die Preise für Vermögenswerte in Terminal Daten zu erhalten, d.h. dass zu jedem Zeitpunkt von beginn bis zum Fälligkeitsdatum der Aktienkurs bestimmet werden kann. Die wesentliche Bereiche bei der Optionsbewertung sind oberhalb und unterhalb diese Ausübungspreis. Es sollen also die folgenden Wahrscheinlichkeiten berechnet werden: P(ST > K) und P(ST < K), (1.8) wobei ST der Preis des Vermögenswert zum Zeitpunkt T , und K den Ausübungspreis darstellt. Zu diesem Zweck wird die nachfolgende Notation eingeführt. Es wird N(·) als die kumulative Verteilungsfunktion mit Standard Normalverteilung angenommen . Das heisst, wenn ζ ∼ N(0, 1) ist, dann gilt für alle x ∈ , dass die Wahrscheinlichkeit der Zufallsvariablen ζ kleiner als x ist, daraus ergibt sich Z x N(x) : P(ζ < x) = −∞ y2 1 √ e− 2 dy. 2π Die getroffene Annahme gilt auch für die Gleichung (1.7), eine Logarithmierung der Gleichung ergibt 1 2 ln ST = ln S0 + µ − σ T + σWT 2 Hier wird ST auch Log-Normalverteilung genannt. 1 Grundlagen der Optionsbewertung Dann 8 ln SST0 − (µ − 12 σ2 )T √ ∼ N(0, 1). ζ := σ T (1.9) Durch einsetzen von (1.9) in (1.8) ergibt sich ln SST0 − (µ − 12 σ2 )T ln SK0 − (µ − 12 σ2 )T √ √ P(ST < K) = P < σ T σ T ! ln SST0 − (µ − 12 σ2 )T √ =P ζ< σ T = N −d˜2 , mit ! (1.10) ln SK0 + (µ − 12 σ2 )T ˜ √ d2 = . σ T Durch die Bedingung N(−x) = 1 − N(x) = P(ζ > x). (1.11) Ergibt sich aus den Gleichungen (1.11) und (1.10) P(ST > K) = 1 − N(−d˜2 ) = N(d˜2 ). (1.12) Zum besseren Verständniss wird jetzt eine Simulation der geometrischen Brownschen Bewegung in einem Beispiel durchgeführt. Beispiel 1.5. Die Aktienkurse zu einem diskreten Zeitpunkt werden als geometrische Brownsche Bewegung bezeichnet. Das Modell beschreibt folgende Gleichung √ ∆S/S = µ∆t + σε ∆t, bzw. √ ∆S = Sµ∆t + Sσε ∆t. (1.13) S bezeichnet den Aktienkurs zu einem bestimmten Zeitpunkt. ∆S ist die Änderung des Aktienkurses innerhalb des nächsten Zeitintervalls ∆t. ε ist ein zufälliger Wert aus der Standardnormalverteilung N(0, 1). Angenommen, der Aktienkurs sei S0 = 20, die Zeit T = 0.1, die erwartete Rendite µ = 0.14, die Volatilität des Aktienkurses σ = 0.2 und ∆t = 0.01.10 Aus der Gleichung (1.13) erhalten wir ∆S = 0.14 × 0.01 × S + 0.02 × 10 Vgl Beispiel in [6, S.335] √ 0.1 × S × ε. 1 Grundlagen der Optionsbewertung 9 Es werden mit Hilfe von MATLAB Befehl randn(·) eine Zufallszahl ε erzeugt. (Siehe Anhang Code B.3) . Für den ersten Zeitraum wird ein ε = 0.4142 ermittelt. Die Tabelle 1 zeigt einen mögliche Entwicklung des Aktienpreises an. Bei der Änderung über den ersten Zeitraum erhalten wir: ∆S = 0.0014 × 20 + 0.2 × 20 × 0.4142 = 0.1937 Für den zweiten Zeitraum beginnt der Aktienkurs folglich bei 20.1937. Der Wert ε wird für den nächsten Zeitraum ermittelt und beträgt −1.2799. Die Veränderung des Aktienkurses für den zweiten Zeitraum beträgt ∆S = 0.0014 × 20.1937 + 0.2 × 20.1937 × (−1.2799) = −0.4886. Damit liegt der Aktienpreis zu Beginn des dritten Zeitraums bei 19.7050. Die weiteren Werte werden entsprechend ermittelt. Die Tabelle 1 ist nur einer der möglichen Verläufe der Aktiepreisbewegung. Beispielsweise zeigt Hull [6] zu welchen verschiedenen Ergebnissen eine solche Berechnung führen kann. Andere Zufallszahlen führen dabei zu andere Preisbewegungen. Der letzte Aktienkurs von 20.9635 kann als zufälliger Wert des Aktienpreises am Ende von zehn Zeitintervallen angesehen werden. Diese ist ein mögliches Ergebnis, dieser Simulation des Aktienpreises. Es wurde zur Erzeugung der Graphik unter der Tabelle Funktionen aus MATLAB verwendet. (Siehe Anhang: Code B.3 und Code B.4). Aktienkurs 20.0000 20.1937 19.7050 20.1237 20.6716 21.0543 21.1380 20.7867 20.6089 20.9523 20.9635 zufälliger Wert 0.4142 -1.2799 0.9922 1.2916 0.8555 0.1287 -0.9008 -0.4976 0.7631 -0.0434 -0.2623 Änderung 0.1937 -0.4886 0.4186 0.5480 0.3826 0.0837 -0.3512 -0.1778 0.3434 0.0112 -0.0806 Tabelle 1: Simulation für den Aktienkurs bei µ = 0.14, σ = 0.2 und ∆t = 0.01. Quelle: eigene Berechnung. 1 Grundlagen der Optionsbewertung 10 Für die Graphik wurden vier verschiedene Möglichkeiten der Aktienpreisbewegung durchgeführt. Abbildung 1.3: Monte-Carlo-Simulation für Pfade der geometrischen Brownschen Bewegung. Quelle: eigene Darstellung. Die wichtigste Anwendung des Itô-Kalküls in der Finanzmathematik ist die in der Optionsbewertung. Dabei ist die bekannteste Anwendung des Ergebnisses in der BlackScholes-Formel.11 Im folgendne Kapitel wird die Black-Scholes-Formel dargestellt. 11 [17, S.90] 2 2 Black-Scholes-Modell und Vanilla Option Bewertung 11 Black-Scholes-Modell und Vanilla Option Bewertung Das Black-Scholes-Modell ist ein finanzmathematisches Modell zur Bewertung von Finanzoptionen, welches von Fischer Black und Myron Samuel Scholes im Jahr 1973 eingeführt wurde. Die Black-Scholes Formeln kann auf verschiedene Weise abgeleitet werden. Black-Scholes (1973) und Merton (1973) finden es durch Lösung der Wärmeleitungsgleichung, die nach Anwendung eines Hedging Argument erhalten wurde. 12 2.1 Annahmen Das Black-Scholes-Modell ist das Grundlagenmodell für die Optionsbewertung und geht dabei von folgenden Annahmen aus:13 • Der Preis für Vermögenswerte folgt einem normallogarithmischen Verlauf. • Der risikolose Zinssatz r und die Volatilität σ sind bekannt und konstant. • Es gibt keine Transaktionskosten oder Steuern. Alle Wertpapiere sind ohne Einschränkung teilbar. • Vom zugrunde liegenden Vermögenswert erfolgt keine Dividendenzahlung während der Laufzeit der Option. • Es gibt keine Arbitragemöglichkeiten. • Der Handel des Basiswertes erfolgt auf einer kontinuierlichen Basis. • Leerverkäufe sind erlaubt. Es existiert ein vollkommener Kapitalmarkt. Das bedeutet, es gibt keine Transaktionskosten und keine Steuern. 2.2 Black-Scholes Partial Differentialgleichungsmethode Der von uns angenommene Aktienkursprozess ist dS = µSdt + σSdWt , (2.1) f gibt den Marktwert einer Option an und ist vom Aktienkurs und Zeitpunkt abhängig ( f = f (S,t)). µ ist erwartete Rendite. σ ist die Volatilität des Aktienkurses und Wt ist ein 12 Vgl. 13 Vgl. [15, S. 7] [21, S.41] und [6] 2 Black-Scholes-Modell und Vanilla Option Bewertung 12 Wiener-Prozess. Nach der Itô Formel ergibt sich, ∂f ∂f 1 ∂2 f d f = dt + dS + (dS)2 2 ∂t ∂S 2 ∂S ∂f ∂f 1 ∂2 f 2 2 ∂f = + µS + σ S dt + σSdWt . 2 ∂t ∂S 2 ∂S ∂S (2.2) Der Marktwert f und der Aktienkurs S entsprechen dem zugrunde liegenden WienerProzesses. Der Wert des Portfolioes wird mit Π bezeichnet. Das Portfolio setzt sich dabei folgendermaßen zusammen:14 −1 : ∂f + : ∂S Derivate Anteil der Aktien. Der Inhaber verkauft eine Option bei gleichzeitigem Ankauf einer Aktie des gleichen underlying assets. Dieses Portfolio lässt sich durch folgende Gleichung darstellen: Π = −f + ∂f S. ∂S (2.3) Die ∆Π ist die Änderung von Π im Zeitintervall ∆t ∆Π = −∆ f + ∂f ∆S. ∂S (2.4) Aus Gleichung (2.1) und (2.2) ergeben sich: ∂f ∆Π = −∆ f + ∆S ∂S ∂f ∂f 1 ∂2 f ∂f ∂f =− + µS + ∆t − σS∆Wt + [µS∆t + σS∆Wt ] 2 ∂t ∂S 2 ∂S ∂S ∂S ∂ f 1 ∂2 f 2 2 =− + σ S ∆t. ∂t 2 ∂S2 (2.5) Da diese Gleichung kein ∆Wt enthält, ist das Portfolio über den Zeitraum ∆t risikolos. Unter der Voraussetzung, dass die oben beschriebenen Annahmen 3.1 gelten, ergibt sich, dass die momentane Rendite des Portfolioes der anderen kurzfristigen risikolosen Anlage entspricht. ∆Π = rΠ∆t, (2.6) 14 Vgl. [6, S.357] 2 Black-Scholes-Modell und Vanilla Option Bewertung 13 wobei r der risikolose Zinssatz ist. Durch Einsetzen von (2.3) und (2.5) in (2.6) in die Gleichung ergibt sich dann erhalten wir ∂f ∂ f 1 ∂2 f 2 2 + σ S ∆t = r f − S ∆t, ∂t 2 ∂S2 ∂S ∂f ∂ f 1 ∂2 f 2 2 + rS + σ S = r f. ∂t ∂S 2 ∂S2 (2.7) (2.8) Die Gleichung (2.8) ist die Black-Scholes-Merton-Differentialgleichung. 15 Mit den Erweiterungen und Varianten spielt die Gleichung eine wichtige Rolle in dieser Arbeit (Vgl. Kapitel 3). Für die Gleichung (2.8) existieren viele unterschiedliche Lösungen unterschiedlicher Optionen. Ausgehend von diesen Randbedingungen können die Ausgangswerte für ein bestimmtes Derivat zum Zeitpunkt T=0 berechnet werden. Diese Ausgangswerte werden verwendet, um eine Matrix mit den Werten des Derivats zu verschiedenen Zeitpunkten zu bestimmen. Für eine europäische Kaufoption c stellt sich die Randbedingung wie folgt dar: c(S, T ) = max(S − K, 0), falls t = T. (2.9) Ist der Vermögenswerte gleicht Null (S = 0), so ist die Call-Option wertlos: c(0,t) = 0. (2.10) Wenn die Preiserhöhungen der Vermögenswert größer K sind, dann wird die Call-Option stets ausgeübt. Für S → ∞ ist ergibt sich der Wert der Option: c(S,t) ∼ S, falls S → ∞. (2.11) Für eine europäiche Verkaufsoption p lautet die Randbedingung p(S, T ) = max(K − S, 0), falls t = T. (2.12) Die Randbedingung für eine Put-Option bei S = 0 ergibt: p(0, T ) = Ke−r(T −t) . (2.13) Die Randbedingung für eine Put-Option bei S → ∞ ist: p(S, T ) → 0, 15 Vgl. [6, S.358] falls S → ∞. (2.14) 2 Black-Scholes-Modell und Vanilla Option Bewertung 14 Wie in Kapitel 2.2 gezeigt, kann der Wert einer Option mit Hilfe eines Portfolios Π dagestellt werden. Dieses Portfolio ist nur für eine kurze Zeitspanne als risikolos anzusehen. Ändern sich die Aktienkurs S und Zeitpunkt t, so verändern sich auch der Anteil der Aktien ∂∂Sf im Portfolio. Es zeigt sich, dass die Black-Scholes Gleichung (2.8) den Parameter µ nicht mehr enthält. Das heißt der Wert eine Option wird unabhängig davon, wie schnell oder langsam ein Vermögenswert wächst. Der einzige Parameter der stochastischen Differentialgleichung ist somit die Volatilität. Daraus folgt, dass zwei Anleger von unterschiedlichen Werten für ihre erwartete Rendite µ ausgehen können und sich dennoch auf den Wert einer Option einigen. 2.3 Die Black-Scholes Formel für europäische Optionen Bei dem europäische Optionen wird zuerst auf die Vanilla Optionen eingegangen. Für die gelten die folgenden Gleichungen: mit c = S0 N(d1 ) − Ke−rT N(d2 ), (2.15) p = Ke−rT N(−d2 ) − S0 N(−d1 ), (2.16) 2 ln S0 + (r + σ )T d1 = K √ 2 , σ T 2 √ ln SK0 + (r − σ2 )T √ d2 = = d1 − σ T . σ T wobei r der risikolose Zinssatz ist, T stellt den Verfalltszeitpunkt und K den Basispreis dar. Die Gleichung (2.15) zeigt die Formel einer europäische Kaufoption. Die Gleichung (2.16) zeigt die Formel einer europäische Verkaufsoption. Die Funktion N(·) ist die kumulative Verteilungsfunktion einer Standardnormalverteilung. 16 Ist die Preisformel einer Call-Option bekannt, kann unter den gleichen Voraussetzungen durch die Call-Put Parity die Preisformel einer Put-Option berechnet werden. Berücksichtigt man diese Identität, so ergibt sich: N(−d1 ) = 1 − N(d1 ). Die Gleichung (2.15) lässt sich dabei auf zwei unterschiedlichen Wegen nachvollziehen. Eine Möglichkeit kann die Lösung der Black-Scholes partiellen Differentialgleichung (2.8) unter bestimmten Randbedingungen sein. Die andere Möglichkeit ist die Verwendung der risikoneutralen Bewertung. Wenn die partielle Black-Scholes Differentialgleichung die erwartete Rendite µ enthält, dann wird gezeigt, dass sie nicht unabhängig von Risikopräferenzen ist. 16 Vgl. [6, S.361] 2 Black-Scholes-Modell und Vanilla Option Bewertung 15 In der Ableitung von der partiellen Black-Scholes Differentialgleichung kann µ eliminiert werden. Wenn diese Gleichung keine Risikopräferenz enthält, so beeinflusst die Risikopräferenz nicht die Lösung der Gleichung. Für die Bewertung von Vanilla Optionen f können daher beliebige Risikopräferenzen verwendet werden. Es wird angenommen, dass alle Anleger risikoneutral sind. In dieser Situation, da alle Anleger risikoneutral sind, ergibt sich der risikolose Zinssatz r für alle Wertpapiere.17 Unter der Annahme, dass alle Anleger risikoneutral sind, ergibt sich die erwartete Rendit µ nicht aus der Black-Scholes Gleichung. Obwohl der Wert einer Option von der Standardabweichung des Preises für Vermögenswerte abhängig ist, hängt er nicht von seiner Wachstumsrate ab. Die verschiedenen Anleger kommen trotz unterschiedlicher Schätzungen der Wachstumsrate einer Aktie auf den selben Wert für eine Option. Dies bedeutet, dass µ durch r ersetzt wird. Es wird ein europäisches Derivat betrachtet. Die Auszahlung dieses Derivats wird zum Zeitpunkt T berechnet. Durch die Annahme, dass die erwartete Rendite µ dem risikolosen Zinssatz entspricht (µ = r)18 , ergibt sich der Call-Preis durch c = e−rT Ê[max(ST − K, 0)], (2.17) wobei Ê der Erwartungswert in einer risikoneutralen Welt ist. Aus der Gleichung (2.17) lässt sich die Gleichung (2.15) herleiten .(Beweis siehe Anhang) Im Beweis(A.4) im Anhang,wurden die Kosten von KN(d2 ) gleich dem Basispreis K mit der Wahrscheinlichkeit der zukünftigen Basispreisanzahlung multipliziert. S0 e−rT N(d1 ) bedeutet den erwartete Wert zum Zeitpunkt T . Beispiel 2.1. Im Folgenden wird beispielhaft eine Call- und eine Put Option berechnet. Basierend auf der Gleichung(2.15) wurde ein MATLAB Programm eingerichtet (Code siehe Anhang: Code B.7). Es wird hierbei die folgende Funktion verwendet: EuroOptionPricingBS(CallPut,K,S0,T,r,sigma). Dies entspricht dem Beispiel in Hull [6, Beispiel 13.6, S. 364]: Gegeben ist eine Option sechs Monate vor dem Verfallsdatum. Der Aktienkurs beträgt 42 Euro, der Basispreis der Option beträgt 40 Euro, der risikolose Zinssatz liegt bei 0.10 per annum und die Volatilität bei 0.20 per annum. Es gilt also K = 40, S0 = 42, T = 0.5, r = 0.1 und σ = 0.2. Die erste Variable des CallPut Codes bezeichnet den Optionstyp. Dabei beschreibt eine 1 eine Call Option, wobei eine 0 eine Put Option definiert. 17 Vgl. 18 Vgl. [6, S.360] [6, S.360] 2 Black-Scholes-Modell und Vanilla Option Bewertung 16 Für eine Call Option gilt EuroOptionPricingBS(CallPut,K,S0,T,r,sigma) >> EuroOptionPricingBS(1,40,42,0.5,0.1,0.2) ans = 4.7594 Für eine Put Option gilt >> EuroOptionPricingBS(0,40,42,0.5,0.1,0.2) ans = 0.8086 In diesen Abschnitt wird die numerische Lösung mit der Monte-Carlo-Simulation dargestellt. Die Monte-Carlo-Simulation verwendet die Zufallszahlen, um eine Vielzahl verschiedener Pfade zu untersuchen in einer risikoneutralen Welt. Für jeden Pfad wird die Auszahlung berechnet und mit dem risikolosen Zinssatz r diskontiert. Dann wird der Mittelwert von der diskontierten Auszahlung berechnet, dieser Wert entspricht dem geschäzten Wert des Derivats.19 Es wird die Monte-Carlo-Simulation zur numerischen Lösung der Bewertungsformel verwendet, sowohl für die Call- als auch für die Put-Option. Diese Methode basiert auf (2.17): c = e−rT Ê max[ST − K, 0], p = e−rT Ê max[K − ST , 0], wobei ST den aktuellen Aktienkurs (underlying) und K den Ausübungspreis bezeichnet und r den risikolosen Zinssatz darstellt. Die Simulation läuft in vier Schritten ab: 1. Es wird n-mal eine experimentelle Simulation für die Basispreise STi , i = 1, 2, . . . , n, in dem Zeitpunkt T (mit r ersetzt µ) durchgeführt; 2. die Auszahlung des Preises von jedem Assetpreis f i wird berechnet. Für eine Call Option gilt f i := max[STi − K, 0]. Für eine Put Option gilt f i := max[K − STi , 0]. 19 [6, S.517] 2 Black-Scholes-Modell und Vanilla Option Bewertung 17 3. der Mittelwert der Auszahlung n wird experimentell berechnet: 1 n f¯ := ∑ f i . n i=1 4. der Basiswert von dem Mittelwert der Auszahlung wird berechnet: ĉ := e−rT f¯. Dann ergibt sich für ĉ der approximierte Call Preis . Wenn bei der Gleichung(1.7) µ durch r ersetzen wird. So ergibt sich folgende Gleichung: ST = S0 exp σ2 r− T + σWT . 2 Der Preis des Aktienkurses ST folgt einer Logarithmishcen Normalverteilung . Beispiel 2.2. Durch das folgenden Programm (siehe im Anhang Code B.5) kann eine zufällige Matrix erzeugt werden, die von der Monte-Carlo Simulation verwendet wird. Diese m × n Matrix soll als random Matrix bezeichnet werden. Der MATLAB Code für die Bewertung von einer europäische Call- oder Put Option steht im Anhang Code B.6. UnderlyingAssetBSModel(S0,T,r,sigma,m,n) Es wird von der Situation wie im Beispiel 2.1 ausgegangen. In diesem Fall ist S0 = 42, T = 0, 5, r = 0, 1, σ = 0, 2 und K = 40. In der Funktion von Code B.6 sei die Anzahl der Experimente n (n = 10000000). Je höher die Anzahl, desto näher liegt das Ergebnis bei der exakten Lösung (Black-Scholes-Modell). für eine Call Option: EuroOptionPricingMCBSModel(CallPut,S0,T,r,sigma,K,n) >> EuroOptionPricingMCBSModel(1,42,0.5,0.1,0.2,40,10000000) ans = 4.7569 für eine Put Option: >> EuroOptionPricingMCBSModel(0,42,0.5,0.1,0.2,40,10000000) ans = 0.8080 2 Black-Scholes-Modell und Vanilla Option Bewertung 18 Die Monte-Carlo-Simulation berechnet den Zeitraum vom Beginn der Laufzeit vorwärts bis zur Fälligkeit des Derivats. Da die Effizienz der Monte-Carlo-Simulation bei eine steigende Anzahl der zugrundeliegenden Variablen wächst, kann diese somit auch für die Berechnung des Wertes von Derivaten des europäischen Types verwendet werden. 20 20 [6, S.517] 3 Barrier Option 3 19 Barrier Option Die Barrier Option ist eine Form der exotischen Optionen. Bei Hull [6, Kapital 22] werden verschiedene Arten von exotischen Optionen und ihre Bewertung diskutiert. Die Barrier Option sind bei die Auszahlung davon abhängnt, ob der Preis des Underlyings in einem bestimmten Zeitrau eine bestimmte Schwelle erreicht. 21 Durch den Handel von Barrier Optionen, kann der Anleger mit wenig Geld einen großen Profit erlangen. Der Anleger muss nur wenig in die Aktien oder den Basiswert investieren, kann aber überproportional von dem Kursgewinn des Basiswerts profitieren. Das ist mit der Hebelwirkung zu erklären. Die Hebelwirkung ist das Verhältniss aus dem Bezugswert der Option und des Aktienkurses. 22 ”Der wesentlicher Vorteil der Barrier Option liegt darin, dass sie ein effizientes und flexibles Instrument zur Renditesteigerung und Risikominimierung bereitstellen. Ein Marktteilnehmer kann seine gewünschte Rendite- und Risikostruktur exakt modellieren.”23 Der Markt für Barrier Optionen hat sich schnell entwickelt. Die Anleger die sich in diesen Markt befinden, müssen wissen, wie diese Optionen funktionieren, wie sie genutzt werden können und wie der Preis diesen Option bestimmt wird. Um die Barrier Option zu analysieren, muss eine Optionsbewertung durchgeführt werden. Einer der einfachen und weithin akzeptieren Ansätze zur Optionsbewertung wurde von Merton (1969,1973) und Black-Scholes (1973) entwickelt. 3.1 Eigenschaften der Barrier Option Um die Eigenschafe einer Barrier Option aufzuzeigen, muss diese in verschiedenen Gruppen klassifiziert werden. Außer der Barrier Option, gibt es viele unterschiedliche Arten von Exotic Optionen:24 • time-dependant barrier Options (zeitabhängige Barrier Option); • Asia barrier option ; • Dual-barrier option (duale Barrier Option); • Forward-star barrier options; • Window- or limited-time barrier option (Fenster oder zeitbeschränkte/limitierte Barrier Option). 21 [6, S.640] S.93] 23 [13] 24 Vgl. [22, S.204] 22 Vgl.[17, 3 Barrier Option 20 Barrier Optionen können in ”Knock-in” oder ”Knock-out” Option unterteilt werden. Knock-out-Optionen: Optionen wird deaktiviert, wenn eine gewisse vorgegebene Barrier innerhalb der Laufzeit erreicht wird. Knock-in-Optionen: Optionen wird aktiviert, wenn eine gewisse vorgegebene Barrier innerhalb der Laufzeit erreicht wird, sonst verfällt sie. Eine Knock-in Option ist dadurch charakterisiert, dass wenn der aktuelle Aktienpreis eine bestimmte Barrier berührt, diese Option ausgeübt wird. Eine Knock-Out Option verfällt, wenn der aktuelle Aktienpreis eine bestimmte Barrier erreicht hat. Eine Barrier Option ist billiger als eine Vanilla Option, dies wird in der Gleichung (3.1) gezeigt. Der Definitionsbereich D gibt an in welche Bereich eine Barrier Option existiert. Wenn der Aktienpreis unterhalb der Barrier ist, dann handelt es sich um eine ”up” Option. Weil sich der Aktienkurs nach oben bewegen muss, bis die Barrier berührt werden, damit wird die Barrier Option aktiviert (Knock-in) oder verfällt (Knock-out): D = {(S,t)|0 6 S 6 H, 0 6 t 6 T }, Ist der Aktienpreis höher als die Barrier, handelt es sich um eine ”down” Option. Der Aktienkurs muss sich nach unten bewegen, bis die Barrier berührt wird, damit die Option aktiviert (Knock-in) oder verfällt (Knock-out): D = {(S,t)|H 6 S 6 ∞, 0 6 t 6 T }, Angenommen die Randbedingung (S = H) wird erreicht. Dann ergibt sich, für die ”out” Option, dass der Optionspreis gleich 0 ist: f (H,t) = 0, Für die ”in” Option, ist der Optionspreis gleich dem entsprechenden Vanilla Optionspreis: f (H,t) = fvanilla (H,t). Zum Fälligkeit t = T ergibt sich die folgende Optionswert. knock-out call ( 0 6 S 6 H up, + f (S, T ) = (S − K) H 6 S 6 ∞ down. knock-in call ( f (S, T ) = 0 06S6H up, H 6 S 6 ∞ down, 3 Barrier Option 21 knock-out put ( + f (S, T ) = (K − S) 06S6H up, H 6 S 6 ∞ down. knock-in put ( f (S, T ) = 0 06S6H up, H 6 S 6 ∞ down. Insgesamt gibt es acht Formen von Barrier Optionen, die auch wie folgt geschrieben werden können: ( Knock-out Down-and-out: ( Knock-out Up-and-out: Knock-in Down-and-in: (ST − K)+ 1{St >H, t∈[0,T ]} (call), (K − ST )+ 1{St >H, t∈[0,T ]} (put), (ST − K)+ 1{St <H, t∈[0,T ]} (call), (K − ST ) 1{St <H, t∈[0,T ]} (put), + ( (ST − K)+ (1 − 1{St >H, t∈[0,T ]} ) (call), (K − ST )+ (1 − 1{St >H, t∈[0,T ]} ) (put), ( Knock-in Up-and-in: (ST − K)+ (1 − 1{St <H, t∈[0,T ]} ) (call), (K − ST )+ (1 − 1{St <H, t∈[0,T ]} ) (put). Wobei 1ω (S) eine Indikatorfunktion mit die Menge ω ist: ( 1ω (S) = 1, falls S ∈ ω, 0, sonst. Wenn die Auszahlung der Vanilla Option (ST − K)+ oder (K − ST )+ ist, dann erhält man folgenden Ausdruck: Auszahlung von Knock-out + Auszahlung von Knock-in = Auszahlung von Vanilla Option. Die Beziehung zwischen dem Preis der Barrier Option und dem Preis der entsprechenden Vanilla Option ist:25 fvanilla (S,t) = fup−and−in (S,t) + fup−and−out (S,t) = fdown−and−in (S,t) + fdown−and−out (S,t). (3.1) Diese Beziehung zeigt, dass eine Barrier Option billiger als eine Vanilla Option ist. Zum Beispiel wird eine eine europäische Call Up Option wie folgt abgeleitet. 25 Vgl. [10, S.248] 3 Barrier Option 22 Für eine europäische Call up Option gilt fvanilla (S,t) =(ST − K)+ =(ST − K)+ 1{St <H, t∈[0,T ]} + (1 − 1{St <H, t∈[0,T ]} ) =(ST − K)+ 1{St <H, t∈[0,T ]} + (ST − K)+ (1 − 1{St <H, t∈[0,T ]} ) = fup−and−in (S,t) + fup−and−out (S,t). Unabhängig davon, ob der Assetpreis die Barrier erreicht oder nicht, ist die Aussage immer korrekt. Ein Hauptmerkmal der Knock-out Barrier Option ist eine bestimmte “Knock-out Schwelle”. Der Anleger verliert sein investiertes Kapital, wenn der Wert des Basisobjekts erreicht oder die Grenze unterschritten wird. Das heißt, wenn der Aktienkurs auf die Knock-outSchwelle trifft, ist auch die Option wertlos. Dies gilt für eine Knock-in Barrier Option entsprechend umgekehrt. Der Vorteil der Barrier Option ist, dass man weniger investieren muss, aber einen größeren Profit erhalten kann. Der Anleger kann sehr schnell nach Kurssteigerungen (im Falle von Call) oder Kursverfall (im Falle von Put) profitieren, weil bei dieser speziellen Optionsform mit einer Hebelfunktion gearbeitet wird. So steigt zum Beispiel der Preis einer Call-Option bei einem Anstieg des zugrunde liegenden Aktienkurses um eine Geldeinheit in der Regel um weniger als eine Geldeinheit an. Der Wachstungsprozess der Call-Option liegt über dem der Aktien. Das wird als “Hebeleffekt” genannt. Das ist das Verhältniss aus dem Bezugswert der Call-Option und des Aktienkurs. 26 3.2 Black-Scholes-Modell zur Optionsbewertung Sei St der Kurs des Basiswertes zum Zeitpunkt t und sei K der Ausübungspreis. Wenn τ = inf{t > 0 : St ≤ K}, gilt, dann ergibt sich für die Auszahlung der Option für die Ablaufzeit T folgendes: 27 0, ∃τ : Sτ ≤ K für τ ≤ T ; c = (St , K)+ 1{τ>T } = ST − K, sonst, wobei 1{.} die Indikator-Funktion ist. Eine europäische Put-Option hat folgenden Auszahlung. p = (K − St )+ 1{τ>T } , Wobei τ = inf{t > 0 : St ≥ K}. Im Folgenden wird die Call Option betrachtet. 26 Vgl.[17, 27 Vgl. S.93] [11, S.5] 3 Barrier Option 23 Es wird angenommen, dass der Kurs des Basiswertes einem kontinuierlichen Pfad folgt, der unabhängig von den Verteilungsannahmen des Optionsbewertungsmodells ist. Im Black-Scholes Modell folgt die dividendenlose Auszahlung des Kurses des Basiswerts der geometrischen Brownschen Bewegung: dSt = µSt dt + St dWt , wobei W (t) ein Standard Wiener Prozess ist. Die erwartete Rendite µ und die Volatilität σ sind konstant. Darüber hinaus ist der Zinssatz r konstant. Solange die Knock-outSchwelle nicht berührt wurde, erfüllt der Preis für eine Call Option folgende Gleichung f = f (St ,t). Die partielle Differentialgleichung (PDE) lautet wie folgt: ∂f 1 ∂2 f ∂f + rS + S2 σ2 2 − r f = 0. ∂t ∂S 2 ∂S Die Auszahlung für die Endbedingung: f (T, ST ) = ST − K. Unter der Randbedingung: f (τ, S(τ)) = 0, mit S(τ) = K, 0 ≤ τ ≤ T. ergibt sich das Standard dynamische Replikations Argument. Auf Grund dieses Arguments haben Rubinstein/Reiner(1991), Carr (1995) die folgende Black-Scholes-Modell zur Optionsbewertung zur Berechnung der PDE erstellt:28 z1 z2 K K −rT c = S0 N(d1 ) − N(d3 ) − K e N(d2 ) − N(d4 ) . S0 S0 mit d1 , d2 in (2.3), und ln(K/S0 ) + (r + σ2 )T √ , σ T √ ln(K/S0 ) + (r − σ2 )T √ d4 = = d3 − σ T , σ T 1 2 r + 2σ z1 = 2 , σ2 r − 21 σ2 z2 = 2 , σ2 d3 = (3.2) wobei N(·) die kumulative Verteilungsfunktion einer Standardnormalverteilung ist. In folgende Abschnitt wird nähr auf die Barrier Optionsbewertung mit dem Black-ScholesModell Modell eingegangen. 28 Vgl. [11, S.8] 3 Barrier Option 3.3 24 Black-Scholes-Modell zur europäische Barrier Optionsbewertung Soll der Marktpreis einer Barrier Option berechnet werden, so kann mittels des Partial differential Gleichungsmodells die Lösung erarbeitet werden. Die Barrier Option unterscheidet sich von der Standard Option dadurch, dass eine Barrier vorhanden ist. Deshalb müssen bei der Bewertung von Barrier Optionen auch die Randbedingung mit interpretiert werden. Für ein Barrier Option gibt es einen Definitionsbereich und die Randbedingung.29 Zum Zeitpunkt t = T existieren verschiedene Möglichkeiten: (Vgl. Kapitel 3.1) Alle Barrier Optionen erfüllen die Voraussetzungen der Black-Scholes-Merton Differentialgleichung (2.8): ∂ f 1 ∂2 f 2 2 ∂f + rS + σ S = r f. ∂t ∂S 2 ∂S2 Wie diese Lösung für eine Barrier Option zu finden, wird nachfolgend erläutert. In dem Definitionsbereich D (D = {H 6 S < ∞, 0 6 t 6 T }) (Vgl. Kapitel 3.1) gelten, für eine europäische die Down-and-out Call Option die folgenden drei Formeln:30 ∂ f 1 ∂2 f 2 2 ∂f + rS + σ S =rf ∂t ∂S 2 ∂S2 f (S, T ) = (S − K)+ , f (H,t) = 0, (D) (3.3) (H 6 S < ∞) (3.4) (0 6 t 6 T ) Es wird eine Lösung für die Gleichung (3.3), (3.4), und (3.5) gesucht. Dazu wird S x = ln , H f = Hu. (3.5) (3.6) transformiert, dann erhält man HS = ex , S = Hex und u = Hf . Wobei u die Nuntzenfunktion ist. Dann ergibt sich daraus folgende Gleichung: ∂u 1 2 ∂2 u 1 ∂u + σ 2 + (r − σ2 ) − ru = 0, ∂t 2 ∂x 2 ∂x u(x, T ) = (ex − KH )+ , u(0,t) = 0. hier ist KH = 29 Vgl. 30 Vgl. K H. [10, S.249] [10, S.251] (x ∈ R+ , 0 6 t 6 T ) (0 < x < ∞) (0 6 t 6 T ) (3.7) (3.8) (3.9) 3 Barrier Option 25 Nun wird die Funktion W (Wiener Prozess) in die Funktion u(x,t) eingesetzt: u = eαx+β(T −t)W, wobei (3.10) 1 σ2 α = − 2 r− , σ 2 2 1 σ2 β = −r − 2 r − . 2σ 2 Die Gleichung (3.10) wird in die Gleichungen (3.7), (3.8) und (3.9) eingesetzt. Dann erhalt man die folgende Gleichung: ∂W 1 2 ∂2W + σ = 0, ∂t 2 ∂x2 (3.11) x −K )+ , H W (x, T ) = e−αx(e (3.12) W (0,t) = 0. (3.13) Nachdem die Funktion W (x,t) und u(x,t) berechnet wurde, werden sie zurück in f (S,t) transformiert. Dann erhält man die Lösung der Patiellen-Differenzen-Gleichung:31 f (S,t) = SN(d1 (t)) − Ke−r(T −t) N(d2 (t)) − 2r2 σ S 1− 2r S N(d3 (t)) − Ke−r(T −t) ( ) σ2 N(d4 (t)), −H H H wobei (3.14) 2 ln S + (r + σ )(T − t) d1 (t) = K p 2 , σ (T − t) 2 √ ln KS + (r − σ2 )(T − t) p d2 (t) = = d1 (t) − σ T − t, σ (T − t) H2 (3.15) σ2 ln SK + (r + 2 )(T − t) p , σ (T − t) √ d4 (t) = d3 (t) − σ T − t. d3 (t) = Der Unterschied zwischen d1 (t) und d3 (t) besteht darin, dass S durch 31 Die Beweise siehe [10, S.251] dass t eine beliebige Zeitpunkt zwischen [0, T ]. 32 Angenommen, H2 S ersetzt wurde.32 3 Barrier Option 26 Es wird die Gleichung (3.14) abgeleitet und man bekommt dadurch die folgende Lösung: S 1− 2r2 S − 2r2 −r(T −t) ( ) σ N(d4 (t)) f (S,t) = fvanilla (S,t) − H( ) σ N(d3 (t)) + Ke H H − 2r2 ! σ S S H · N(d3 (t) + Ke−r(T −t) N(d4 (t)) = fvanilla (S,t) − H H 2r − 2 +1 2 ! (3.16) σ H S = fvanilla (S,t) − · N(d3 (t)) + Ke−r(T −t) N(d4 (t)) H S − 2r2 +1 2 σ S H ,t . = fvanilla (S,t) − fvanilla H S Diese Gleichung (3.16) zeigt, dass f (S,t) < fvanilla (S,t) ist. D.h. eine Down-and-out Call Barrier Option ist billiger als eine Vanilla Option. Auf Grund der Annahme t = 0, d1 = d1 (0) ergibt sich diese Bewertungsformel für einen Down-and-out Call cdo : cdo =SN(d˜1 ) − Ke−rT N(d˜2 ) 1− 2r2 − 2r2 σ σ S S −rT ˜ N(d3 ) − Ke N(d˜4 ), −H H H wobei (3.17) 2 ln S + (r + σ )T d˜1 = K √ 2 , σ T 2 √ ln S + (r − σ )T d˜2 = K √ 2 = d1 − σ T , σ T 2 2 2 2 ln H + σ2 )T SK + (r ˜ √ d3 = , σ T d˜4 = (3.18) √ ln H − σ2 )T SK + (r √ = d3 − σ T . σ T Auf Grund der bereits bekannten Beziehung bei (3.1) erhält man: − 2r2 +1 2 σ S H cdi (S,t) = cvanilla ,t . H S (3.19) Gleichermaßen kann die Bewertung der Formel für cuo (S,t) und cui (S,t) abgeleitet werden. Um die Bewertungsformel für eine Put Barrier Option zu erhalten, wird die Call-PutParity genutzt. 3 Barrier Option 27 Für eine Down-and-out Option, ergibt sich die folgende Call-Put-Parity: Der Beweis hierfür kann auch bei Jiang ([10, S.253]) nachvollzogen werden. pdo + SN(dˆ1 ) =cdo + Ke−rT N(dˆ2 ) − 2r2 +1 2 σ S H −rT + · N(dˆ3 ) − Ke N(dˆ4 ) , H S wobei (3.20) 2 ln HS + (r + σ2 )T ˆ √ d1 = , σ T √ dˆ2 = dˆ1 − σ T , 2 dˆ3 = ln HS + (r + σ2 )T √ , σ T (3.21) 2 √ ln H + (r − σ )T dˆ4 = S √ 2 = dˆ3 − σ T . σ T Durch die Beziehung zwischen In und Out, Call und Put, ergeben sich alle Formeln zur Berechnung von Barrier Optionen (Vgl. Kapitel 2.4). Beispiel 3.1. Barrier Down-and-out Put Option In diesem Beispiel wird eine Down-and-out Barrier Put Option berechnet. Die Idee dabei ist, die Black-Scholes-Fomel mit einer großen Anzahl an Wiederholungen durchzurechnen, mit Hilfe der Monte Carlo Simulation. (Verwendet wurde der Code B.17.) In dem folgenden Beispiel wurde mit 10000 Wiederholungen gerechnet. (Angaben über Down-and-out S0 = 50, K = 50, r = 0.4, σ = 0.4 und H = 40.) Je größer die Anzahl der Wiederholungen ist, desto näher liegt das Ergebnis bei dem realen Wert. Der Nachteil dabei ist, dass die Kalkulation bei einer hohen Anzahl von Wiederholungen sehr langsam und kompliziert wird. BarrierOption_MC_DO(CallPut,S0,K,r,sigma,H,T,nTime,nPath) >> BarrierOption_MC_DO(0,50,50,0.1,0.4,40,5/12,10000,10000) ans = 0.5677 Daraus ergibt sich eine Wert für die Down-and-out Option von 0.5677. In diesem Abschnitt werden alle Barrier Options Formeln mit dem Black-Scholes-Modell zusammengefasst. Mit diesen Formel können die Werte von allen verschiedenen Barrier Optionen berechnet werden. Es werden acht Formeln zur Berechnung von Barrier Optionen vorgestellt. Für jede dieser Formeln existieren jeweils zwei Ausprägungen. Die Barrier kann kleiner oder gleich dem Ausübungspreis K sein, sie kann aber ebenfalls größer als der Ausübungspreis K sein. In den folgenden Gleichungen wird Normalverteilung N(·) angenommen, um die 3 Barrier Option 28 Verteilungsfunktion der Standardnormalverteilung zu beschreiben. Die Barrier wird gekennzeichnet als H . Zur Lösung der Black-Scholes PDE können sowohl analytische als auch numerische Verfahren verwenden werden. Bei Verwendung des analytischen Verfahrens wird mit Variablen gerechnet, es kann aber nur für die europäische Option eingesetzt werden. Mit dem numerischen Verfahren können sowohl die amerikanische als auch die europäische Option bewertet werden. Es wird im folgenden das analytische Verfahren angewandt. Für die Bewertung der Barrier Option werden dabei folgende Gleichungen verwendet. (Code B.9) 33 Es wird von dividendenlos Aktien ausgegangen, daher gilt q = 0. Es wird vom Betrachtungszeitpunkt t = 0 ausgegangen: 1. Down-and in Call Für K > H gilt cdi = Sb (1 − N(d8 )) − Ke−rT a (1 − N(d7 )) . Für K < H gilt cdi = S (N(d1 ) − N(d3 ) + b(1 − N(d6 )) − Ke−rT (N(d2 ) − N(d4 ) + a(1 − N(d5 ))) . 2. Down-and-out Call Für K > B gilt cdo = S(N(d1 ) − b(1 − N(d8 ))) − Ke−rT (N(d2 ) − a(1 − N(d7 ))). Für K < B gilt cdo = S(N(d3 ) − b(1 − N(d6 ))) − Ke−rT (N(d4 ) − a(1 − N(d5 ))). 3. Up-and-out Call cuo = S(N(d1 )−N(d3 )−b(N(d6 )−N(d8 )))−Ke−rT (N(d2 )−N(d4 )−a(N(d5 )−N(d7 ))). 4. Up-and-in Call cui = S(N(d3 ) + b(N(d6 ) − N(d8 ))) − Ke−rT (N(d4 ) + a(N(d5 ) − N(d7 ))). 5. Down-and-in Put pdi = −S(1 − N(d3 ) + b(N(d8 ) − N(d6 ))) + Ke−rT (1 − N(d4 ) + N(d7 ) − N(d5 )). 33 [19, S.407] 3 Barrier Option 29 6. Down-and-out Put pdo = −S(N(d3 )−N(d1 )−b(N(d8 )−N(d6 )))+Ke−rT (N(d4 )−N(d2 )−a(N(d7 )−N(d5 ))). 7. Up-and-out Put Für K > B gilt puo = −S(1 − N(d3 ) − bN(d6 )) + Ke−rT (1 − N(d4 ) − aN(d5 )). Für K < B gilt puo = −S(1 − N(d1 ) − bN(d8 ))) + Ke−rT (1 − N(d2 ) − aN(d7 )). 8. Up-and-in Put Für K > B gilt pui = −S(N(d3 ) − N(d1 ) + bN(d6 )) + Ke−rT (N(d4 ) − N(d2 ) + aN(d5 )). Für K < B gilt pui = −SbN(d8 ) + Ke−rT aN(d7 ). wobei −1+ 2(r−q) σ2 H a= , S 1+ 2(r−q) σ2 H b= , S 2 ln KS + (r + σ2 )T √ , d1 = σ T 2 √ ln S + (r − σ )T d2 = K √ 2 = d1 − σ T , σ T 2 ln S + (r + σ )T d3 = H √ 2 , σ T 2 √ ln S + (r − σ )T d4 = H √ 2 = d3 − σ T , σ T 2 ln S − (r − σ )T d5 = H √ 2 , σ T 2 √ ln S − (r + σ )T d6 = H √ 2 = d5 − σ T , σ T 2 SK σ ln H 2 − (r − 2 )T √ d7 = , σ T 2 √ ln SK2 − (r + σ2 )T √ d8 = H = d7 − σ T . σ T 3 Barrier Option 30 Beispiel 3.2. In diesem Beispiel wird eine Down-and-out Put Option betrachtet. Die Bewertung erfolgt mit dem Black-Scholes-Modell. Es soll dabei die obige Formel verwendet werden. Annahme S = 50, K = 50, r = 0.1,T = 5/12,σ = 0.4 und H = 40. Der Wert von der Barrier Option ist 0.5424. Für den MATLAB Code siehe Anhang Code B.9. % EuroOptionBarrierForm(CallPut,UpDown,InOut,K,S,H,T,r,sigma) >>EuroOptionBarrierForm(0,0,0,50,50,40,5/12,0.1,0.4) ans = 0.5424 Mit Black-Scholes Modell kann durch wenige Daten der Wert von Optionen bestimmt werden. Wenn die Menge der Daten jedoch zu groß, oder die Optionen zu komplex sind, beispielsweise im Falle einer Barrier Option, kann mit numerischen Verfahren weitaus effektiver gerechnet werden als mit analytischen Verfahren. Das numerische Verfahren spielt für die Optionsbewertung in der Praxis der modernen quantitativen Finanzwirtschaft eine große Rolle. Selbst wenn analytische Formeln zur Optionsbewertung verfügbar sind, finden numerische Verfahren oder Methoden in der Praxis häufiger Verwendung. Es existiert eine große Anzahl Literatur in der numerische Methoden behandelt werden. (Jiang [10], Hull [7, Chapter 17], Brandimarte [2], Tavella und Randall [16] für FDM, und Jäckely [9] on Monte Carlo methods.) 4 Finite-Differenzen-Methode 4 31 Finite-Differenzen-Methode Der Preis für Finanzderivate, wie Vanilla und Barrier Optionen ergibt sich aus den Lösungen von einer partiellen Differentialgleichung unter bestimmte Randbedingungen. Daher ist die Finite-Differenzen-Methode (FDM) für die numerische Lösung partieller Differentialgleichungen ein in der Praxis oft verwendetes Werkzeug. In diesem Kapitel wird die Finite-Differenzen-Methode vorgestellt. Die Finite Differenzen Methode ist ein numerischen Verfahren. Die anderen numerischen Verfahren sind Monte-Carlo-Simulationen und Binomialbäume. Die Finite-Differenzen-Methode lässt sich in die implizite (Kapitel 4.3) und explizite (Kapitel 4.4) Finite Differenzen Methode und die Crank-Nicolson-Methode (Kapitel 4.5) unterteilen. Mit der Finite-Differenzen-Methode können amerikanische und europäische Optionen bewertet werden. Dies ist im Vergleich zur Black-Scholes Gleichung vorteilhaft, da die Black-Scholes Gleichung nur zur Analyse von europäischen Option eingesetzt wird. Der Fokus dieses Kapitels liegt in erster Linie auf den europäischen Optionen. Als erstes wird eine Vanilla Option bewertet. Die Bewertung amerikanische Optionen ist kompliziert, da diese jederzeit angekauft oder verkauft werden können. Für jedes Verfahren wird durch die numerische Lösung der konkrete Wert bestimmt. 4.1 Einleitung in die Finite-Differenzen-Methode Die Finite-Differenzen-Methode bestimmt durch die partielle (oder gewöhnliche Differentialgleichung) Gleichung die numerische Lösung des Problems. Die Finite-DifferenzenMethoden bewertet ein Derivat, indem sie die Differentialgleichung, die dem Preis des Derivats genügt, löst.34 Die Finite-Differenzen-Methode ist eine numerische Lösung. Deren Grundidee besteht darin, zunächst den Problembereich in Netzstruktur zu generieren und im nächsten Schritt den Gitterpunkt, durch die entsprechende Formel für die numerische Differenzierung zu ermitteln. Die Finite-Differenzen-Methode ist einfach und flexibel auf dem Computer zu implementieren. Die Finite-Differenzen-Methode bewertet ein Derivat, indem sie die Differentialgleichung löst, die den Preis des Derivats erfüllt.35 34 Vgl. 35 [7, [6, S.506] S. 506] 4 Finite-Differenzen-Methode 32 St Smax (i, j + 1) (i − 1, j) j∆S (i, j) (i + 1, j) (i, j − 1) 2∆S ∆S 0 ∆t 2∆t i∆t T t Abbildung 4.1: Gitter der Finite-Differenzen-Methode Es wird angenommen, dass T die Laufzeit der Option ist und definieren ∆t = NT . In dem Zeitraum von [0, T ] gibt es insgesamt N + 1 Zeitpunkte: 0, ∆t, 2∆t, ..., N∆t = T. Es wird ein maximaler Aktienkurs Smax angenommen, dass der Aktienkurs S diesen nie erreicht. Smax wird in M gleich große Intervalle ∆S = Smax /M aufgeteilt. Es gibt insgesamt M + 1 äquidistante Aktienkurse: 0, ∆S, 2∆S, ..., M∆S = Smax . Das Niveau Smax ist so gewählt, dass der gegenwärtigen Aktienkurs genau auf einer Gitterlinie liegt. 36 Die Zeitpunkte und die Aktienkurse bilden ein Gitter wie die Abbildung 4.1 darstellt. [0, T ] × [0, Smax ] werden als (N + 1) · (M + 1) Punkte verteilt. Der Punkt (i, j) des Gitters entspricht (i∆t, j∆S), der Zeit i∆t und dem Aktienkurs j∆S. Am Punkt (i, j) wird den Optionswert definieren fi, j = f ( j · ∆S, i · ∆t). Nach diese kurzen Einleitung wird jetzt die Lösung mit der Finite-Differenzen Approximation vorgestellt. 36 [6, S.506] 4 Finite-Differenzen-Methode 4.2 33 Finite-Differenzen-Approximation Wenn die Finite-Differenzen-Approximation angewendet werden soll, müssen die Werte der nachfolgende Gleichung (2.8) approximiert werden. Diese Differentialgleichung gilt für alle Optionen. ∂ f 1 ∂2 f 2 2 ∂f + rS + σ S = r f. ∂t ∂S 2 ∂S2 wobei r der risikolose Zinssatz und σ ist die Volatilität. Die Dividendenrendite ist q = 0. Diese Gleichung hat folgende Eigenschaften:37 • sie ist zweiter Ordnung, • sie ist linear, • sie ist eine Parabolische Gleichung. Alle diese Eigenschaften entsprechen der Klassifikation von partiellen Differentialgleichungen. Der Finite-Differenzen-Methode liegt der Gedanke zugrunde, dass die Derivate durch die partiellen Differentialgleichungen bestimmt werden, in dem die Finite-DifferenzenApproximationen angewendet wird. 38 Beispielsweise kann die partielle Ableitung ∂∂tf durch unterschiedliche Einschränkungen definiert werden ∂f f (S,t + ∆t) − f (S,t) = lim . ∂t ∆t ∆t→0+ (4.1) Wenn ∆t sehr klein ist, dann ∂f f (S,t + ∆t) − f (S,t) ≈ . ∂t ∆t (4.2) Dies nennt man eine Finite-Differenzen-Approximation. Das Intervall der Zeit ∆t ist klein, aber nicht infinitesimal. Die Gleichung (4.2) wird vorwärts gerichtete Differenzen Approximation genannt, da die Differenzierungsrichtung Vorwärts zu t ist. Es werden nur die Werte t und t + ∆t von f verwendet. Für die rückwärts gerichtete Differenzen Approximation ergibt sich die Gleichung (4.4): ∂f f (S,t) − f (S,t − ∆t) = lim . + ∂t ∆t ∆t→0 (4.3) Wenn ∆t sehr klein ist, dann gilt ∂f f (S,t) − f (S,t − ∆t) ≈ . ∂t ∆t 37 [5, S. 290] [21, S. 269] 38 Vgl. (4.4) 4 Finite-Differenzen-Methode 34 Es wird der Durchschnittswert berechnet . Dies ist eine symmetrische Approximation. ∂f f (S,t + ∆t) − f (S,t − ∆t) = lim . ∂t 2∆t ∆t→0+ (4.5) Wenn ∆t sehr klein ist, dann gilt f (S,t + ∆t) − f (S,t − ∆t) ∂f ≈ . ∂t 2∆t (4.6) f zentral-symetrische Vorwärts Rückwärts 0 t − ∆t t t + ∆t t Abbildung 4.2: Vorwärts-, Rückwärts- und Zentral-Differenzen-Approximation, Quelle: [21, S.137] Abbildung 4.2 zeigt, die vorwärts-, rückwärts- und symmetrische Approximationen. Die Steigungen der Linien stellen eine Approximiation an die Tangente dar (S,t). Dies wird mit einem kleiner werdenden ∆t immer genauer. Die patielle Ableitung S, det. z.B. da oder oder ∂f ∂S und ∂2 f ∂S2 wird auch am Stelle der finiten Differenzen verwen- f (S + ∆S,t) − f (S,t) ∂f = lim , + ∂S ∆t→0 ∆S (4.7) ∂f f (S,t) − f (S − ∆S,t) = lim , + ∂S ∆t→0 ∆S (4.8) ∂f f (S + ∆S,t) − f (S − ∆S,t) = lim , + ∂S ∆t→0 2∆S (4.9) ergibt sich für die Vorwärts-Differenzen-Approximation folgendes: ∂f f (S + ∆S,t) − f (S,t) ≈ . ∂S ∆S (4.10) 4 Finite-Differenzen-Methode 35 für die Rückwärts-Differenzen-Approximation er gibt sich: ∂f f (S,t) − f (S − ∆S,t) ≈ . ∂S ∆S (4.11) und für die symmetrische Approximation: f (S + ∆S,t) − f (S − ∆S,t) ∂f ≈ . ∂S 2∆S (4.12) Um die zweite Ableitung des zu Grunde liegende Underlyings, wie beispielsweise zu ermitteln, wird zunächst die Vorwärts-Differenzen-Approximation für die Rückwärts-Differenzen-Approximation für symmetrische Approximation.39 ∂2 f ≈ ∂S2 ≈ ∂2 f ∂S2 ∂f ∂S ∂2 f ∂S2 und danach verwendet. Folglich erhält men eine ∂f ∂f ∂S (S,t) − ∂S (S − ∆S,t) ∆S f (S+∆S,t)− f (S,t) ∆S − f (S−∆S+∆S,t)− f (S−∆S,t) ∆S (4.13) ∆S f (S + ∆S,t) − 2 f (S,t) + f (S − ∆S,t) ≈ . ∆S2 2 Die Approximationsgleichungen von ∂∂tf , ∂∂Sf und ∂∂S2f werden in (2.8) eingesetzt und die Ergebnisse im Anschluss mittels der impliziten (Kap. 4.3) und expliziten (Kap. 4.4) FiniteDifferenzen-Methode interpretiert. 4.3 4.3.1 Die implizite Finite-Differenzen-Methode Standard Option Bewertung Es wird die Approximationsgleichung (4.2), (4.12) und (4.13) in (2.8) eingesetzt und man erhält: f (S,t + ∆t) − f (S,t) f (S + ∆S,t) − f (S − ∆S,t) + rS · ∆t 2∆S 1 f (S + ∆S,t) − 2 f (S,t) + f (S − ∆S,t) (4.14) + σ2 · S 2 · 2 2 ∆S =r f (S,t). Da S = j · ∆S, t = i · ∆t und fi, j = f ( j · ∆S, i · ∆t), folgt: f (S,t) = f ( j · ∆S, i · ∆t) = fi, j , f (S,t + ∆t) = f ( j · ∆S, i · ∆t + ∆t) = f ( j · ∆S, ( j + 1)∆t) = fi+1, j . 39 Vgl.[21, S.138] 4 Finite-Differenzen-Methode 36 Gleichermaßen folgt: f (S + ∆S,t) = fi, j+1 , f (S − ∆S,t) = fi, j−1 . Es wird eine symmetrische Approximation verwendet: fi, j+1 − fi, j−1 ∂f = . ∂S 2∆S Für ∂f ∂t (4.15) verwendet man eine vorwärts gerichtete Differenzenapproximation: fi+1, j − fi, j ∂f = . ∂t ∆t Die finite Differenzenapproximation für ∂2 f ∂S2 (4.16) im Punkt (i, j) ist: fi, j+1 + fi, j−1 − 2 fi, j ∂2 f = . 2 ∂S ∆S2 (4.17) Wenn die oben genannten drei Gleichungen in (4.14) eingesetzt werden, erhält man die Differenzialgleichung: fi, j+1 − fi, j−1 fi+1, j − fi, j + r( j · ∆S) · ∆t 2∆S f − 2 fi, j + fi, j−1 1 i, j+1 + · σ2 · ( j · ∆S)2 · 2 (∆S)2 (4.18) = r fi, j , für j = 1, 2, ..., M − 1 und i = 0, 1, ..., N − 1. Durch die Umstellung der Gleichung (4.18) ergibt sich: 1 1 1 1 1 1 fi, j−1 ( r j − σ2 j2 ) + fi, j ( + σ2 j2 + r) + fi, j+1 (− r j − σ2 j2 ) = − fi+1, j . (4.19) 2 2 ∆t 2 2 ∆t Zur Vereinfachung wird Folgendes in die Gleichung eingesetzt: 1 1 a j = r j∆t − σ2 j2 ∆t, 2 2 2 2 b j = 1 + σ j ∆t + r∆t, 1 1 c j = − r j∆t − σ2 j2 ∆t, 2 2 (4.20) 4 Finite-Differenzen-Methode 37 Als Ergebnis erhält man: a j fi, j−1 + b j fi, j + c j fi, j+1 = fi+1, j . (4.21) Durch die implizite Methode ergibt sich die Gleichung (4.21), die drei verschiedene Werte im Zeitpunkt i∆t fi, j−1 , fi, j , fi, j+1 und einen Wert im Zeitpunkt (i + 1)∆t als Lösung hat. Die Abbildung 4.3 zeigt diese Beziehung. St fi,j+1 fi,j fi+1,j fi,j−1 t 0 Abbildung 4.3: Implizite Finite-Differenzen-Methode. Quelle: [6, S.511] Die Ausdrücken für a j , b j und c j werden in der Gleichung (4.21) wie folgt interpretiert:40 1 1 r j∆t − σ2 j2 ∆t : 2 2 Wahrscheinlichkeit, dass der Aktienkurs in der Zeit ∆t von j∆S auf ( j − 1)∆S fällt , 1 + σ2 j2 ∆t + r∆t : Wahrscheinlichkeit, dass der Aktienkurs in der Zeit ∆t unverändert bleibt, 1 1 − r j∆t − σ2 j2 ∆t : 2 2 Wahrscheinlichkeit, dass der Aktienkurs in der Zeit ∆t von j∆S auf ( j + 1)∆S steigt. Die Summe der drei Wahrscheinlichkeiten ist gleich eins. In diesem Fall sind die Aktien dividendenlos. In dem Zeitraum ∆t, ist der erwartete Zuwachs des Aktienkurses r j∆S∆t. Für ∆t ergibt sich die Varianz des Aktienkurses in Abhängigkeit des Zeitraums ∆t mit σ2 j2 ∆S2 ∆t. Diese Werte entsprechen einen stochastischen Prozess für S. Der Wert von f zum Zeitpunkt i∆t wird in einer risikoneutralen Welt als Erwartungswert von f zum Zeitpunkt (i + 1)∆t diskontiert und mit dem risikolosen Zinssatz berechnet.41 40 Vgl.[6, 41 Vgl. S.513] [6, S.514] 4 Finite-Differenzen-Methode 38 Wenn eine europäische Option bewertet werden soll, kann die Gleichung (4.21) erweitert werden mit folgenden Randbedingungen. für eine Put-Option fi,M = 0, i = 0, 1, ..., N, j = M, fi,0 = Ke−r(T −t) , (4.22) i = 0, 1, ..., N, j = 0. für ein Call-Option fi,M = Smax , fi,0 = 0, i = 0, 1, ..., N, j = M, (4.23) i = 0, 1, ..., N, j = 0. Es wird definiert für i = N − 1, N − 2, ..., 0, j = 1, 2, ..., M − 1, und setzt man diese wieder in die Gleichung (4.21) ein a1 fi,0 + b1 fi,1 + c1 fi,2 = fi+1,1 , a2 fi,2 + b2 fi,2 + c2 fi,2 = fi+1,2 , (4.24) .. . aM−1 fi,M−1 + bM−1 fi,M−1 + cM−1 fi,M−1 = fi+1,M−1 . dies wird nun transferiert in die folgende Matrix: fi,0 a1 b1 c1 fi+1,1 a2 b2 c2 fi,1 fi+1,2 . . .. .. = .. . . a j−1 b j−1 c j−1 fi, j fi+1, j−1 aj bj cj fi, j+1 fi+1, j | {z } | {z } | {z } Bekannt Unbekannt Bekannt Die Werte in Fälligkeit T sind bekannt, d.h. die Werte von a j , b j , c j und die Matrix ( fi+1,1 , ..., fi+1, j )T sind auch bekannt. Hingegen ist die Matrix ( fi,0 , ... fi, j+1 )T unbekannt. Um die Werte von fi auszurechnen, muss die Martix wie folgt transformiert werden, fi,1 fi+1,1 a1 fi,1 b1 c1 a2 b2 c2 fi,2 fi+1,2 0 . . . .. .. = .. − .. . a j−1 b j−1 c j−1 fi, j−1 fi+1, j−1 0 aj bj fi, j fi+1, j c j fi, j+1 4 Finite-Differenzen-Methode 39 Durch erhält man: −1 b1 c1 fi+1,1 − a1 fi,1 fi+1,2 a2 b2 c 2 . . = .. .. a j−1 b j−1 c j−1 fi+1, j−1 fi, j−1 fi, j aj bj fi+1, j − c j fi, j+1 fi,1 fi,2 .. . fi = M−1 fi+1 . Hier ist M die Matrix von a j , b j und c j . Wenn man die Werte von fi, j berechnen möcht, muss man die inverse Matrix von abc berechnen. Daraus ergeben sich die impliziten Lösungen. Für eine amerikanische Put Option ist der Wert: f (S,t) > max{K − S(t), 0}. Für eine amerikanische Call Option ist der Wert: f (S,t) > max{S(t) − K, 0}. Wenn die folgende Voraussetzung erfüllt ist, ist es möglich, die Put Option vor die Ausübungszeitpunkt auszuüben, fi j = max[ fi j , K − j∆S]. Für die Call Option : fi j = max[ fi j , j∆S − K]. Im folgenden wird zu Veranschaulichung ein Beispiel durchgeführt. Beispiel 4.1. Angenommen wird eine fünfmonatige Verkaufsoption auf eine dividendenlose Aktie mit einem Aktienkurs von 50 Euro, einem Basispreis von 50 Euro, einem risikolosen Zinssatz von 10% per annum und einer Volatilität von 40% per annum . Der maximale Optionspreis liegt bei 100 Euro. Für M, N und ∆S werden die Werte von 20, 10 und 5 gewählt. Der Optionspreis wird in Intervalle zu jeweils 5 Euro in [0, 100Euro] aufgeteilt. Daraus ergibt sich N = 20. Die Optionslaufzeit von fünf Monaten (T = 5/12) wird in halbmonatige Intervalle aufgegliedert. Es wird eine amerikanische Verkaufsoption und eine europäische Verkaufsoption betrachtet und deren Berechnung mittels der impliziten Finite-Differenzen-Methode. Der amerikanische Optionspreis beträgt, wie im Gitter angegeben, 4, 07 Euro (siehe Tabelle 2). Der Wert der europäischen Option wird mit 3, 91 Euro angegeben.42 Unter den gleichen Voraussetzungen liegt der Preis einer amerikanischen Verkaufsoption oberhalb des Preises einer europäischen Verkaufsoption. Da die amerikanische Option zu 42 Vgl. Beispiel 17.10. [6, S.509] 4 Finite-Differenzen-Methode 40 jeder Zeit gekauft und verkauft werden kann, im gegensatz zu europäische Option. Daraus ergibt sich ein höherer Preis für die amerikanische Option gegenüber der europäische Option. Weil man bei der amerikanische Option mehr Chancen hat diese auszuüben, gibt es mehr Chancen eine Gewinnen zu erzielen. Deshalb muss der Anleger mehr für eine amerikanische Option bezahlen. Um den Optionspreis zu bestimmen, wird das Programm MATLAB verwendet. Dabei geht das MATLAB Programm wie folgt vor: 1. Berechnung der Parameter von ∆S (Y-Achse) erfolgt, indem Smax durch M dividiert wird, und ∆t indem T durch N dividiert wird. So erhält man die Punkte von 1 bis M − 1. Simultan gilt das Gleiche für die Punkte 1 bis N − 1 (X-Achse). 2. Erstellen der Parameter von a j , b j und c j . 3. Erstellen der Matrix M. 4. Definieren der Randbedingung. Der Wert ∆S ist in jedem Zeitpunkt ∆t bekannt. fi,M = 0, i = 0, 1, ..., N, j = M, fi,0 = 50, i = 0, 1, ..., N, j = 0. 5. Wenn fi+1 und Matrix M bekannt sind, dann kann man fi = M−1 fi+1 durch den Wert von fi berechnen. Für eine amerikanische Option: for i = N:-1:1 y = put(i+1, 2:M)’; y(1) = y(1) - a(1)*K; put(i, 2:M) = [A \ y]’; put(i, :) = max(K - [0:ds:Smax], put(i,:)); end Für eine europäische Option: for i = N:-1:1 y = put(i+1, 2:M)’; y(1) = y(1) - a(1)*K; put(i, 2:M) = [A \ y]’; end Durch die Funktion ”BSEAput (EuroAmerica,Smax, T, M, N, K, r, sigma) ” ist es möglich, dem Wert eine amerikanischen Option und eine europäischen Option zu bestimmt. (Code siehe Anhang Code B.10.) 4 Finite-Differenzen-Methode 41 Es kann eine Unterscheidung des Optionstyps vorgenommen werden, in dem bei der Variable EuroAmerica entweder eine 1 (amerikanischen Option) oder eine 0 (europäischen Option) eingetragen wird. Angenommen es gelt der risikolose Zinssatz r = 0.1 und die Volatilität σ = 0.4. Dann kann durch den MATLAB Befehl ”BSEAput(1,100,5/12,20,10,50,0.1,0.4)” (Code B.10) der amerikanische Optionswert ermittelt werden. In dem Tabelle steht T für die Restlaufzeit und S für den Aktienpreis. Amer. steht hier für die amerikanische Option und Euro. für die europäische Option. Amer. T S 100.00 95.00 90.00 85.00 80.00 75.00 70.00 65.00 60.00 55.00 50.00 45.00 40.00 35.00 30.00 25.00 20.00 15.00 10.00 5.00 0 5.00 0 0.02 0.05 0.09 0.16 0.27 0.47 0.82 1.42 2.43 4.07 6.58 10.15 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 4.50 0 0.02 0.04 0.07 0.12 0.22 0.39 0.71 1.27 2.24 3.88 6.44 10.10 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 4.00 0 0.01 0.03 0.05 0.09 0.17 0.32 0.60 1.11 2.05 3.67 6.29 10.05 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 3.50 0 0.01 0.02 0.03 0.07 0.13 0.25 0.49 0.95 1.83 3.45 6.13 10.01 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 3.00 0 0.00 0.01 0.02 0.04 0.09 0.18 0.38 0.78 1.61 3.19 5.96 10.00 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 2.50 0 0.00 0.01 0.01 0.03 0.06 0.13 0.28 0.62 1.36 2.91 5.77 10.00 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 2.00 0 0.00 0.00 0.01 0.02 0.03 0.08 0.19 0.45 1.09 2.57 5.57 10.00 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 1.50 0 0.00 0.00 0.00 0.01 0.02 0.04 0.11 0.30 0.81 2.17 5.36 10.00 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 1.00 0 0.00 0.00 0.00 0.00 0.01 0.02 0.05 0.16 0.51 1.66 5.17 10.00 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 0.50 0 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.05 0.22 0.99 5.02 10.00 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 0 0 0 0 0 0 0 0 0 0 0 0 5.00 10.00 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 Tabelle 2: Bewertung der amerikanischen Option mit der impliziten FDM. Quelle: eigene Berechnung Anhand der Tabelle 2 und Tabelle 3 lässt sich erkennen, dass für den gleichen Ausübungspreis und Ausübungszeitpunkt, der Wert der amerikanische Option größer als der Wert der europäische Option. Da die amerikanische Option mehr Chancen zur Ausübung besitzt. Ct ≥ ct , Pt ≥ pt . 4 Finite-Differenzen-Methode Euro. T S 100.00 95.00 90.00 85.00 80.00 75.00 70.00 65.00 60.00 55.00 50.00 45.00 40.00 35.00 30.00 25.00 20.00 15.00 10.00 5.00 0 5.00 0 0.02 0.05 0.09 0.15 0.27 0.46 0.80 1.38 2.35 3.91 6.27 9.51 13.55 18.14 23.00 27.97 32.96 37.96 42.98 50.00 4.50 0 0.02 0.04 0.07 0.12 0.22 0.39 0.69 1.24 2.18 3.74 6.16 9.50 13.64 18.30 23.19 28.17 33.16 38.16 43.17 50.00 4.00 0 0.01 0.03 0.05 0.09 0.17 0.31 0.59 1.09 2.00 3.56 6.04 9.50 13.75 18.46 23.38 28.37 33.36 38.36 43.37 50.00 42 3.50 0 0.01 0.02 0.03 0.07 0.13 0.25 0.48 0.93 1.80 3.35 5.91 9.50 13.86 18.63 23.58 28.57 33.57 38.57 43.57 50.00 3.00 0 0.00 0.01 0.02 0.04 0.09 0.18 0.37 0.77 1.58 3.12 5.77 9.51 13.98 18.81 23.78 28.77 33.77 38.77 43.77 50.00 2.50 0 0.00 0.01 0.01 0.03 0.06 0.13 0.28 0.61 1.34 2.86 5.62 9.52 14.11 19.00 23.98 28.97 33.97 38.97 43.98 50.00 2.00 0 0.00 0.00 0.01 0.02 0.03 0.08 0.19 0.45 1.08 2.54 5.46 9.56 14.26 19.19 24.18 29.18 34.18 39.18 44.18 50.00 1.50 0 0.00 0.00 0.00 0.01 0.02 0.04 0.11 0.30 0.80 2.15 5.30 9.62 14.43 19.39 24.38 29.38 34.38 39.38 44.38 50.00 1.00 0 0.00 0.00 0.00 0.00 0.01 0.02 0.05 0.16 0.51 1.66 5.14 9.70 14.61 19.59 24.59 29.59 34.59 39.59 44.59 50.00 0.50 0 0.00 0.00 0.00 0.00 0.00 0.00 0.02 0.05 0.22 0.99 5.02 9.83 14.80 19.79 24.79 29.79 34.79 39.79 44.79 50.00 0 0 0 0 0 0 0 0 0 0 0 0 5.00 10.00 15.00 20.00 25.00 30.00 35.00 40.00 45.00 50.00 Tabelle 3: Bewertung der europäischen Option mit der impliziten FDM. Quelle: eigene Berechnung Im folgenden wird der europäischen Optionswert ermittelt. Es bleiben alle Werte unverändert. Außer M und N, diese verändern sich auf 200 und 100. Dadurch entsteht eine feinere Gitternetzstruktur. Die Befehle sind: >> A=BSEAPut(0,100,5/12,200,100,50,0.1,0.4) >> A(1,101) ans = 4.0686 Der durch die Black-Scholes-Formel gegebene Preis der europäischen Option ist (Code siehe Anhang B.6): >>EuroOptionPricingBS(0,50,50,5/12,0.1,0.4) ans = 4.0760 Je feiner die Unterteilung bei FDM ist, umso näher liegen die Preise, der durch die BlackScholes-Fomel und FDM berechnet wurden zusammen. 4 Finite-Differenzen-Methode 43 Abbildung 4.4: Europäische Verkaufsoptionsbewertung durch implizite Finite-DifferenzenMethode für M = 20 und N = 10. Quelle: eigene Darstellung. Die Abbildung 4.5 zeigt graphische, die Verfeinerung der FDM . Abbildung 4.5: Europäische Verkaufsoptionsbewertung mittels impliziter Finite-DifferenzenMethode für M = 200 und N = 100. Quelle: eigene Darstellung. Im nächtsten Abschnitt wird die Berechnung von Barrier Option mit Hilfe der implizite Finite-Differenzen-Methode vorgenommen. 4.3.2 Implizite Finite-Differenzen-Methode für Barrier Optionsbewertung Wenn die Barrier Option bewertet werden soll, muss man die Barrier Option samt der Randbedingung berücksichtigen. Betrachtet wird eine Down-and-out Put Option mit der Barriere H < S0 . T ist das Verfallszeitpunkt. In dem Gitter wird die t-Achse in N ∈ N Zeitintervalle unterteilt, 0, ∆t, 2∆t, ..., N∆t = T. wobei ∆t = NT . 4 Finite-Differenzen-Methode 44 Sei ∆S ein Intervall in S/M, wobei M die Intervallgröße ist. Es wird das Gitter wie folgt aufgeteilt: H, H + ∆S, H + 2∆S, ..., H + M∆S. Der Einfachheit halber wird angenommen, dass fi, j = f (i∆t, H + j∆S) für i = 0, 1, 2, ..., N, und j = 0, 1, ..., M gilt. Das Gitter kann leicht verändert werden, so dass die Barriere auf dem Gitter liegt. Das bedeutet, die Barriere durchläuft eine horizontale Schicht von Knoten im Falle einer zeitkontinuierlichen Barrier Option und befindet sich auf halbem Weg zwischen zwei horizontalen Schichten von Knoten im Falle einer zeitdiskreten Barrier Option. Der Optionspreis an jedem Knoten in dem Gitter kann durch die Implementierung eines implizite Methode bestimmt werden. Für eine Down Option, ist die Barrier als die Untergrenze im Gitter festgelegt, d.h. Smin = H (Abbildung 4.6). Da der Optionspreis gleich Null ist, wenn der Aktienkurs die Barrier erreicht. Für eine Up Barrier Option stellt die Barrier die Obergrenze im Gitter dar. Das bedeutet, in dem Fall ist Smax = H. St Smax H + j∆S H + 2∆S H + ∆S Barrier H ∆t 2∆t i∆t T t Abbildung 4.6: Gitterstruktur einer Down Barrier Option 4 Finite-Differenzen-Methode 45 Beispiel 4.2. Beispiel für die Bewertung einer Down-and-out Barrier Put Option mit der impliziten Differenzen Methode. Es wird eine fünfmonatige Verkaufsoption auf eine dividendenlose Aktie mit einem Aktienkurs von 50 Euro und einem Basispreis von 50 Euro, sowie einem risikolosen Zinssatz von 10% per annum und einer Volatilität von 40% per annum betrachtet. Der maximale Optionspreis liegt bei 100 Euro und die Barrier bei 40 Euro. Für ∆S wurde ein Wert von 0.5 gewählt. Das Zeitintervallen wird durch 1/120 bestimmt. (S0 = 50, K = 50, r = 0.1, σ = 0.4, H = 40, SMax = 100, ∆S = 0.5, T = 5/12 und ∆t = 1/120) Die Randbedingung für diese Down-and-out Barrier Put Option ist: fi,M = 0, fi,0 = K − S, i = 0, 1, ..., N, j = M, i = 0, 1, ..., N, j = H. Der Berechnungsprozess erfolgt mit folgendem Code (siehe Anhang Code B.13):43 1. Berechnen der Parameter von (Smax − H), ∆t und ∆S. M = round((Smax-H)/dS) ; dS = (Smax-H)/M; N = round(T/dt); dt = T/N; 2. Erstellung eines Gitters mit den unterschiedlichen Niveaus S. Durch ∆S und ∆t ergibt sich M und N, M = 120 und N = 50. 3. Mit Hilfe von MATLAB wird eine (N + 1) × (M + 1) Null Matrix erzeugt. matVal=zeros(M+1,N+1). 4. Das Ergebnis der Funktion linspace(H, SMax , M + 1) ist ein Vektor, dabei ist H der Anfangswert, Smax ist der Endwert, und M + 1 die Anzahl der Elemente im Vektor. Dies Funktion wird verwendet um die in Punkt 3 erstellt Null Matrix zu berechnen. 5. Erzeugung der Randbedingung und Berechnung der Parameter von a j , b j und c j . matVal(: ,N+1) = max(K-vetS,0); matVal(1,:) =0; matVal(M+1,:) =0; 43 Code Vgl.[2, S.484] 4 Finite-Differenzen-Methode 46 6. Erstellung der Matrix M von a j , b j und c j mit den Befehlen: M1 = diag(a(3:M),-1)+diag(b(2:M)) + diag(c(2:M-1),1). b1 c1 a2 b2 c2 . .. M= a j−1 b j−1 c j−1 aj bj 7. Berechnung des Optionspreises mit der Formel fi = fi+1 M0 . price = interp1(vetS,matVal(:,1),SO) Daraus ergibt sich folgendes Ergebnis: % BarrierDOPut_Imp(SO,K,r,T,sigma,H,Smax,dS,dt) >> BarrierDOPut_Imp(50,50,0.1,5/12,0.4,40,100,0.5,1/120) ans = 0.5748 Abbildung 4.7: Down-and-out Put Barrier Option mittels der Implizite-Differenzen- Methode. Quelle: eigene Darstellung. Nun wird das Ergebnis verglichen mit dem Ergebnis der Berechnung durch das BlackScholes-Modell, wie im Beispiel 3.2 durchgeführt. Hierbei ergab sich ein Wert von 0.5424. Durch die Monte Carlo Simulation ergab sich ein Wert von 0.5677 (Code siehe Anhang B.17). Unter Verwendung der Formel (3.1) und dem in Beispiel 4.1 bestimmten Wert für eine Vanilla Put Option, ergibt sich eine Wert für Down-and-in Barrier Put Option pdi von pdi = 3, 91 − 0, 5748 = 3, 3352. 4 Finite-Differenzen-Methode 47 Beispiel 4.3. In diese Beispiel wurde dieselbe Werte wie im Beispiel 5.2 verwendet, um eine amerikanische Down-and-out Put Barrier Option zu bestimmen.(Code B.18) Man kann erkennen, dass der amerikanische Optionspreis (3.7294) wesentlich höher als der europäischen Optionspreis (0.5748) ist (Vgl. Beispiel 5.1). %function price = BarrierDOPut_Exp(SO,K,r,T,sigma,H,Smax,dS,dt) Amer_BarrierDOPut_Imp(50,50,0.1,5/12,0.4,40,100,0.5,1/120) ans = 3.7294 Abbildung 4.8: Amerikanische Down-and-out Put Barrier Option mittels der ImpliziteDifferenzen- Methode. Quelle: eigene Darstellung. 4.4 4.4.1 Die explizite Finite-Differenzen-Methode Standard Option Bewertung Bei der impliziten Finite-Differenzen-Methode muss man M − 1 simultane Gleichungen lösen, um alle fi, j aus den fi+1, j zu berechnen. Die explizite Finite-Differenzen-Methode 2 nimmt zur Vereinfachung an, dass in dem Gitter die Werte für ∂∂Sf und ∂∂S2f am Punkt (i, j) gleich den Werten am Punkt (i + 1, j) entsprechen.44 Folglich ergibt sich aus den Gleichungen (4.15) und (4.17): 44 Vgl. [6, S.509] fi+1, j+1 − fi+1, j−1 ∂f = , ∂S 2∆S (4.25) fi+1, j+1 + fi+1, j−1 − 2 fi+1, j ∂2 f = . 2 ∂S ∆S2 (4.26) 4 Finite-Differenzen-Methode 48 Die Differenzialgleichung stellt sich wie folgt dar. fi+1, j+1 − fi+1, j−1 fi+1, j − fi, j + r( j · ∆S) · ∆t 2∆S f − 2 fi+1, j + fi+1, j−1 1 2 i+1, j+1 + · σ · ( j · ∆S)2 · 2 (∆S)2 (4.27) = r fi, j , oder wobei fi, j = a∗j fi+1, j−1 + b∗j fi+1, j + c∗j fi+1, j+1 , (4.28) 1 1 1 2 2 = − r j∆t + σ j ∆t , 1 + r∆t 2 2 1 b∗j = (1 − σ2 j2 ∆t), 1 + r∆t 1 2 2 1 1 ∗ r j∆t + σ j ∆t . cj = 1 + r∆t 2 2 (4.29) a∗j Dies wird als explizite Finite-Differenzen-Methode bezeichnet. Die Gleichung der expliziten Finite-Differenzen Methode (4.28) beschreibt einen Zusammenhang zwischen einem Optionswert zur Zeit i∆t ( fi, j ) und drei verschiedenen Optionswerten im Zeitpunkt (i + 1)∆t (d.h. fi+1, j−1 , fi+1, j , fi+1, j+1 ). St fi+1,j+1 fi,j fi+1,j fi+1,j−1 0 t Abbildung 4.9: Explizite Finite-Differenzen-Methode. Quelle: Vgl. [6, S.511] 4 Finite-Differenzen-Methode 49 Für die a∗j , b∗j und c∗j in Gleichung (4.28) kann man die Terme wie folgt interpretieren:45 1 1 − r j∆t + σ2 j2 ∆t : 2 2 Wahrscheinlichkeit, dass der Aktienkurs in der Zeit ∆t von j∆S auf ( j − 1)∆S fällt , 1 − σ2 j2 ∆t : Wahrscheinlichkeit, dass der Aktienkurs in der Zeit ∆t unverändert bleibt, 1 1 r j∆t + σ2 j2 ∆t : 2 2 Wahrscheinlichkeit, dass der Aktienkurs in der Zeit ∆t von j∆S auf ( j + 1)∆S steigt. 1 2 2 1 2 rj∆t + 2 σ j ∆t fij 1 − σ 2 j 2 ∆t − 12 rj∆t + 12 σ 2 j 2 ∆t fi+1,j+1 fi+1,j fi+1,j−1 Abbildung 4.10: Explizite Finite-Differenzen-Methode als Trinomialbaum. Quelle: [6, S.514] In Abbildung (4.10) wird die Beziehung zwischen den Wahrscheinlichkeiten gezeigt. Die Summe der drei Wahrscheinlichkeiten ist eins. Damit die explizite Finite-Differenzen-Methode gut anwendbar ist, müssen alle diese Wahrscheinlichkeiten 1 1 − r j∆t + σ2 j2 ∆t, 2 2 1 − σ2 j2 ∆t, 1 1 r j∆t + σ2 j2 ∆t, 2 2 positiv sein.46 Ergibt sich i = N − 1, j = 0, ...M − 1, in Gleichung (4.28) einsetzen, folgt a∗1 fi+1,0 + b1 fi+1,1 + c1 fi+1,2 = fi,1 , a∗2 fi+1,1 + b2 fi+1,2 + c2 fi+1,3 = fi,2 , .. . ∗ aM−1 fi+1,M−2 + bM−1 fi+1,M−1 + cM−1 fi+1,M = fi,M−1 . 45 Vgl.[6, 46 [6, S.513] S.514] (4.30) 4 Finite-Differenzen-Methode 50 Es wird die Berechnungen in die folgende Matrix übertragen: b∗1 c∗1 ∗ ∗ c∗2 a2 b2 ... a∗M−2 b∗M−2 c∗M−2 a∗M−1 b∗M−1 | {z Bekannt fi,1 − a∗1 fi+1,0 fi,2 .. . fi+1,1 fi+1,2 . = .. . fi,M−2 fi+1,M−1 ∗ fi,M−1 − cM−1 fi+1,M | {z } | {z } } Bekannt Unbekannt Durch die Matrix von abc und die Matrix von fi+1, j−1 , fi+1, j und fi+1, j+1 kann man den Preis in Punkt fi, j direkt errechnen. Die Lösung ist somit offensichtlich. Das heißt, der Wert in Punkt fi+1, j wird direkt mit den drei Parametern a, b, c multipliziert, dann ergibt sich der Wert fi, j . Dies ist die explizite Lösung. Es folgt ein Beispiel für die Bewertung einer Verkaufsoption. Die Randbedingung für diese Verkaufsoption sei: max[(K − j∆S), 0], fi,M−1 = 0. Beispiel 4.4. Es werden dieselben Werte angenommen wie im Beispiel 4.2. Durch das MATLAB Programm BSEAput_Explicit(EuroAmerica,Smax, T, M, N, K, r, sigma) >> BSEAPut_Explicit (1,100,5/12,20,10,50,0.1,0.4) lässt sich der Preis der amerikanische und europäische Verkaufsoption errechnen (Code siehe Anhang Code B.11). Der Berechnungsprozess innerhalb des MATLAB Programms stellt sich wie folgt dar: 1. Berechnung des Parameters von ∆S und ∆t. ∆S wird bestimmt in dem Smax durch M geteilt wird. ∆t wird bestimmt in dem T durch N teilt. ds = Smax / M; dt = T / N; 2. Erzeugung der Parameter von a j , b j und c j . a = (-.5*r*dt*J + .5*sigma^2*dt*J.^2)/(1+r*dt); b = (1 - sigma^2*dt*J.^2)/(1+r*dt); c = (.5*r*dt*J + .5*sigma^2*dt*J.^2)/(1+r*dt); 4 Finite-Differenzen-Methode 51 3. Erstellung der Matrix M. A = diag(a(2:M-1), -1) + diag(b) + diag(c(1:M-2), 1); 4. Definition der Randbedingung. Der Wert ∆S zu jedem Zeitpunkt ∆t ist bekannt. put = zeros(N+1, M+1); put(N+1, :) = max(K - [0:ds:Smax], 0); put(:, 1) = K; put(:, M+1) = 0; 5. Sind fi+1 und die Matrix M bekannt, so kann fi durch fi = fi+1 M0 berechnet werden. F\"ur ein americalische Option for i = N:-1:1 y = zeros(1, M-1); y(1) = a(1)*put(i+1, 1); y(M-1) = c(M-1)*put(i+1,M+1); put(i, 2:M) = put(i+1, 2:M) * A’ + y; put(i, :) = max(K - [0:ds:Smax], put(i,:)); end Durch den vorher beschriebenen Ablauf ergibt sich der Wert der amerikanischen Verkaufsoption von 4.2568 (siehe Tabelle 4). Für die europäische Verkaufsoption ist der Wert 4.0399 (siehe Tabelle 5). Amer. T S 100.00 95.00 90.00 85.00 80.00 75.00 70.00 65.00 60.00 55.00 50.00 45.00 40.00 35.00 30.00 25.00 20.00 15.00 10.00 5.00 0.00 5.00 0 0.0576 -0.1067 0.2824 -0.1341 0.4550 0.3241 0.9136 1.4787 2.5872 4.2568 6.7557 10.2770 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 4.50 0 0 0.0497 -0.0475 0.2046 0.0635 0.4574 0.6766 1.3670 2.3922 4.0818 6.6134 10.2013 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 4.00 0 0 0 0.0479 -0.0036 0.1957 0.2288 0.6342 1.1650 2.2105 3.8859 6.4659 10.1279 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 3.50 0 0 0 0 0.0518 0.0403 0.2452 0.4444 1.0227 1.9878 3.6789 6.3097 10.0620 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 3.00 0 0 0 0 0 0.0635 0.1004 0.3744 0.8101 1.7703 3.4398 6.1460 10.0122 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 2.50 0 0 0 0 0 0 0.0887 0.2051 0.6519 1.5028 3.1788 5.9592 10.0000 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 2.00 0 0 0 0 0 0 0 0.1426 0.4178 1.2436 2.8668 5.7474 10.0000 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 1.50 0 0 0 0 0 0 0 0 0.2671 0.8986 2.5266 5.4984 10.0000 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 1.00 0 0 0 0 0 0 0 0 0 0.5895 2.0725 5.2400 10.0000 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 0.50 0 0 0 0 0 0 0 0 0 0 1.5560 5.0000 10.0000 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 0 0 0 0 0 0 0 0 0 0 0 0 5.0000 10.0000 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 Tabelle 4: Bewertung der amerikanische Option mit der expliziten FDM. Quelle: eigene Berechnung 4 Finite-Differenzen-Methode Euro. T S 100.00 95.00 90.00 85.00 80.00 75.00 70.00 65.00 60.00 55.00 50.00 45.00 40.00 35.00 30.00 25.00 20.00 15.00 15.00 5.00 0.00 5.00 0 0.0576 -0.1088 0.2849 -0.1429 0.4540 0.3051 0.8860 1.4180 2.4727 4.0399 6.3487 9.5007 13.4783 18.0738 22.9764 27.9643 32.9636 37.9639 42.9748 50.0000 4.50 0 0 0.0497 -0.0495 0.2054 0.0555 0.4496 0.6510 1.3179 2.2911 3.8859 6.2401 9.4834 13.5659 18.2379 23.1705 28.1638 33.1635 38.1637 43.1725 50.0000 4.00 0 0 0 0.0479 -0.0057 0.1948 0.2192 0.6180 1.1237 2.1240 3.7092 6.1229 9.4667 13.6628 18.4100 23.3674 28.3642 33.3642 38.3643 43.3712 50.0000 52 3.50 0 0 0 0 0.0518 0.0377 0.2421 0.4305 0.9924 1.9149 3.5214 5.9926 9.4526 13.7713 18.5902 23.5669 28.5657 33.5657 38.5658 43.5710 50.0000 3.00 0 0 0 0 0 0.0635 0.0968 0.3676 0.7863 1.7130 3.3030 5.8508 9.4427 13.8942 18.7784 23.7683 28.7680 33.7680 38.7681 43.7718 50.0000 2.50 0 0 0 0 0 0 0.0887 0.1992 0.6377 1.4583 3.0661 5.6905 9.4415 14.0345 18.9739 23.9712 28.9712 33.9712 38.9713 43.9738 50.0000 2.00 0 0 0 0 0 0 0 0.1426 0.4067 1.2134 2.7769 5.5152 9.4543 14.1959 19.1753 24.1753 29.1753 34.1753 39.1753 44.1768 50.0000 1.50 0 0 0 0 0 0 0 0 0.2671 0.8742 2.4594 5.3089 9.4963 14.3802 19.3802 24.3802 29.3802 34.3802 39.3802 44.3809 50.0000 1.00 0 0 0 0 0 0 0 0 0 0.5895 2.0080 5.0930 9.5859 14.5859 19.5859 24.5859 29.5859 34.5859 39.5859 44.5862 50.0000 0.50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.5560 0 4.7925 5.0000 9.7925 10.0000 14.7925 15.0000 19.7925 20.0000 24.7925 25.0000 29.7925 30.0000 34.7925 35.0000 39.7925 40.0000 44.7925 45.0000 50.0000 50.0000 Tabelle 5: Bewertung der europäische Option mit der explizite FDM. Quelle: eigene Berechnung Der durch die Black-Scholes-Formel gegebene Preis der europäischen Option ist (Code siehe Anhang B.6): % EuroOptionPricingMCBSModel(CallPut,S0,T,r,sigma,K,n) >> EuroOptionPricingBS(0,50,50,5/12,0.1,0.4) ans = 4.0760 Es wird versucht mit eine kleiner Intervall den Preis im expliziten Modell, dem exakten Preis der durch das BS Modell ermittelt wurde anzupassen. Abbildung 4.11: Europäische Verkaufsoptionsbewertung Methode. Quelle: eigene Berechnung. mit explizite Finite-Differenzen- 4 Finite-Differenzen-Methode 53 Für eine europäische Verkaufsoption wird daher in dem nächsten Beispiel für M und N die Werte von 50, 100 gewählt, die anderen Werte bleiben gleich. Der Befehl zur Berechnung lautet: % BSEAput_Explicit(EuroAmerica,Smax, T, M, N, K, r, sigma) >> A=BSEAPut_Explicit(1,100,5/12,50,100,50,0.1,0.4) >> A(1,51) ans = 0 Die Verkleinerung des Intervall im explizite FDM für dazu, dass die Lösung instabil wird. Daher kann bei explizite FDM keine Annäherung an die exakt Lösung des im BlackScholes-Modell berechneten Preises erzielt werden. Die Abbildung 4.12 zeigt, dass diese Berechnung zu einer unzulässigen Lösung führt. Abbildung 4.12: Instabilitätsproblem der expliziten Methode. Quelle: eigene Berechnung. Bemerkung 4.5. Normalerweise sollen beide Seiten in Gleichung (2.8) für den Zeitpunkt (i, j) berechnet werden. In der Gleichung (4.28) verschiebt sich der Zeitpunkt von der linken Seite innerhalb des Gitters nach rechts, d.h. es wird nun der Punkt (i + 1, j) berechnet. Danach wird (i + 1, j) zum Ursprungspunkt zurück verschoben: fi, j − fi−1, j fi, j+1 − fi, j−1 + r( j · ∆S) · ∆t 2∆S f − 2 fi, j + fi, j−1 1 2 i, j+1 + · σ · ( j · ∆S)2 · 2 (∆S)2 = r fi, j , (4.31) 4 Finite-Differenzen-Methode 54 oder fi−1, j = ā∗j fi, j−1 + b̄∗j fi, j + c̄∗j fi, j+1 , (4.32) wobei 1 ā∗j = ∆t σ2 j2 − r j = −a j , 2 ∗ b̄ j = 1 − ∆t(σ2 j2 + r) = 2 − b j , 1 c̄∗j = ∆t σ2 j2 + r j = −c j . 2 für i = 1, ..., N, j = 1, ..., M − 1. dann ergibt sich fi−1, j = −a j fi, j−1 + (2 − b j ) fi, j − c j fi, j+1 . (4.33) Wird das Intervall ∆S bei Verwendung der expliziten Finiten-Differenzen-Methode in noch kleinere Intervalle aufgeteilt, so ist diese Methode instabil. Das Problem der Stabilität bei Verwendung der expliziten Finiten-Differenzen-Methode wird im nächsten Abschnitt näher erläutert. 4.4.2 Explizite Finite-Differenzen-Methode für Barrier Option Bewertung Die explizite Finite-Differenzen-Methode stellt in vergleich zur implizite Finite Differenzen Methode eine einfacheren Weg zur Analyse der Bewertung einer Barrier Option dar. Da das Gitter auf einfache Art und Weise manipuliert werden kann, um die Rahmenbedingungen zu erfüllen. 47 Zur Barrier Optionsbewertung mittels der expliziten Methode muss die Barrier zunächst in ein Gitter eingebettet werden. Es wird eine Down-and-out Barrier Put Option betrachtet. Das dazugehörige Gitter, findet sich in Abbildung 4.6. Die Randbedingung für diese Down-and-out Put Barrier Option ist: fi,M = 0, fi,0 = K − S, i = 0, 1, ..., N, j = M, i = 0, 1, ..., N, j = H. Als explizite Gleichung wird die Gleichung (4.32) verwendet. fi−1, j = ā∗j fi, j−1 + b̄∗j fi, j + c̄∗j fi, j+1 , wobei 47 Vgl.[1, 1 ā∗j = ∆t σ2 j2 − r j = −a j , 2 ∗ b̄ j = 1 − ∆t(σ2 j2 + r) = 2 − b j , 1 c̄∗j = ∆t σ2 j2 + r j = −c j . 2 S.18]. 4 Finite-Differenzen-Methode 55 Der Berechnungsprozess wird in dem folgenden Schritten im MATLAB Code wie folgt bearbeitet: (siehe Anhang Code B.14.48 ) 1. Berechnung der Parameter von (Smax − H), ∆t und ∆S. M = round((Smax-H)/dS) ; dS = (Smax-H)/M; N = round(T/dt); dt = T/N; 2. Erstellen des Gitters mit unterschiedlichen Niveaus S. Durch ∆S und ∆t ergibt sich M und N. 3. Mit Hilfe von MATLAB wird eine (N + 1) × (M + 1) Null Matrix erzeugt. matVal=zeros(M+1,N+1). 4. Funktion linspace(H, Smax , M + 1) ergibt einen Vektor, dabei ist H der Anfangswert, und Smax der Endwert, M + 1 ist die Anzahl der Elemente im Vektor. 5. Erstellung der Randbedingung und Berechnung der Parameter von ā∗j , b̄∗j und c̄∗j . In der folgenden MATLAB Funktion wird ā∗j durch A , b̄∗j durch B und c̄∗j durch C ersetzt. matVal(: ,N+1) = max(K-vetS,0); matVal(1,:) =0; matVal(M+1,:) =0; 6. Erstellung der Matrix M von ā∗j , b̄∗j und c̄∗j mit dem Befehl: M1 = diag(A(3:M),-1)+diag(B(2:M)) + diag(C(2:M-1),1). 7. Berechnung der Barrier Option mit der Formel fi = M ∗ fi+1 : matVal(2:M,i)=M1*matVal(2:M,i+1); Beispiel 4.6. Es gelten die gleichen Voraussetzungen, wie im Beispiel 4.2. mit S0 = 50, K = 50, r = 0.1, σ = 0.4, H = 40, Smax = 100, ∆S = 0.5, T = 5/12. Angenommen, dass ∆t = 1/120 ist, so lautet das Ergebnis wie folgt: >> BarrierDOPut_Exp(50,50,0.1,5/12,0.4,40,100,0.5,1/120) ans = -8.3102e+068 48 In [2, 479] wird die Vanilla Option bewertet. Hier wird ebenfalls die Randbedingung der Barrier Option berücksichtigt, um die Option korrekt bewerten zu können. 4 Finite-Differenzen-Methode 56 Dieses Ergebnis ist unzulässig. Deshalb wird ein andere Wert für ∆t versucht . Es wird hierfür ∆t mit ∆t = 1/12000 ersetzt. Dadurch ergibt sich folgendes Ergebnis: >> BarrierDOPut_Exp(50,50,0.1,5/12,0.4,40,100,0.5,1/12000) ans = 0.5413 Dieses Ergebnis zeigt, dass die Berechnung mit der expliziten Methode eine Instabilität aufweist bei einer zu groben Aufteilung. Ist ∆t nicht hinreichend klein gewählt, so kann die Lösung unzulässig sein. Um eine zulässige Lösung zu erhalten, muss ∆t in einen bestimmten Bereich liegen. Die Barrier Option allerdings kann durch den modifizierten expliziten Finiten-Differenzen Ansatz bewertet werden, um das Stabilitätsproblem zu beseitigen. Das Stabilitätsproblem entsteht, da man mit einer Rechenarithmetik mit endlicher Genauigkeit versucht, die Differenzialgleichung zu lösen. Dies führt zu Rundungsfehlen in der numerischen Lösung der Gleichung (4.32). Wenn diese Rundungsfehler nicht bei jeder Iteration vergrößert werden, so ist die Lösung stabil. Wenn der Rundungsfehler in der Größenordnung bei jeder Iteration des Lösungsverfahren wächst, zeitgt sich die instabilität.49 4.4.3 Modifizierter expliziter finiter Differenzen Ansatz zur Barrier Optionsbewertung Im Folgenden wird der modifizierte explizite finite Differenzen Ansatz verwendent, der von Yisong (Sam) Tian [1] bereits eingeführt wurde. Wie in Kapitel 2 gezeigt, lasst sich der Optionspreis f durch folgende partiellen Differentialgleichung (2.8) bestimmen: ∂ f 1 ∂2 f 2 2 ∂f + rS + σ St = r f . ∂t ∂S 2 ∂S2 Hierbei ist r der risikolose Zinssatz, σ ist die Volatilität. 49 Vgl.[20, S.284]. 4 Finite-Differenzen-Methode 57 Es wird die Gleichung transformiert durch y(t) = ln S(t). Dann gilt für ∂f ∂S und ∂2 f : ∂S2 ∂f ∂ f ∂y ∂ f 1 = · = · , ∂S ∂y ∂S ∂y S 1 ∂2 f ∂y ∂ f 1 ∂2 f ∂ ∂f 1 = · = · 2· + − 2 ∂S2 ∂S ∂y S S ∂S ∂S ∂y S 2 1 ∂ f 1 ∂f = 2· 2− 2· . S ∂y S ∂y Setzt man diese beiden Gleichungen in die Gleichung (2.8) ein, so lautet diese wie folgt: σ2 ∂ f 1 2 ∂ 2 f ∂f + r− + σ = r f. ∂t 2 ∂y 2 ∂S2 (4.34) Zum Zeitpunkt 0 ist der Basispreis S0 : y0 = ln S0 . Betrachtet man eine Down-and-out Call Option mit dem Barrier H < S0 und T dem Fälligkeitszeitpunkt. Es wird das Gitter auf der t-Achse in N ∈ N Zeitintervalle unterteilt, 0, ∆t, 2∆t, ..., N∆t = T. wobei ∆t = NT ist. Sei ∆y ein Intervall in y/M so ist M die Intervallgröße. Die Intervallgröße muss auf der y-Achse so verteilt werden, damit die Barrier, H = ln H, immer auf dem Gitter liegt. Das Gitter wird wie folgt unterteilt: H, H + ∆y, H + 2∆y, ..., H + M∆y. Der Einfachheit halber wird angenommen, dass fi, j = f (i∆t, H + j∆y) für i = 0, 1, 2, ..., N, und j = 0, 1, ..., M gilt. Approximieren der Differentialgleichung von f in Gitterpunkt (i∆t, H + j∆y), fi+1, j − fi, j ∂f = , ∂t ∆t fi+1, j+1 − fi+1, j+1 ∂f = , ∂y 2∆y fi+1, j+1 + fi+1, j−1 − 2 fi+1, j ∂2 f = , ∂y2 ∆y2 (4.35) 4 Finite-Differenzen-Methode 58 Beim Einsetzen der obigen Gleichung in die Gleichung (4.34), ergibt sich die folgende rekursive Gleichung: fi, j = 1 (pd fi+1, j−1 + p0 fi+1, j + pu fi+1, j+1 ), 1 + r∆t mit (4.36) σ2 ∆t q̃∆t + , 2∆y2 2∆y σ2 ∆t p0 = 1 − , ∆y2 σ2 ∆t q̃∆t pd = − , 2∆y2 2∆y pu = 2 und q̃ = r − σ2 . Es wird ein Gitter so gewählt, dass √ ∆y = λσ ∆t, wobei λ eine Konstante ist. Um die Stabilität sicherzustellen, muss λ ≥ 1 sein. Für den λ √ Wert λ = 1.5 ergeben sich für die Wahrscheinlichkeiten folgende Gleichungen, wobei die schnellste Konvergenz im Preis inbegriffen ist.50 √ 1 q̃ ∆t pu = 2 + , 2λ 2λσ 1 p0 = 1 − 2 , λ √ 1 q̃ ∆t pd = 2 − . 2λ 2λσ (4.37) Eine hinreichende Bedingung für Konvergenz ist, dass pu , p0 und pd nicht negativ für hinreichende kleines ∆t sein müssen. Und pu + p0 + pd = 1. Es wird die rekursive Gleichung (4.36) unter dieser Bedingung, f (N, j) = max{eH+ j∆y − K, 0} für j = 0, 1, ..., M verwendet. 50 Vgl. [1, S.23-24] 4 Finite-Differenzen-Methode 59 Die Randbedingung lautet f (i, 0) = 0, für i = 0, 1, 2, ..., N, f (N, 0) = 0, als N → ∞. Der Wert der Barrier Option kann rekursiv bestimmt werden. Beispiel 4.7. Es gelten die gleichen Voraussetzungen wie in Beispiel 4.2, mit den Werten S0 = 50, K = 50, r = 0.1, σ = 0.4, H = 40, SMax = 100, ∆S = 0.5, T = 5/12. Der Berechnungsprozess wird in dem folgenden Schritten in MATLAB Code durchgeführt: (siehe Anhang Code B.15). √ 1. Es wird λ = 1.5 angenommen, weil diese Zahl die schnellste im Preis inbegriffene Konvergenz ist. 2. Berechnet werden die Parameter von dy , ln Smax − H und ln ∆t: dy = lambda*sigma*sqrt(dt); M = round((log(Smax)-log(H))/dy) ; 3. Mit Hilfe von MATLAB wird eine (N + 1) × (M + 1) Null Matrix erzeugt. F = zeros(M+1,N+1); 4. Die Funktion linspace(log(H), log(Smax), M + 1)0 ergibt einen Vektor. Dabei ist ln H der Anfangswert, ln Smax der Endwert und M + 1 die Anzahl der Elemente im Vektor. 5. Erstellung der Randbedingungen: F(: ,N+1) = max(K-exp(vety),0); F(1,:) =0; F(M+1,:) =0; 6. Erzeugung der Parameter von q̃, pu , p0 und pd : q=r-sigma^2/2; pu = 1/(2*lambda^2) + q*sqrt(dt)/(2*lambda*sigma); po = 1-1/(lambda^2); pd = 1/(2*lambda^2) - q*sqrt(dt)/(2*lambda*sigma); 4 Finite-Differenzen-Methode 60 7. Erstellung der Matrix: F(j,i)=(pd*F(j-1,i+1)+po*F(j,i+1)+pu*F(j+1,i+1))/(1+r*dt); 8. Berechnung der Barrier Option: price = interp1(vety,F(:,1),log(SO)); Wenn ∆t = 1/120 ist, so lauten die Ergebnisse wie folgt: % BarrierDOPut_ModExp(SO,K,r,T,sigma,H,Smax,dt) >> BarrierDOPut_ModExp(50,50,0.1,5/12,0.4,40,100,1/120) ans = 0.4941 Für ∆ mit ∆t = 1/1200 und ∆t = 1/12000 ergibt sich: >> BarrierDOPut_ModExp(50,50,0.1,5/12,0.4,40,100,1/1200) ans = 0.5441 >> BarrierDOPut_ModExp(50,50,0.1,5/12,0.4,40,100,1/12000) ans = 0.5428 Die Abbildung 4.13 zeigt den Kurzvesverlauf mit ∆t = 1/120. Abbildung 4.13: Down-and-out Put Barrier Option mit modifizierter expliziter Differenzen Methode. Quelle: eigene Berechnung. Im nächsten Kapitel wird die Crank-Nicolson-Methode vorgestellt. 4 Finite-Differenzen-Methode 4.5 Crank-Nicolson-Methode 4.5.1 Standard Option Bewertung 61 Das Crank-Nicolson-Schema ist ein Durchschnitt aus expliziter und impliziter FiniteDifferenzen-Methode. Der Vorteil dieser Methode ist, dass sie schneller konvergiert als die explizite oder die implizite Methode.51 Die Differenzengleichung (2.8) lautet: ∂ f 1 ∂2 f 2 2 ∂f + rS + σ St = r f . ∂t ∂S 2 ∂S2 In Punkt (i, j) wird die explizite Methode verwendet. Für Differenzenapproximation: r fi, j = ∂f ∂t gilt eine rückwärts gerichtete fi, j+1 − fi, j−1 1 2 fi, j+1 − 2 fi, j + fi, j−1 fi, j − fi−1, j + r( j∆S) · + · σ ( j∆S)2 · , ∆t 2∆S 2 (∆S)2 oder r fi, j = fi, j − fi−1, j 1 1 + r j( fi, j+1 − fi, j−1 ) + σ2 j2 ( fi, j+1 − 2 fi, j + fi, j−1 ). ∆t 2 2 In Punkt (i − 1, j) kommt die implizite Methode zum Einsatz. Für gerichtete Differenzenapproximation verwendet: r fi−1, j = ∂f ∂t (4.38) wird eine vorwärts fi−1, j+1 − fi−1, j−1 fi, j − fi−1, j + r( j∆S) ∆t 2∆S f − 2 f 1 2 i−1, j+1 i−1, j + f i−1, j−1 + σ ( j∆S)2 · , 2 (∆S)2 oder r fi−1, j = fi, j − fi−1, j 1 + r j( fi−1, j+1 − fi−1, j−1 ) ∆t 2 1 2 2 + σ j ( fi−1, j+1 − 2 fi−1, j + fi−1, j−1 ). 2 (4.39) Im Durchschnitt erhält man für die explizite und implizite Finite-Differenzen Methode: 1 1 r fi, j + r fi−1, j 2 2 fi, j − fi−1, j 1 = + r j( fi, j+1 − fi, j−1 + fi−1, j+1 − fi−1, j−1 ) ∆t 4 1 2 2 + σ j ( fi, j+1 − 2 fi, j + fi, j−1 + fi−1, j+1 − 2 fi−1, j + fi−1, j−1 ), 4 51 [6, S.515] (4.40) 4 Finite-Differenzen-Methode 62 Die Gleichung kann wie folgt transformiert werden: 1 1 1 ∆t(σ2 j2 − r j) fi, j−1 + (1 − ∆t(σ2 j2 + r)) fi, j + ∆t(σ2 j2 + r j) fi, j+1 4 2 4 1 1 1 = ∆t(r j − σ2 j2 ) fi−1, j−1 + (1 + ∆t(σ2 j2 + r)) fi−1, j + (− )∆t(σ2 j2 + r j) fi, j+1 . 4 2 4 (4.41) Die Gleichung lässt sich zusammenfassen: α j fi, j−1 + (1 + β j ) fi, j + γ j fi, j+1 = −α j fi−1, j−1 + (1 − β j ) fi−1, j − γ j fi−1, j+1 , (4.42) wobei 1 α j = ∆t(σ2 j2 − r j), 4 1 (4.43) β j = − ∆t(σ2 j2 + r), 2 1 γ j = ∆t(σ2 j2 + r j). 4 Die konkret Berechnung nach Cranke-Noclson erfolgt nun. Dabei gilt für die explizite Methode die folgende Gleichung (4.33) fi−1, j = −a j fi, j−1 + (2 − b j ) fi, j − c j fi, j+1 . Für die implizite Methode ergibt sich die Gleichung (4.21), in der i durch i − 1 ersetzt wird: fi, j = a j fi−1, j−1 + b j fi−1, j + c j fi−1, j+1 . Nach der Crank-Nicolson Methode werden diese beiden Gleichungen gemittelt: fi−1, j + a j fi−1, j−1 + b j fi−1, j + c j fi−1, j+1 = fi, j − a j fi, j−1 + (2 − b j ) fi, j − c j fi, j+1 , dann wird die Gleichung umgestellt und α j , β j und γ j in die Gleichung eingesetzt: α j fi, j−1 + (1 + β j ) fi, j + γ j fi, j+1 = −α j fi−1, j−1 + (1 − β j ) fi−1, j − γ j fi−1, j+1 . (4.44) Es wird eine Put Option betrachtet. Für die Randbedingung gilt: fi,M = 0, i = 0, 1, ..., N, j = M, fi,0 = Ke−r(T −t) , i = 0, 1, ..., N, j = 0. (4.45) 4 Finite-Differenzen-Methode 63 Die Gleichung wird in eine Matrix transformiert:52 M1 f j−1 = M2 f j , wobei 1 − β1 −γ1 −γ2 −α2 1 − β2 . ... ... .. M1 = −αM−2 1 − βM−2 −γM−2 −αM−1 1 − βM−1 1 + β1 γ1 1 + β2 γ2 α2 . . .. .. .. M2 = . αM−2 1 + βM−2 γM−2 αM−1 1 + βM−1 (4.46) f j = [ f1 j , f2 j , ..., fM−1, j ]T . Beispiel 4.8. Es wird der Optionswert einer Put Option mit Hilfe Crank-Nicolson-Methode bestimmt. Es gelten die gleichen Voraussetzungen, wie in Beispiel (4.1). Der dazugehörige Code findet sich im Anhang B.12.53 Daraus ergibt sich ein Preis von 3.9816 (siehe Tabelle 6). % BSPut_CN(SO,K,r,T,sigma,Smax,M,N) >> BSPut_CN(50,50,0.1,5/12,0.4,100,20,10) ans = 3.9816 Der durch die Black-Scholes-Formel gegebene Preis der europäischen Put Option ist 4.0760. (Code siehe Anhang B.6). Mit der Finite-Differenzen-Methode kann die Werte der Funktion fi j approximiert werden. Wenn man das Intervall ∆S nicht exakt unterteilt, befindet sich der Punkt fi j nicht auf dem Gitter. In der Simulation kann man dieses Problem durch den Befehl Interp1 (Interploation) lösen. Diese wird im folgenden näher erläutert. Beispielsweise wenn Smax = 100 und ∆S = 15, dann ist Si−1 = 3∆S = 45 und Si+1 = 4∆S = 60. Si = 50 liegt somit nicht in dem Gitter. Um den Wert in Punkt fi , zu berechnen, wird wie folgt vorgegangen (in MATLAB:price = interp1(VetS, maval(:, 1), 50)): fi = 52 [2, S.486] Vgl.[2, S.487] 53 Code Si − Si−1 × ( fi+1 − fi−1 ). Si+1 − Si 4 Finite-Differenzen-Methode 64 CN Zeit/Preis 100.00 95.00 90.00 85.00 80.00 75.00 70.00 65.00 60.00 55.00 50.00 45.00 40.00 35.00 30.00 25.00 20.00 15.00 10.00 5.00 0.00 5.00 0 0.0162 0.0386 0.0750 0.1388 0.2526 0.4550 0.8091 1.4137 2.4110 3.9816 6.3090 9.5040 13.5131 18.1029 22.9843 27.9619 32.9579 37.9348 42.3791 50.0000 4.50 0 0.0110 0.0268 0.0541 0.1045 0.1990 0.3749 0.6964 1.2675 2.2423 3.8197 6.2000 9.4908 13.6042 18.2652 23.1762 28.1612 33.1585 38.1394 42.6335 50.0000 4.00 0 0.0069 0.0173 0.0366 0.0744 0.1496 0.2976 0.5826 1.1139 2.0596 3.6416 6.0811 9.4797 13.7043 18.4345 23.3711 28.3616 33.3599 38.3445 42.8896 50.0000 3.50 0 0.0039 0.0102 0.0227 0.0492 0.1056 0.2245 0.4689 0.9528 1.8607 3.4440 5.9509 9.4725 13.8153 18.6109 23.5687 28.5631 33.5621 38.5501 43.1474 50.0000 3.00 0 0.0019 0.0053 0.0126 0.0294 0.0684 0.1578 0.3575 0.7846 1.6429 3.2222 5.8080 9.4720 13.9391 18.7944 23.7686 28.7657 33.7651 38.7561 43.4069 50.0000 2.50 0 0.0008 0.0023 0.0060 0.0153 0.0392 0.1001 0.2515 0.6108 1.4024 2.9693 5.6506 9.4824 14.0775 18.9845 23.9705 28.9692 33.9689 38.9625 43.6680 50.0000 2.00 0 0.0003 0.0008 0.0023 0.0066 0.0188 0.0543 0.1561 0.4347 1.1347 2.6741 5.4778 9.5101 14.2324 19.1805 24.1741 29.1736 34.1734 39.1693 43.9309 50.0000 1.50 0 0.0001 0.0002 0.0007 0.0021 0.0069 0.0230 0.0784 0.2643 0.8352 2.3166 5.2910 9.5648 14.4045 19.3813 24.3790 29.3789 34.3788 39.3764 44.1955 50.0000 1.00 0 0.0000 0.0000 0.0001 0.0005 0.0017 0.0066 0.0272 0.1170 0.5029 1.8551 5.1012 9.6595 14.5928 19.5856 24.5851 29.5851 34.5850 39.5840 44.4619 50.0000 0.50 0 0.0000 0.0000 0.0000 0.0000 0.0002 0.0009 0.0046 0.0260 0.1645 1.1862 4.9518 9.8073 14.7933 19.7922 24.7921 29.7921 34.7921 39.7918 44.7301 50.0000 0 0 0 0 0 0 0 0 0 0 0 0 5.0000 10.0000 15.0000 20.0000 25.0000 30.0000 35.0000 40.0000 45.0000 50.0000 Tabelle 6: Bewertung der europäischen Option mit der Crank-Nicolson-Methode. Quelle: eigene Berechnung Für die Simulation der Crank-Nicolson-Methode wurde die LU-Zerlegung (LUdecomposition) verwendet. Erklährung der LU-Zerlegung In der linearen Algebra ist die LU-Zerlegung eine Matrix Zerlegung, die eine Matrix aus dem Produkt einer unteren Dreiecksmatrix und einer oberen Dreiecksmatrix besteht. Diese Zerlegung wird bei der numerischen Analyse verwendet, um lineare Gleichungssysteme zu lösen oder die Berechnung der Determinante einer Matrix zu erwirken. Wenn A eine quadratische Matrix ist, dann ist eine LU-Zerlegung die Zerlegung der Form A = LU, wobei L die untere Dreiecksmatrix und U die obere Dreiecksmatrix. Die Idee für die Lösung der ursprünglichen Matrixgleichung ist in der folgenden Form zu finden54 : a11 a12 · · · a1n 1 0 ··· 0 u11 u12 · · · u1n a21 a22 · · · a2n l21 1 · · · 0 0 u22 · · · u2n . = . . .. .. .. . . ··· . · · · . ··· . .. .. an1 an2 · · · ann 54 Vgl.[20, S.299] ln1 ln2 · · · 1 0 0 · · · unn 4 Finite-Differenzen-Methode 65 Die Matrix M1 ist eine tridiagonale Matrix. In der LU Form ergibt sich: 1 − β1 −γ1 −γ2 −α2 1 − β2 . ... ... .. M1 = −αM−2 1 − βM−2 −γM−2 −αM−1 1 − βM−1 1 0 0 ··· l1 = 0 .. . 1 0 ... .. . ... l2 0 ··· 0 ··· ln−1 zi = (−γi ), ui = (1 − βi ) − li = 0 u1 z1 0 ··· 0 .. .. . . 0 u2 z2 · · · . . . . 0 0 . . . 0 0 .. .. 0 . . un−1 zn−1 1 0 ··· 0 0 un wobei u1 = 1 − β1 , (−γi−1 )(−αi−1 ) , ui−1 −αi . ui Aus der Gleichung (4.46) ergibt sich: M1 f j−1 = M2 f j . Mit MATLAB kann diese Matrix zerleget werden (siehe Anhang Code B.12). In MATLAB kann durch die Befehl [L,U] = lu(M1) die Matrix M1 zerlegt werden. Daraus ergibt sich M1 = LU: f j−1 = M1−1 M2 f j = U −1 · L−1 · M2 f j . Die Befehle in MATLAB lauten: f j−1 = U \ (L \ (M2 ∗ f j )). In nächsen Abschnitt wird eine Down-and-out Put Barrier Option betrachtet. 4.5.2 Bewertung einer Barrier Option mit der Crank-Nicolson Methode Betrachtet wird eine Down-and-out Put Barrier Option. Der Bereich wird zwischen H 6 S 6 Smax betrachtet; die Randbedingung ist:55 f (Smax ,t) = 0, f (H,t) = 0. Beispiel 4.9. In diesem Beispiel wird eine vergleich zwischen Black-Scholes-Modell und Crank-Nicolson-Methode vorgenommen. Dazu wird ein Down-and-out Put Option betrachtet. 55 Vgl. [2, S.485] 4 Finite-Differenzen-Methode 66 Die Barrier liegt bei H = 40, Aktienkurs S ist S = 50, Ausübungspreis K = 50, Zinssatz r = 0.1, T = 5/12 und 01686502 = 0.4. Es wird das Ergebnis mit dem Ergebnis der Berechnung mittels Black-Scholes-Modell verglichen, aus dem Beispiel 3.2. Dort ergab sich ein Ergebnis unter den gleichen Voraussetzungen von 0.5424. Die Bewertung mit der Crank-Nicolson-Methode wird wie folgt durchgeführt. (Code siehe Anhang Code B.16).56 1. Berechnung der Parameter Smax , ∆t, H und ∆S, 2. Erstellung des Gitters mit den unterschiedlichen Niveaus von S, 3. Definieren der Randbedingung, 4. Erstellen der Parameter von α, β, γ, 5. Anwendung der LU-Zerlegung zur Errechnung der Matrix A, 6. Berechnung der Matrix, 7. Als Resultat ergibt sich der Optionspreis von t = 0 bis T für jedes Niveau St . % BarrierDOPut_CN(SO,K,r,T,sigma,H,Smax,dS,dt) >> BarrierDOPut_CN(50,50,0.1,5/12,0.4,40,100,0.5,1/200) ans = 0.5413 Abbildung 4.14: Down-and-out Verkaufsoption mit Crank-Nicolson-Methode. Quelle: eigene Darstellung. Die Berechnung mit Hilfe der Crank-Nicolson-Methode konvergiert schneller gegen das korrekt Ergebnis (Preis im Black-Scholes-Modell) als die explizite oder implizite Methode und liefert darüber hinaus auch stabile Ergebnisse. 56 Code Vgl.[2, S.487] 4 Finite-Differenzen-Methode 67 Zum Vergleiche wird das Ergebnis der Monte-Carlo-Simulation verwendet:57 >> BarrierOption_MC_DO(0,50,50,0.1,0.4,40,5/12,10000,10000) ans = 0.5305 Das Ergebnis der Crank-Nicolson-Methode liegt näher am korrekten Ergebnis als das Ergebnis der Monte-Carlo-Simulation. 57 Code siehe Anhang Code B.17 5 5 5.1 Sensitivitäten von Optionspreisen 68 Sensitivitäten von Optionspreisen Sensitivitätskennzahlen In diesem Kapitel werden die Sensitivitätskennzahlen erläutert. Hierbei spielen die Sensitivitätskennzahlen von Optionspreisen eine zentrale Rolle. Diese werden auch als Greeks bezeichnet. Die Greeks sind Preissensitivitäten, die dem Risiko eines derivativen Finanzinstruments quantifizieren. Die am weitesten verbreitete Kennzahlen sind Delta, Gamma, T heta, Vega und Rho.58 Die Sensitivitätskennzahlen messen die Dimension des Risikos in einer Optionsposition.59 Zum Beispiel, misst Delta die absolute Veränderung des Optionspreises in Bezug auf eine kleine Variation im Basiswert. Delta ist die Sensitivität erster Ordnung in Bezug auf den Basiswert. Gamma bezeichnet die Sensitivität zweiter Ordnung in Bezug auf den Basiswert. T heta ist definiert als die Sensitivität in Abhängigkeit von der Zeit t. Die Optionspreise sind an den Finanzmärkten bekannt, die Sensitivität jedoch nicht. Deshalb ist es wichtig, die Sensitivität genau zu berechnen. Für die Berechnungsformeln vergleich Hull [6, Kapitel 15] und Jüngel [5, Kapitel 4]. Für die Risiko- und Renditenbewertung von Kaufoptionen und von allen anderen Derivaten existieren folgende Kennzahlen. ∂f , ∂S 2 ∂ f ∂∆ Gamma: Γ = 2 = , ∂S ∂S ∂f Theta: Θ= , ∂t ∂f Vega: Vega = , ∂σ ∂f Rho: Rho = , ∂r Delta: ∆= wobei f eine Call- oder Put-Option und S der Aktienpreis. Delta ist die prozentuale Veränderung des Preises eines Derivats bei einer Veränderung des Kurses des Basiswerts.60 Unter der Annahme des Black-Scholes-Modell erfüllt der Optionswert f (S,t) einer europäischen Option die Black-Scholes Gleichung aus 2.8. Daraus ergibt sich der folgenden Zusammenhang zwischen den Kennzahlen: 1 Θ + σ2 S2 Γ + rS∆ = r f . 2 58 Vgl.[3, S.123] S.418] 60 Vgl.[6, S.421] 59 Vgl.[6, (5.1) 5 Sensitivitäten von Optionspreisen 69 Aus der Gleichung (2.15) ergibt sich folgendes: 61 ∆ = N(d1 ) > 0, √ Γ = n(d1 )/Sσ T − t, √ √ Θ = −S T − tn(d1 )/2 T − t − rKe−r(T −t) N(d2 ), √ Vega = S T − tn(d1 ), Rho = (T − t)Ke−r(T −t) N(d2 ). d12 Wobei n(d1 ) = √12π e− 2 . Der Beweis für die Aussage ∆ = N(d1 ) > 0 wird in Anhang gezeigt. (Siehr Anhang Beweis A) Die Abbildung 5.1 zeigt, die Verlauf der Sensitivität. Die Abbildung wurde mit einem MATLAB-Programm erzeugt (Code siehe Anhang B.20).62 Abbildung 5.1: Sensitivitätskennzahlen für t = 0 (punktierte Linie), t = 5/4(durchgezogene Linie) und t = 10/4 (dicke Linie), jeweils mit K = 50, T = 5/12, r = 0.1 und σ = 0.4. Quelle: eigene Darstellung 61 Siehe 62 Code [5, S.74]. In der Gleichung (2.15) wird angenommen, dass t = 0. Hier ist mit t ∈ [0, T ). vergleiche [5, S.75] 5 Sensitivitäten von Optionspreisen 70 Eine Veranschaulichung der Sensitivitätkernzahl und wie sich eine Sensitivitätsveränderrung auswirkt, wird in dem folgende Beispiel gezeigt. Beispiel 5.1. Angenommen wird eine fünfmonatige Call Option auf eine dividendenlose Aktie mit einem Aktienkurs von 50 Euro, einem Basispreis von 50 Euro, einem risikolosen Zinssatz von 10% per annum und einer Volatilität von 40% per annum . Der maximale Optionspreis liegt bei 100 Euro. Mit dem MATLAB Programm können die Kernzahle für Delta, Gamma, Theta, Vega und Rho berechnet werden. [Delta Gamma Theta Vega Rho] = Greek_Euro_Call_Option(K,S0,T,t,r,sigma) [Delta Gamma Theta Vega Rho] =Greek_Euro_Call_Option(50,50,5/12,0,0.1,0.4) Somit erhält man folgende Ergebnisse (Code sieht Anhang B.22): Delta = 0.6143, Gamma = 0.0296, T heta = −8.3848, Vega = 12.3493 und Rho = 10.2488. ∆ = 0.6143 bedeutet, dass bei einer Änderung des Aktienpreises um eine Einheit, dass sich der Optionspreis um 61.43% verändert. ∆ = 0 wird als deltaneutral bezeichnet. 63 Gamma = 0.0296 bedeutet, dass bei einer Änderung des Aktienpreises um eine Einheit, dass sich der Delta um 0.0296 verändert. T heta = −8.3848 bedeutet, wenn sich der Zeitraum verändert, der Optionspreis um 0.083848 sinkt. T heta ist negativ, das bedeutet, je näher man den Ausübundszeitpunkt kommt, umso billiger wird der Optionspreis. Wenn ∆ = 0, dann ist die Gleichung (5.1) wird wie folgt: 1 Θ + σ2 S 2 Γ = r f . 2 (5.2) Wenn T heta negativ ist , dann ist Gamma positiv. Wenn der absoluter Wert von Vega groß ist, dann hat die Volatiliät einen groß einfluß auf den Optionspreis. Vega = 12.3493 bedeutet, wenn die Volatiliät sich um 1% verändert, dann steigt der Optionspreis auf 0.123493. Rho = 10.2488 bedeutet, wenn die risikolos Zinssatz sich um auf 1% verändert, dann steigt der Optionspreis auf 0.102488. Die Beziehung des Deltas von einem Call und einem Put stellt sich wie folgt dar:64 ∆ p = ∆c − 1 63 Vgl. 64 [3, [6, S.422] S.125] 5 Sensitivitäten von Optionspreisen 71 Delta der Barrier Option Da in diese Arbeit Barrier Option untersucht werden, wird in diesem Beispiel 5.2 näher auf den Wert Delta in eine Down-and-in Call Barrier Option eingegangen. (Der Beweis für die folgende Gleichung siehe Anhang A): ∆cdi −2r2 +1 " 2 2 # 1 − σ2r2 H S σ H H2 = cvanilla ,t − 2 N d1 ,t . H S S S S Beispiel 5.2. Für die Berechnung des Wertes von Delta bei einer Down-and-in Call Barrier Option werden dieselben Voraussetzungen wie im Beispiel 4.2. mit S0 = 50, K = 50, r = 0.1, σ = 0.4, H = 40 angenommen. (Code siehe Anhang B.21). % funktion Delta = Greek_Euro_Call_DIBarrierOption(K,S0,H,T,t,r,sigma) >>Greek_Euro_Call_DIBarrierOption(50,50,40,5/12,0,0.1,0.4) ans= -0.0467 Je größer Delta ist, desto größer ist die Veränderung des Werte des Call bei einen steigende oder fallende Aktienkurs. Das bedeutet, dass man weniger zahlen muss, jedoch einen größeren Profit erzielen kann. Der Anleger kann sehr schnell nach Kurssteigerungen (im Falle von Call) oder Kurssenkungen (im Falle von Put) profitieren, weil bei diesen mit Hebel gearbeitet wird. Je mehr Gewinn möglich ist, desto großer ist auch das Risiko. In folgenden Kapitel wird die Sensitivitätsanalyse mit der Differenzen-Methode erläutert. 5.2 Sensitivitätsanalyse der Differenzen-Methode Mit der Finite-Differenzen-Methode lässt sich nur Annährungsweise der Wert einer Option bestimmen, daher müssen die Sensitivitätismaße approximiert werden. 65 fi j − fi−1, j , ∆t fi, j+1 − fi, j−1 ∆i j ∼ , 2∆S fi, j+1 − 2 fi j + fi, j−1 Γi j ∼ (∆S)2 fi, j+1 − fi, j−1 Rhoi j ∼ k Θi j ∼ wobei k 6 65 Vgl. 1 .66 σ2 j2 +r [4, Kapiel 12.6] [4, S.142] 66 Siehe 5 Sensitivitäten von Optionspreisen 72 Die Methode zur Berechnung von Sensitivitätsmaßen ähnelt dem Baumverfahren. Daraus er gibt sich, dass Delta, Gamma und Theta direkt durch den Punkt fi, j des Gitters berechnet werden. Zur Ermittlung von Vega ist es erforderlich, eine kleine Änderung der Volatilität vorzunehmen und den Wert des Derivates unter Verwendung desselben Gitters neu zu berechnen.67 Beispiel 5.3. In diesen Beispiel wird gezeigt, wie man Delta mit der Finite-DifferenzenMethode errechnet. Es gelten die gleiche Daten wie im Bespiel 4.1. Es handelt sich hierbei um eine Put Option. Es gilt: ∆ p (S,t) = ∂p p(S + ∆S,t) − p(S − ∆S,t) ≈ ∂S 2∆S In der Tabelle 3 kann man die Optionswert an der Stelle bei T = 5 und S = 55 ablesen. Der Optionswert liegt bei 2.35. Wenn S = 45 liegt der Optionswert bei 6.27. Um den Delta des Optionswerts für S = 50 zu bestimmen, kann wie folgt vorgegangen werden: ∆ p (50, 0) = 2.35 − 6.27 ≈ −0.3940. 2×5 Der Wert Delta einer Call Option beträgt ∆c (50, 0) = 1 − 0.3940 = 0.6160. Durch folgende Berechnung mittels des MATLAB Programms wird ein Wert in höhe von −0.3916 für das Delta der Put Option bestimmt (Code siehe Anhang CodeB.23): Mit dem Befehl mesh(Delta) wird die Abbildung 5.2 erzeugt, Diese Abbildung 5.2 zeigt die Beziehung zwischen Delta und dem Basiswert an. Abbildung 5.2: Das Delta mit folgende Annahme: K = 50, T = 5/12, r = 0.1 und σ = 0.4. Quelle: eigene Darstellung 67 [6, S.516] 6 6 Fazit 73 Fazit Im Zentrum dieser Arbeit wurde ein Vergleich zwischen der Optionsbewertung mittels der Black-Scholes- und der Finiten-Differenzen-Methode durchgeführt. Das Black-Scholes-Modell ist sehr gut zur Bewertung von europäischen Optionen geeignet. Die Finite-Differenzen-Methode hingegen kann zur Bewertung von amerikanischen und europäischen Optionen verwendet werden. Im Anschluss wurden die grundlegenden mathematischen Annahmen der Optionsbewertung vorgestellt. Darauf aufbauend wurde das Black-Scholes-Modell thematisiert und der Prozess der Bewertung von Optionen vorgestellt. Des Weiteren wurden die Eigenschaften der Barrier Option erläutert. Zusätzlich wurden die Formeln und Funktionen zur Bestimmung des Wertes einer Barrier Optionen dargestellt und darauf basierend, mit Hilfe von MATLAB, eigene Berechnungen durchgeführt. Unter Berücksichtigung dieser Ergebnisse konnte in Kapitel 4 ein direkter Vergleich zwischen der Berechnung des Optionspreises mit der Finiten-Differenzen-Methode und der Black-Scholes-Modell vorgenommen werden. Als nächstes wurde die Finite-Differenzen-Methode vorgestellt. Diese Methode lässt sich in die implizite, explizite und die Crank-Nicolson-Methode unterteilen. Für jede dieser Methoden wurde eine europäischen und amerikanische Standard Optionen berechnet. Dies wurde auch Beispielhaft bei der implizite Methode für europäische Barrier Optionen und amerikanische Barrier Optionen durchgeführt. Dadurch zeigt sich, im Vergleich zur Black-Scholes Gleichung die Vorteilhaftigkeit, da die Black-Scholes Gleichung nur zur Analyse von europäischen Option eingesetzt wird. Im Vergleich der drei Methode zeigt sich, dass die implizite Finite-Differenzen-Methode stabile Ergebnisse liefert, aber kompliziert in der Anwendung ist. Mit der expliziten FiniteDifferenzen-Methode lässt sich schnell und relativ einfach rechnen, aber das Ergebnis ist instabil, weil es bei diesem Verfahren Rundungsfehler gibt. Um das Stabilitätsproblem zu beseitigen, wird eine modifizierter expliziter Finite-Differenzen-Methode vorgestellt. Nach der Modifizierung ist das Ergebnis stabil. Zur Berechnung eine Barrier Option ist am ehesten geeignet die Crank-Nicolson-Methode, da diese schneller gegen das korrekte Ergebnis (Preis im BS Modell) konvergiert, als die explizite oder implizite Methode und darüber hinaus auch stabile Ergebnisse lieferte. Dabei wurden mit Hilfe des MATLAB-Programms Beispiele für aller drei FiniteDifferenzen-Methoden erstellt und entsprechende Funktionen programmiert. Die Sensitivitätskennzahlen spielen von Optionspreisen eine zentrale Rolle. In dem Kapitel zur Sensitivitätsanalyse wird ein Überblick über die Kernzahlen für das Black-ScholesModell und die Finite-Differenzen-Methode geliefert. Es zeigt sich, dass die bereits vorher aufgetretene Ungenauigkeit bei der Finite-Differenzen-Methoden auch bei den Sensitivitätskernzahlen zu abweichenden Ergebnissen im Vergleich zum Black-Scholes-Modell fürhren. 6 Fazit 74 Welches Verfahren verwendet wird, hängt davon ab, welche Zielvorgaben existieren. Sind ausschließlich kurzzeitige Optionen zu bewerten, so bietet sich die Black-Scholes-Gleichung als gutes Lösungsmodell an. Für die Bewertung von langfristigen Optionen eignet sich jedoch eher die Finite-Differenzen-Methode, da die Berechnungen mit dieser effizienter durchgeführt werden kann. MATLAB ist als ein Softwarepaket für numerische Berechnung praktisch. Diese Arbeit hat für die drei verschiedenen Finite-Differenzen-Methode die Beispielen dargestellt, die mit MATLAB programmiert wurden. Um die Ergebnisse und Graphik erhalten. Anhang 75 Anhang A Beweise und Theoreme Beweis der Black-Scholes Bewertungs-Formel (2.15) Proof. Wenn die Gleichung (2.15) bewiesen wird. Ergibt sich aus der Call-Put-Parity die Gleichung (2.16). Für den Beweis, vergleiche [6, Kapitel 13, S.310]. Der Aktienkurs zum Zeitunkt Null ist S0 , die volatilität ist σ. Der Call-Preis ist gegeben durch c = e−rT Ê max[(ST − K), 0], wobei ST ist der Vermögenswert zum Fälligkeit T und Ê bezeichnet die Erwartung in einer risikoneutralen Welt. Bei Linearität gilt c = e−rT Ê ((ST − K)1ST >K ) = ÊST 1ST >K − K · P̂(ST > K) . (A.1) In Gleichung (1.12) erhält man P̂(ST > K) = N(d2 ), wobei 2 √ ln SK0 + (r − σ2 )T √ = d1 − σ T . d2 = σ T Es muss nur für ÊST 1ST >K berechnet werden. In der risikoneutralen Welt ST , ist ein Log-normal Verteilung: ln ST ∼ N(m, ω), wobei m = ln S0 + (r − 21 σ2 )T und ω = σ2 T . Die Wahrscheinlichkeitsdichtefunktion von ST ist 1 (ln x − m)2 h(x) = √ exp − 1{x>0} . 2ω2 x 2πω2 Anhang 76 Daher, ÊST 1{ST >K} Z +∞ = x · h(x)dx k (ln x − m)2 ln x − m 1 √ exp − dx (Annahme: y = = , x = eωy+m ). 2 2ω ω k 2πω 2 Z +∞ 1 y = ln k−m √ exp − · exp (ωy + m) dy 2 2π ω Z +∞ 2 (y − ω)2 1 1 m+ ω2 √ exp − dy (dy = dx, dx = ωeωy+m dy) =e ln k−m 2 xω 2π ω ω2 ln k − m m+ 2 =e −ω . N − ω (A.2) Z +∞ Sei m+ und Daher ω2 1 σ2 T = ln S0 + (r − σ2 )T + = ln S0 + rT, 2 2 2 ln k − m − −ω ω ln k − ln S0 − (r − 12 σ2 )T − σ2 T √ =− σ T ln SK0 + rT + 12 σ2 T √ = = d1 . σ T h i c = e−rT eln S0 +rT N(d1 ) − kN(d2 ) = e−rT S0 erT N(d1 ) − kN(d2 ) (A.3) (A.4) = S0 N(d1 ) − ke−rT N(d2 ). Dies beweist die Gleichung (2.15). Beweis für die Transformation (3.7), (3.8) und (3.9) Proof. Es wird die Annahme f = Hu verwendet. hier ex = S H ist. ∂f ∂Hu ∂u = =H· , ∂t ∂t ∂t (A.5) ∂f ∂(Hu) H · ∂u ∂u ∂u H ∂u = = = x= x = , x x ∂S ∂(He ) H · ∂(e ) ∂e e ∂x S ∂x (A.6) Anhang 77 Es wird weiter für ∂ ∂S ∂2 f ∂ ∂f ∂ H ∂u = = · ∂S2 ∂S ∂S ∂S S ∂x ∂ H ∂u H ∂ ∂u = · + · ∂S S ∂x S ∂S ∂x ∂ 1 ∂u H ∂ ∂u =H· · + · . ∂S S ∂x S ∂S ∂x 1 ∂ ∂u und S ∂S ∂x berechnet: ∂ 1 ∂ 1 1 = · · = S ∂(H · ex ) H · ex Hex ∂x H · ex 1 ∂ −x 1 = 2 x· e = 2 x · −e−x H e ∂x H e 1 1 1 = − 2 x 2 = − 2 S 2 = − 2, H (e ) S H (H ) ∂ 1 1 1 0 1 oder kann man direkt ∂S = − haben, weil nach 2 S x = − x2 . S (A.7) ∂ ∂S ∂ ∂S ∂u ∂x ∂ ∂u 1 ∂2 u = · = · . Hex ∂x ∂x Hex ∂x2 (A.8) (A.9) Das Ergebnisse von (A.8) und (A.9) wird in (A.7) eingesetzt: ∂2 f 1 ∂u H 1 ∂2 u + · =H· − 2 · ∂S2 S ∂x S Hex ∂x2 H ∂u H ∂2 u = − 2 · + 2 · 2. S ∂x S ∂x (A.10) Durch die Ergebnisse von (A.5), (A.6) und (A.7) kann die Gleichung (3.3) transformiert werden: 1 2 2 H ∂u H ∂2 u ∂u H · +r·S·+ σ S · − 2 · + 2 · 2 , (A.11) ∂t 2 S ∂x S ∂x dann ist ∂u 1 2 ∂2 u 1 ∂u + σ 2 + (r − σ2 ) − ru = 0. ∂t 2 ∂x 2 ∂x (A.12) Randbedingung von (3.4), f (S, T ) = (S − K)+ , Hu = (Hex − K)+ , K u = (ex − )+ , H x u = (e − H)+ . hier KH = K H. für x = ln HS , weil S > H, dann ist Von (3.5): f (H,t) = 0 Weil f = Hu, dann u(H,t) = 0. S H (A.13) > 1, d,h, 0 < x < ∞. Anhang 78 Beweis für die Transformation (3.11), (3.12) und (3.13) Proof. Die Formel von (3.11), (3.12) und (3.13) wird abgeleitet. ∂u ∂ αx+β(T −t) ∂W = e W + eαx+β(T −t) · ∂t ∂t ∂t ∂W , = eαx+β(T −t) · (−β)W + eαx+β(T −t) ∂t (A.14) ∂u ∂W = eαx+β(T −t) · α ·W + eαx+β(T −t) · , (A.15) ∂x ∂x ∂ ∂2 u ∂ αx+β(T −t) αx+β(T −t) ∂W = e · α ·W + e · ∂x2 ∂x ∂x ∂x ∂W (A.16) = eαx+β(T −t) · α2 ·W + eαx+β(T −t) · α · ∂x ∂2W ∂W + eαx+β(T −t) 2 + eαx+β(T −t) · α · . ∂x ∂x Annahme: γ = αx + β(T − t), die (A.14), (A.15) und (A.16) in die Gleichung (3.7) einsetzen, dann ergibt sich die Gleichung: ∂W eγ (−β)W + eγ ∂t 2 ∂W 1 2 ∂W γ 2 γ γ ∂ W γ +e · 2 +e ·α + σ · e · α ·W + e · α 2 ∂x ∂x ∂x 1 ∂W + (r − σ2 ) eγ · α ·W + eγ 2 ∂x (A.17) + r · eγ ·W = 0, dann ist ∂W 1 2 2 1 2 +W −β + σ · α + (r − σ α − r) ∂t 2 2 ∂W 1 2 1 2 1 2 σ · α + σ · α + (r − σ ) + ∂x 2 2 2 2 ∂W 1 + 2 · σ2 ∂x 2 = 0. 2 (A.18) 2 α = − σ12 (r − σ2 ), β = −r − 2σ1 2 (r − σ2 )2 in die Gleichung (A.18) einsetzen, erhält man (3.11): ∂W 1 2 ∂2W + σ = 0. ∂t 2 ∂x2 Anhang 79 Beweis die Delta und Gamma Proof. Es wird bewiesen, dass ∆ = N(d1 ) ist. Nach der Gleichung (2.15) ist der Preis der Call Option wie folgt. c ist die Call Option und p die Put Option: c = SN(d1 ) − Ke−rT N(d2 ). In der Gleichung wird angenommen, dass t = 0 ist. Nachfolgende wird angenommen, dass t , 0 ist. Dann wird die Call Option c als c(S,t) bezeichnet. 2 ln KS + (r + σ2 )(T − t) √ , d1 = σ T −t 2 √ ln KS + (r − σ2 )(T − t) √ d2 = = d1 − σ T − t. σ T −t ∆c = ∂c ∂N(d1 ) ∂N(d2 ) = N(d1 ) + S − Ke−r(T −t) . ∂S ∂S ∂S Z d1 N(d1 ) = −∞ x2 1 √ e− 2 dx, 2π d12 ∂d 1 1 ∂N(d1 ) 1 √ = √ e− 2 · = n(d1 ), ∂S ∂S Sσ T − t 2π wobei n(d1 ) = √1 e− 2π d12 2 (A.19) (A.20) ist. Es ergibt sich Ke−r(T −t) ∂N(d2 ) 1 = Ke−r(T −t) √ n(d2 ) ∂S Sσ T − t d2 2 1 1 √ e− 2 , = Ke−r(T −t) √ Sσ T − t 2π √ bei d2 = d1 − σ T − t √ d1 2 −2d1 σ T −t+σ2 (T −t) 1 1 2 √ √ e− = Ke Sσ T − t 2π d12 σ2 (T −t) 1 1 S σ2 √ e− 2 e− 2 e( ln + (r + )(T − t)), = Ke−r(T −t) √ K 2 Sσ T − t 2π −r(T −t) S durch einsetzen von eln K = S K ergibt sich Ke−r(T −t) ∂N(d2 ) 1 √ = n(d1 ). ∂S Sσ T − t (A.21) Anhang 80 Es wird (A.20) und (A.21) in (A.19) eingesetzt. ∆= 1 ∂c 1 √ √ n(d1 ) − n(d1 ) = N(d1 ). = N(d1 ) + ∂S Sσ T − t Sσ T − t Für die Gamma gilt: Γc = ∂∆c ∂N(d1 ) 1 √ n(d1 ). = = ∂S ∂S Sσ T − t Berechnung des Deltas einer Barrier Option Proof. Es wird die Gleichung (3.19) verwendet: −2r2 +1 2 S σ H cdi (S,t) = cvanilla ,t . H S Das Delta ist die Ableitung nach S. 2 2 ∂ ∂ H2 H H ∂ cvanilla ,t = H 2 cvanilla ,t · ∂S S S ∂S S ∂S H2 H2 = − 2 N d1 ,t . S S dann ist ∂cdi ∂S −2r 2 2 −2r2 +1 ∂ S σ2 +1 S σ H H ∂ = · cvanilla ,t + cvanilla ,t ∂S H S H ∂S S −2r2 2 " −2r2 +1 2 2 # 2r S σ 1 H H S σ H = 1− 2 · cvanilla ,t + − N d1 ,t 2 σ H H S H S S 2 2 # −2r2 +1 " 1 − σ2r2 H H2 H S σ = cvanilla ,t − 2 N d1 ,t . H S S S S ∆cdi = Anhang B Code Allgemeine Symbol Bedeutung S0 = Aktienkurs zum Zeitpunkt t = 0 T = Fälligkeit dT = Zeitintervall sigma = σ, Volatilität r = risiklos Zinssatz K = Ausübungspreis H = Barriere Code B.1. Simulation des Wiener-Prozess. function [bb]=BB_Simulation(T,dT,m) % function BB_Simulation(T,dT) % Simulation fuer m-mal Beispiel mit Brown’sche Bewegung in [0,T] % mit Zeitschritt dT. % m = Anzahl des Beispiel. % n = Anzahl des Schritt. % Beispiel: BB_Simulation(2,0.2,5). n=fix(T/dT); bb=zeros(n+1,m); for i=1:1:n bb(i+1,:)=bb(i,:)+sqrt(dT)*randn(1,m); end end Code B.2. Simulation für Pfade eines Wiener Prozesses.(Abbildung 1.2) function [paths]=BB_Path(T,dT,m) % function BB_Path(T,dT,m) % Simulation fuer m paths mit Brownian Motion im Zeitraum [0,T] % mit Zeit Schritt dT (verwenden function BB_MC(T,n)). % m = Anzahle des Pfades. % Time = Sequenz des Zeitschrittes. % Beispiel: BB_Path(2,0.01,4) Time=0:dT:T; plot(Time,BB_Simulation(T,dT,m)) 81 Anhang 82 Code B.3. Simulation of Geometric Brownian Motion. Code von Table 1 function [gbb]=GeomBB_Simulation(S0,T,mu,sigma,dT) % function GeomBB_Simulation(S0,T,mu,sigma,dT) % mu = drift coefficient % Bsp.: Hull 6. Auflage, S. 334-335, Tabelle 12.1 % GeomBB_Simulation(20.00,0.11,0.14,0.2,0.11) % n = Anzahl der Schritt n=T/dT; gbb=zeros(n+1,3); gbb(1,1)=S0; gbb(1,2)=randn(1,1); gbb(1,3)=mu*S0*dT+sigma*S0*sqrt(dT)*gbb(1,2); for i=1:1:n gbb(i+1,1)=gbb(i,1)+gbb(i,3); gbb(i+1,2)=randn(1,1); % der Ausdruck $Randn(\cdot)$ euzeugt eine Zufallszahl zwischen $0$ und $1$ gbb(i+1,3)=mu*gbb(i+1,1)*dT+sigma*gbb(i+1,1)*sqrt(dT)*gbb(i+1,2); end end Anhang 83 Code B.4. Monte-Carlo-Simulation für Pfade der geometrischen Brownschen Bewegung. (Abbildung 1.3.) function [paths]=GeomBB_Path(S0,T,mu,sigma,dT,m) % function GeomBB_Path(S0,T,r,sigma,dT,m) % verwenden: function GeomBB_Simulation(S0,T,r,sigma,n) % m = Anzahl des Pfades % Beispiel : GeomBB_Path(20.00,0.1,0.14,0.2,0.00041,4); % vergleicht: Hull 6. Auflage, S. 334-335, Tabelle 12.1 % n = Anzahl des Schritt % Zeit Sequenz Time=0:dT:T; % Anzahle der Schritt fuer jeder Pades n=fix(T/dT); % m Pfades: jeder Reihe ist ein Pfade. paths=zeros(m,n+1); for i=1:1:m A=GeomBB_Simulation(S0,T,mu,sigma,dT); paths(i,:)=A(:,1)’; end plot(Time,paths); Code B.5. Simulation des Underlying asset. function UnderlyingAssetBSModel(S0,T,r,sigma,m,n) % Black-Scholes Modell fuer die Aktienkurs am Zeitpunkt T % m,n = zu eine m mal n Matrix von die beliebige Anzahl bekommt % Beispiel: Hull 6. Auflage, Page 347, Beispiel 13.1 % UnderlyingAssetBSModel(40,0.5,0.16,0.2,4,1) S0*exp((r-sigma^2/2)*T+sigma*sqrt(T)*randn(m,n)) end Anhang Code B.6. European Call/Put Optionsbewertung mit Monte-Carlo-Simulation. function [price] = EuroOptionPricingMCBSModel(CallPut,S0,T,r,sigma,K,n) % Europeaische Optionsbewertung mit Monte Carlo Simulation % CallPut: Call=1,Put=0. % n = Anzahl des Experiment. % Beispiel: Hull 6. Auflage, Page 364, Beispiel 13.6 % Call: EuroOptionPricingMCBSModel(1,42,0.5,0.1,0.2,40,100) ST=UnderlyingAssetBSModel(S0,T,r,sigma,1,n); % V = Payoff if CallPut V= max(ST-K,0); end if ~CallPut V = max(K-ST,0); end % Vbar: mean Payoff, arithmetische Mittel von Payoff Vbar=mean(V); % Diskontieren Auszahlung price=exp(-r*T)*Vbar; end 84 Anhang 85 Code B.7. Option Bewertung (Call/Put) mit Black-Scholes Formula. function [Y] = EuroOptionPricingBS(CallPut,K,S0,T,r,sigma) % function [Y] = EuroOptionPricingBS(CallPut,K,S0,T,r,sigma) % European Call/Put Option Bewertung via die Black-Scholes Formula % CallPut = Call = 1, Put = 0 dt df d1 d2 = = = = sigma * sqrt(T); r + 0.5 * sigma ^ 2; (log( S0 / K ) + df * T ) / dt; d1 - dt; Nd1 = 0.5*erfc(-d1/sqrt(2)); Nd2 = 0.5*erfc(-d2/sqrt(2)); if CallPut % Call Y = S0 * Nd1 - K * exp(-r * T) * Nd2; end if ~CallPut % Put Y = -S0 * (1-Nd1) + end end K * exp(-r * T) * (1-Nd2); Anhang Code B.8. Barrier Option Bewertung mit Monte Carlo Simulation. function [P] =BarrierOption_MC_DO(CallPut,S0,K,r,sigma,H,T,nTime,nPath) % Barrier Optionsbewertung: Down-andout, call/put option % CallPut= 1: bedeutet fuer Call Optio; %CallPut= 0 : bedeutet fuer Put Optio; % nTime = Anzahl des Zeit Schritt % nPath = Anzahl des Pfades % BarrierOption_MC_DO(0,50,50,0.1,0.4,30,5/12,10000,10000)=3.2393 payoff = zeros(nPath,1); % Zeit Schritt dt=T/nTime; nu_dt=(r-0.5*sigma^2)*dt; sigma_dt=sigma*sqrt(dt); for i=1:nPath S=S0; j=1; while (S>=H & j<nTime) S=S*exp(nu_dt+sigma_dt*randn); j=j+1; end if j>=nTime if CallPut payoff(i)=max(0,S-K); elseif ~CallPut payoff(i)=max(0,K-S); else payoff(i)=0; end end P=exp(-r*T)*mean(payoff); end 86 Anhang 87 Code B.9. Barrier Option Bewertung mit BS-Modell. function [Y] = EuroOptionBarrierForm(CallPut,UpDown,InOut,K,S,H,T,r,sigma) % Code Vergleich Brandimarte,P. Seit 121. % Barrier Option Bewertung: European Call/Put, UpDown, %InOut Barrier Option. % CallPut : Call = 1, Put = 0 % UpDown : Up =1, Down = 0 % InOut : In= 1, Out=0 % Beispiel fuer eine Europaeische Down-and-out Put Option: % EuroOptionBarrierForm(0,0,0,50,50,40,5/12,0.1,0.4) % ans = % 0.5424 hs=H/S; sh=S/H; sk=S/K; skh=S*K/(H^2); a=hs^(-1+(2*r/sigma^2)); b=hs^(1+(2*r/sigma^2)); dt = sigma * sqrt(T); df = r + 0.5 * sigma^2;% berechnen die dg = r - 0.5 * sigma^2; d1 = (log(sk) + df * T ) / dt; d2 = d1 - dt; d3 = (log(sh) + df * T) / dt; d4= d3-dt; d5= ( log(sh) - dg * T) / dt; d6= d5-dt; d7= ( log(skh) - dg * T) / dt; d8= d7-dt; drift term Anhang nd1 nd2 nd3 nd4 nd5 nd6 nd7 nd8 = = = = = = = = 0.5*erfc(-d1/sqrt(2)); 0.5*erfc(-d2/sqrt(2)); 0.5*erfc(-d3/sqrt(2)); 0.5*erfc(-d4/sqrt(2)); 0.5*erfc(-d5/sqrt(2)); 0.5*erfc(-d6/sqrt(2)); 0.5*erfc(-d7/sqrt(2)); 0.5*erfc(-d8/sqrt(2)); if (CallPut & ~UpDown & InOut ) %Down-and-In Call if K>H Y = S*b*(1-nd8) - K * exp(-r * T) * a*(nd5-nd7); end if K<H Y = S*( nd1-nd3+b*(1-nd6))-K*exp(-r*T)*(nd2-nd4-a*(1-nd5)); end end if (CallPut & ~UpDown & ~InOut ) %Down-and-Out Call if K>H Y=S*(nd1-b*(1-nd8))-K*exp(-r*T)*(nd2-a*(1-nd7)); end if K<H Y=S*( nd3-b*(1-nd6))-K * exp(-r * T)*(nd4-a*(1-nd5)); end end if (CallPut & ~UpDown & ~InOut ) %Up-and-Out Call Y = S*(nd1-nd3-b*(nd6-nd8))-K*exp(-r*T)*(nd2-nd4-a*(nd5-nd7)); end if (CallPut & UpDown & InOut) % Up-and-In Call Y =S*( nd3+ b*(nd6-nd8))-K * exp(-r*T)*(nd4+a*(nd5-nd7)); end if ( ~CallPut & ~UpDown & ~InOut ) %Down-and-Out Put Y =-S*(nd3-nd1-b*(nd8-nd6))+K*exp(-r*T)*(nd4-nd2-a*(nd7-nd5)); end 88 Anhang if ( ~CallPut & ~UpDown & InOut ) %Down-and-In Put Y =-S*( 1-nd3+b* (nd8-nd6)) + K * exp(-r * T)*(1-nd4+a*(nd7-nd5)); end if ( ~CallPut & UpDown & ~InOut ) %Up-and-Out Put if K>H Y =-S*( 1-nd3-b*nd6) + K * exp(-r * T) * (1-nd4-a*nd5); end if K<H Y =-S*( 1-nd1-b*nd8) + K * exp(-r * T) * (1-nd2-a*nd7); end end if ( ~CallPut & UpDown & InOut ) %Up-and-In Put if K>H Y =-S*( nd3-nd1+b*nd6) + K * exp(-r * T) * (nd4-nd2+a*nd5); end if K<H Y =-S*b*nd8 - K * exp(-r * T) * a*nd7; end end end 89 Anhang 90 Code B.10. amerikanischen und europäischen VerkaufsOption Bewertung mit implizite FDM. function put=BSEAput(EuroAmerica,Smax, T, M, N, K, r, sigma); % Euro und America Option Bewertung (put) mit implizite Modell. % EuroAmerica : Option Type, Euro option = 0, America option = 1. % Smax : maximum Aktie Preis. % M : Anzahl der Schritte des Aktienkurses ; N : Anzahle der Zeitschritte. % Beispiel: Hull 6. Auflage, S. 509, Beispiel 17.10. % Code vgl: CS522 Lab Note, Finite Difference Approach % to Pricing, 20.12.1998. ds = Smax / M; % Intervall des Aktienkurs dt = T / N; % Zeitintervall J a b c = = = = 1:M-1; .5*r*dt*J - .5*sigma^2*dt*J.^2; 1 + sigma^2*dt*J.^2 + r*dt; -.5*r*dt*J - .5*sigma^2*dt*J.^2; A = diag(a(2:M-1), -1) + diag(b) + diag(c(1:M-2), 1); put = zeros(N+1, M+1); % Randbedingung put(N+1, :) = max(K - [0:ds:Smax], 0); put(:, 1) = K; put(:, M+1) = 0; if EuroAmerica % Amerikanische Option for i = N:-1:1 y = put(i+1, 2:M)’; y(1) = y(1) - a(1)*K; put(i, 2:M) = [A \ y]’; put(i, :) = max(K - [0:ds:Smax], put(i,:)); end end if ~EuroAmerica % European Option for i = N:-1:1 y = put(i+1, 2:M)’; y(1) = y(1) - a(1)*K; put(i, 2:M) = [A \ y]’; end end end Anhang 91 Code B.11. amerikanischen und europäischen VerkaufsOption Bewertung mit explizite FDM. function put= BSEAput_Explicit(EuroAmerica,Smax, T, M, N, K, r, sigma); % Black-Scholes Modell, verwenden explicit finite difference Methode; % fuer Table 17.5 siehe Hull: American Option und explicit methode % EuroAmerica (Option Type): Euro option = 0, America option = 1. % Smax : maximum Aktienkurs % M : Anzahl der Schritte des Aktienkurses ; % N : Anzahle der Zeitschritte. % Beispiel: BSEAPut_Explicit(1,100,5/12,20,10,50,0.1,0.4); ds = Smax / M; dt = T / N; J a b c = = = = % Intervall des Aktienkurs % Zeitintervall 1:M-1; (-.5*r*dt*J + .5*sigma^2*dt*J.^2)/(1+r*dt); (1 - sigma^2*dt*J.^2)/(1+r*dt); (.5*r*dt*J + .5*sigma^2*dt*J.^2)/(1+r*dt); A = diag(a(2:M-1), -1) + diag(b) + diag(c(1:M-2), 1); put = zeros(N+1, M+1); put(N+1, :) = max(K - [0:ds:Smax], 0); put(:, 1) = K; put(:, M+1) = 0; if EuroAmerica for i = N:-1:1 y = zeros(1, M-1); y(1) = a(1)*put(i+1, 1); y(M-1) = c(M-1)*put(i+1,M+1); put(i, 2:M) = put(i+1, 2:M) * A’ + y; put(i, :) = max(K - [0:ds:Smax], put(i,:)); end end if ~EuroAmerica for i = N:-1:1 y = zeros(1, M-1); y(1) = a(1)*put(i+1, 1); y(M-1) = c(M-1)*put(i+1,M+1); put(i, 2:M) = put(i+1, 2:M) * A’ + y; end end Anhang 92 Code B.12. europäischen Verkaufsoption Bewertung mit Crank-Nicolson Methode. function [Put,price] = BSPut_CN(SO,K,r,T,sigma,Smax,M,N) % function price = BSPut_CN(SO,K,r,T,sigma,Smax,dS,dt) % Smax : maximum Aktienkurs % M : Anzahl der Schritte des Aktienkurses ; % N : Anzahle der Zeitschritte. % Beispiel: [price] =BSPut_CN(50,50,0.1,5/12,0.4,100,20,10) % ans = 3.9816 dS = Smax/M; dt = T/N; Put = zeros(M+1,N+1); S = linspace(0,Smax,M+1)’; J = S / dS; % Randbedingung Put(1,:) =K; Put(M+1,:) =0; Put(: ,N+1) = max(K-S,0); % coefficients Matrix alpha =0.25*dt*( sigma^2*(J.^2) - r*J ); beta = -dt*0.5*( sigma^2*(J.^2) + r ); gamma =0.25*dt*( sigma^2*(J.^2) + r*J ); M1 = -diag(alpha(3:M),-1)+diag(1-beta(2:M)) - diag(gamma(2:M-1),1); [L,U] = lu(M1); M2 = diag(alpha(3:M),-1) + diag(1+beta(2:M)) + diag(gamma(2:M-1),1); % berechnet mit M1f_{i-1}=M2f_i % berechnet Put for i=N:-1 : 1 Put(2:M,i) = U \ (L \ (M2*Put(2:M,i+1))); end % interploation: interp1. % wenn nur die Wert in Punkt S0 bekommen moecchten, benutzt folgende % Befehle:price = interp1(vetS,matVal(:,1),SO); % Rueckkehr Preis, moeglicherweise durch lineare Interpolation die % ausserhalb des Gitters price = interp1(S,Put(:,1),SO); Anhang 93 Code B.13. europäischen Down-and-out VerkaufsOption Bewertung mit implizite Differenze Methode. function price = BarrierDOPut_Imp(SO,K,r,T,sigma,H,Smax,dS,dt) % Beispiel: BarrierDOPut_Imp(50,50,0.1,5/12,0.4,40,100,0.5,1/120) M = round((Smax-H)/dS) ; dS = (Smax-H)/M; N = round(T/dt); dt = T/N; matVal = zeros(M+1,N+1); vetS = linspace(H,Smax,M+1)’; vetj = vetS / dS; veti =0:N; % Randbedingung matVal(: ,N+1) = max(K-vetS,0); matVal(1,:) =0; matVal(M+1,:) =0; % Koefficients Matrix a = 0.50*r*vetj*dt- 0.50*sigma^2*(vetj.^2)*dt ; b = 1+sigma^2*vetj.^2*dt; c =-(0.50*r*vetj*dt) - 0.50*sigma^2*(vetj.^2)*dt ; M1 = diag(a(3:M),-1)+diag(b(2:M)) + diag(c(2:M-1),1); % loesen die folgende linearen Systemen for i=N:-1 : 1 matVal(2:M,i) = M1\matVal(2:M,i+1); end %wenn nur die Wert in Punkt S0 bekommen moecchten, %benutzt folgende Befehle: price = interp1(vetS,matVal(:,1),SO); %wenn ganz Matrix bekommen moechten, benutzt folgende Befehle: %price=matVal Anhang 94 Code B.14. europäischen Down-and-out VerkaufsOption Bewertung mit explizite Differenzen Methode. function price = BarrierDOPut_Exp(SO,K,r,T,sigma,H,Smax,dS,dt) % Beispiel: BarrierDOPut_Exp(50,50,0.1,5/12,0.4,40,100,0.5,1/12000) % ans = 0.5413 M = round((Smax-H)/dS) ; dS = (Smax-H)/M; N = round(T/dt); dt = T/N; matVal = zeros(M+1,N+1); vetS = linspace(H,Smax,M+1)’; vetj = vetS/dS; veti =0:N; % Randbedingung matVal(: ,N+1) = max(K-vetS,0); matVal(1,:) =0; matVal(M+1,:) =0; % coefficients Matrix A = 0.5*dt*(sigma^2*vetj-r).*vetj ; B = 1-dt*(sigma^2*vetj.^2+r); C = 0.5*dt*(sigma^2*vetj+r).*vetj ; M1 = diag(A(3:M),-1)+diag(B(2:M)) + diag(C(2:M-1),1); % loesen die folgende linearen Systemen for i=N:-1 : 1 matVal(2:M,i)=M1*matVal(2:M,i+1); end %wenn nur die Wert in Punkt S0 bekommen moecchten, %benutzt folgende Befehle: price = interp1(vetS,matVal(:,1),SO); %wenn ganz Matrix bekommen moechten, benutzt folgende Befehle: %price=matVal Anhang 95 Code B.15. europäischen Down-and-out VerkaufsOption Bewertung mit modifizierte explizite Differenzen Methode. function price = BarrierDOPut_ModExp(SO,K,r,T,sigma,H,Smax,dt) % BarrierDOPut_ModExp(50,50,0.1,5/12,0.4,40,100,1/12000) % ans = % 0.5428 N = round(T/dt); dt = T/N; lambda = sqrt(1.5); dy = lambda*sigma*sqrt(dt); M = round((log(Smax)-log(H))/dy) ; F = zeros(M+1,N+1); vety = linspace(log(H),log(Smax),M+1)’; % Randbedingung F(: ,N+1) = max(K-exp(vety),0); F(1,:) =0; F(M+1,:) =0; % coefficients matrix q=r-sigma^2/2; pu = 1/(2*lambda^2) + q*sqrt(dt)/(2*lambda*sigma); po = 1-1/(lambda^2); pd = 1/(2*lambda^2) - q*sqrt(dt)/(2*lambda*sigma); for i = N:-1:1 for j = M:-1:2 F(j,i)=(pd*F(j-1,i+1)+po*F(j,i+1)+pu*F(j+1,i+1))/(1+r*dt); end; end; %wenn nur die Wert in Punkt S0 bekommen moecchten, %benutzt folgende Befehle: % price = interp1(vety,F(:,1),log(SO)); % wenn ganz Matrix bekommen moechten, benutzt folgende Befehle: price=F Anhang 96 Code B.16. europäischen Down-and-out Put Barrier Option Bewertung mit CrankNicolson Methode. function price = BarrierDOPut_CN(SO,K,r,T,sigma,H,Smax,dS,dt) % Beispiel: BarrierDOPut_CN(50,50,0.1,5/12,0.4,40,100,0.5,1/120) M = round((Smax-H)/dS) ; dS = (Smax-H)/M; N = round(T/dt); dt = T/N; matVal = zeros(M+1,N+1); vetS = linspace(H,Smax,M+1)’; veti = vetS / dS; vetj =0:N; % Randbedingung matVal(: ,N+1) = max(K-vetS,0); matVal(1,:) =0; matVal(M+1,:) =0; % coefficients matrix alpha =0.25*dt*( sigma^2*(veti.^2) - r*veti ); beta = -dt*0.5*( sigma^2*(veti.^2) + r ); gamma =0.25*dt*( sigma^2*(veti.^2) + r*veti ); M1 = -diag(alpha(3:M),-1)+diag(1-beta(2:M)) - diag(gamma(2:M-1),1); [L,U] = lu(M1); M2 = diag(alpha(3:M),-1) + diag(1+beta(2:M)) + diag(gamma(2:M-1),1); % loesen die folgende linearen Systemen for j=N:-1 : 1 matVal(2:M,j) = U \ (L \ (M2*matVal(2:M,j+1))); end %wenn nur die Wert in Punkt S0 bekommen moecchten, % benutzt folgende Befehle: price = interp1(vetS,matVal(:,1),SO); %wenn ganz Matrix bekommen moechten, benutzt folgende Befehle: %price=matVal Anhang 97 Code B.17. Down-and-out Barrier Optionsbewertung mit Monte Carlo Simulation. function [P]=BarrierOption_MC_DO(CallPut,S0,K,r,sigma,H,T,nTime,nPath) % Barrier Optionsbewertung: down and out, call/put option % CallPut= 1 call; 0 put % nTime = Anzahle der Zeitschritte % nPath = Anzahle der Pades % Beispiel: % BarrierOption_MC_DO(CallPut,S0,K,r,sigma,H,T,nTime,nPath) % BarrierOption_MC_DO(0,50,50,0.1,0.4,40,5/12,10000,10000)=0.5677 payoff = zeros(nPath,1); % Zeitschritte dt=T/nTime; nu_dt=(r-0.5*sigma^2)*dt; sigma_dt=sigma*sqrt(dt); for i=1:nPath S=S0; j=1; while (S>=H & j<nTime) S=S*exp(nu_dt+sigma_dt*randn); j=j+1; end if j>=nTime if CallPut payoff(i)=max(0,S-K); elseif ~CallPut payoff(i)=max(0,K-S); else payoff(i)=0; end end P=exp(-r*T)*mean(payoff); end Anhang 98 Code B.18. Amerikanische Down-and-out Put Optionsbewertung mit implizite FDM. function price = Amer_BarrierDOPut_Imp(SO,K,r,T,sigma,H,Smax,dS,dt) % Beispiel: Amer_BarrierDOPut_Imp(50,50,0.1,5/12,0.4,40,100,0.5,1/120) % ans = % 3.7294 M = round((Smax-H)/dS) ; dS = (Smax-H)/M; N = round(T/dt); dt = T/N; matVal = zeros(M+1,N+1); vetS = linspace(H,Smax,M+1)’; vetj = vetS / dS; veti =0:N; % Randbedingung matVal(: ,N+1) = max(K-vetS,0); matVal(1,:) =0; matVal(M+1,:) =0; % coefficients matrix a = 0.50*r*vetj*dt- 0.50*sigma^2*(vetj.^2)*dt ; b = 1+sigma^2*vetj.^2*dt; c =-(0.50*r*vetj*dt) - 0.50*sigma^2*(vetj.^2)*dt ; M1 = diag(a(3:M),-1)+diag(b(2:M)) + diag(c(2:M-1),1); % loesen die folgende linearen Systemen for i=N:-1 : 1 matVal(2:M,i) = M1\matVal(2:M,i+1); matVal(:,i)=max(K-vetS,matVal(:,i)); end %wenn nur die Wert in Punkt S0 bekommen moecchten, benutzt folgende %Befehle: price = interp1(vetS,matVal(:,1),SO); %wenn ganz Matrix bekommen moechten, benutzt folgende Befehle: %price=matVal Anhang Code B.19. Beispiel der Greek. function [Delta Gamma Theta Vega Rho] = Greek_Euro_Call_Option(K,S0,T,t,r,sigma) % Beispiel: [Delta Gamma Theta Vega Rho] % =Greek_Euro_Call_Option(50,50,5/12,0,0.1,0.4) dt df d1 d2 = = = = sigma * sqrt(T-t); r + 0.5 * sigma ^ 2; (log( S0 / X ) + df * (T-t) ) / dt; d1 - dt; Nd1 = 0.5*erfc(-d1/sqrt(2)); Nd2 = 0.5*erfc(-d2/sqrt(2)); nd1 = 1/sqrt(2*pi)*exp(-d1^2/2); nd2 = 1/sqrt(2*pi)*exp(-d2^2/2); Delta = Nd1; Gamma = nd1/S0/dt; Theta = -S0*sigma*nd1/2/sqrt(T-t)r*X*exp(-r * (T-t))*Nd2; Vega = S0*sqrt(T-t)*nd1; Rho = (T-t)*X*exp(-r*(T-t))*Nd2; end 99 Anhang 100 %Mit dem Befehl $subplot(n,m,z)$ wird die Position f\"ur $n\times m$ Grafiken dargestellt. Die Anzahl $z$ repr\"asentiert die Anordnung der Grafiken. $S0=[10:0.2:100]$ bedeutet, dass f\"ur $S0$ ausgehend von dem Anfangswert $10$ Euro zu jedem Zeitpunkt ein Wert von $0.2$ addiert wird, bis letztendlich $100$ Euro erreicht werden. Zur Darstellung des Vektors $style$ werden drei unterschiedliche Formen verwendet, wie in der Legende ausgef\"uhrt, was der Unterscheidung der drei Kurven im Befehl $plot$ dient. Der Befehl $hold on$ bewirkt, dass die berechnetenKurven in dieselbe Grafik gezeichnet werden. (Vgl. Michael G. u. Ansgar J. [4] S.75) Anhang Code B.20. Abbildung der Greek. function Plot_Greek_Euro_Call_Option(X,S0,T,r,sigma,n) % Greeks for European Call Option using formula %Plot_Greek_Euro_Call_Option(50,[10:0.2:100],5/12,0.1,0.4,3) style = ’:-.’; for j =1:n t = (j-1)*T/n; dt = sigma * sqrt(T-t); df = r + 0.5 * sigma ^ 2; d1 = (log( S0 / X ) + df * (T-t) ) / dt; d2 = d1 - dt; Nd1 = 0.5*erfc(-d1/sqrt(2)); Nd2 = 0.5*erfc(-d2/sqrt(2)); nd1 = 1/sqrt(2*pi)*exp(-d1.^2/2); nd2 = 1/sqrt(2*pi)*exp(-d2.^2/2); Delta = Nd1; Gamma = nd1./(S0*dt); Theta = -S0*sigma.*nd1/(2*sqrt(T-t))-r*X*exp(-r * (T-t))*Nd2; Vega = S0*sqrt(T-t).*nd1; Rho = (T-t)*X*exp(-r*(T-t))*Nd2; subplot(3,2,1), plot(S0,Delta, style(j)), hold on xlabel(’Basiswert’) ylabel(’Delta’) subplot(3,2,2), plot(S0,Gamma,style(j)), hold on xlabel(’Basiswert’) ylabel(’Gamma’) subplot(3,2,3), plot(S0,Theta,style(j)), hold on xlabel(’Basiswert’) ylabel(’Theta’) subplot(3,2,4), plot(S0,Vega,style(j)), hold on xlabel(’Basiswert’) ylabel(’Vega’) subplot(3,2,5), plot(S0,Rho,style(j)), hold on xlabel(’Basiswert’) ylabel(’Rho’) end end 101 Anhang 102 Code B.21. Delta der Down-and-in Call Barrier Option. function Delta = Greek_Euro_Call_DIBarrierOption(K,S0,H,T,t,r,sigma) % function [Delta Gamma Theta Vega Rho] % = Greek_Euro_Call_Option(K,S0,T,t,r,sigma) % Beispiel: Greek_Euro_Call_DIBarrierOption(50,50,40,5/12,0,0.1,0.4) % ans =-0.0467 dt = sigma * sqrt(T-t); df = r + 0.5 * sigma ^ 2; S00=H^2/S0; d1 = (log( S00 / K ) + df * (T-t) ) / dt; d2 = d1 - dt; Nd1 = 0.5*erfc(-d1/sqrt(2)); Nd2 = 0.5*erfc(-d2/sqrt(2)); % C_Vanilla(H^2/S,t) C = S00 * Nd1 - K * exp(-r * (T-t)) * Nd2; temp=1-2*r/(sigma^2); Delta = (S0/H)^temp*(temp/S0*C-H^2/S0^2*Nd1); end Anhang Code B.22. Sensitivitätskennzahl einer Europäische Call Option. function [Delta Gamma Theta Vega Rho] = Greek_Euro_Call_Option(K,S0,T,t,r,sigma) % Bsp.: [Delta Gamma Theta Vega Rho] % =Greek_Euro_Call_Option(50,50,5/12,0,0.1,0.4) % andere Beispie sihet: Eric Briys, Page 125, % [Delta Gamma Theta Vega Rho] % =Greek_Euro_Call_Option(15,18,0.25,0,0.1,0.15) dt = sigma * sqrt(T-t); df = r + 0.5 * sigma ^ 2; d1 = (log( S0 / K ) + df * (T-t) ) / dt; d2 = d1 - dt; Nd1 = 0.5*erfc(-d1/sqrt(2)); Nd2 = 0.5*erfc(-d2/sqrt(2)); nd1 = 1/sqrt(2*pi)*exp(-d1^2/2); nd2 = 1/sqrt(2*pi)*exp(-d2^2/2); Delta = Nd1; Gamma = nd1/S0/dt; Theta = -S0*sigma.*nd1/(2*sqrt(T-t))-r*K*exp(-r * (T-t))*Nd2; Vega = S0*sqrt(T-t)*nd1; Rho = (T-t)*K*exp(-r*(T-t))*Nd2; end 103 Anhang Code B.23. Die Delta einer Europäische oder Amerikanische Put Option. function [put Delta Delta0]= Greek_BSEAput_FDM(EuroAmerica,S0,Smax,T, M, N, K, r, sigma); ds = Smax / M; dt = T / N; J = 1:M-1; a = .5*r*dt*J - .5*sigma^2*dt*J.^2; b = 1 + sigma^2*dt*J.^2 + r*dt; c = -.5*r*dt*J - .5*sigma^2*dt*J.^2; A = diag(a(2:M-1), -1) + diag(b) + diag(c(1:M-2), 1); put = zeros(N+1, M+1); put(N+1, :) = max(K - [0:ds:Smax], 0);% Randbedingung put(:, 1) = K; put(:, M+1) = 0; if EuroAmerica % fuer America option for i = N:-1:1 y = put(i+1, 2:M)’; y(1) = y(1) - a(1)*K; put(i, 2:M) = [A \ y]’; put(i, :) = max(K - [0:ds:Smax], put(i,:)); end end if ~EuroAmerica % fuer European option for i = N:-1:1 y = put(i+1, 2:M)’; y(1) = y(1) - a(1)*K; put(i, 2:M) = [A \ y]’; end end for j = M:-1:2 Delta(:,j) = (put(:,j+1)-put(:,j-1))/(ds*2); end Delta(:,M+1) = (put(:,M+1)-put(:,M))/ds; Delta(:,1) = (put(:,2)-put(:,1))/ds; ss=[S0/ds]; Delta0= (put(1,ss+2)-put(1,ss))/(2*ds); end %Mit dem Befehl $mesh(Delta)$ wird die Abbildung 6.2 erzeugt. 104 Literatur 105 Literatur [1] Phelim P. Boyle and Yisong (Sam) Tian. An explicit finite difference approach to the pricing of barrier options. Applied Mathematical Finance, 5(1):17–43, March 1998. [2] Paolo Brandimarte. Numerical methods in finance and economics, a Matlab Baded Introduction. Wiley, 2006. [3] Eric Briys, Mondher Bellalah, Huu Minh Mai, and Francois de Varenne. Options, futures and exotic derivatives—theory, application and practice. Wiley, Chichester [u.a.], 1998. [4] Daniel J. Duffy. Finite Difference Methods in Financial Engineering. John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England, 2006. [5] Michael Günther and Ansgar Jüngel. Finanzderivate mit MATLAB. Vieweg, Wiesbaden, 2003. [6] John Hull. Optionen, Futures und andere Derivate. Pearson Studium, München [u.a.], 6. auflage edition, 2006. [7] John Hull. Options, futures, and other derivatives. Pearson Prentice-Hall, Upper Saddle River, NJ [u.a.], 2009. [8] Albrecht Irle. Finanzmathematik. B.G.Teubner Stuttgart 1998, 1998. [9] Peter Jäckel. Monte Carlo methods in finance. Wiley, Chichester, 2007. [10] Lishang Jiang. Mathematical modeling and methods of option pricing. World Scientific Publishing Co. Inc., River Edge, NJ, 2005. Translated from the 2003 Chinese original by Canguo Li. [11] Matthias Muck. Pricing turbo certificates in the presence of stochastic jumps, interest rates, and volatility, 2006. http://www.fmpm.ch/docs/9th/papers_2006_ web/9182b.pdf. [12] Bernt Øksendal. Stochastic differential equations. Universitext. Springer-Verlag, Berlin, sixth edition, 2003. An introduction with applications. [13] Peter Reinmuth. Barrier Options. Haupt Verlag; Auflage: 1., Aufl. (1. Juni 2005), 2005. [14] Klaus Sandmann. Einführung in die Stochastik der Finanzmärkte. Springer, Berlin [u.a.], 1999. Literatur 106 [15] Michael Suchanecki. The pricing and hedging of barrier options and their applications in finance and life insurance. Bonn, 2008. [16] Domingo Tavella and Curt Randall. Pricing financial instruments, The Finite Difference Methode. Wiley, New York, NY [u.a.], 2000. [17] Ralf und Elke Korn. Optionsbewertung und Portfolio-Optiomierung. Studium, 2009. [18] Deutschen Derivate Verbandes. Jahresvericht 2009. [19] Paul Wilmott. Paul Wilmott on quantitative finance, volume II. Wiley, Chichester [u.a.], 2006. [20] Paul Wilmott, Sam Howison, and Jeff Dewynne. Option Pricing. Oxford Financial Press,PO Box348,Oxford OX4 1DR, UK, Cambridge [u.a.], 1997. [21] Paul Wilmott, Sam Howison, and Jeff Dewynne. The mathematics of financial derivatives: a student introduction. Cambridge Univ. Press, Cambridge [u.a.], 1998. [22] Peter G. Zhang. Exotic options. World Scientific, Singapore [u.a.], 1998. Versicherung 107 Name: Liao Vorname: Ming Versicherung Ich versichere, dass ich die Diplomarbeit selbstständig und ohne Benutzung anderer als der angegebenen Quellen angefertigt habe. Die den benutzten Quellen wörtlich oder inhaltlich entnommenen Stellen habe ich als solche kenntlich gemacht. Bielefeld, den 9. Juni 2011 Ming Liao