Univerzita Karlova v Praze Matematicko-fyzikální fakulta
DIPLOMOVÁ PRÁCE
Barbora Kocúrová Analýza strukturovaných produktů Katedra pravděpodobnosti a matematické statistiky
Vedoucí diplomové práce: RNDr. Petr Myška Studijní program: Matematika, obor Finanční a pojistná matematika
2009
Na tomto místě bych ráda poděkovala svému vedoucímu práce panu RNDr. Petru Myškovi za odborné vedení diplomové práce. Dále děkuji svým rodičům, kteří mi studium umožnili, a přátelům za jejich podporu.
Prohlašuji, že jsem svou diplomovou práci napsala samostatně a výhradně s použitím citovaných pramenů. Souhlasím se zapůjčováním práce a jejím zveřejňováním. V Praze dne 17.4.2009
Barbora Kocúrová
2
Obsah Seznam použitých symbolů
6
Úvod
7
1 Základní pojmy 1.1 Wienerův proces . . . . . . . . . . . . . . . . . 1.2 Martingaly . . . . . . . . . . . . . . . . . . . . . 1.3 Itôova formule . . . . . . . . . . . . . . . . . . . 1.4 Geometrický Brownův pohyb . . . . . . . . . . 1.5 Rizikově neutrální oceňování, Girsanovova věta 1.6 Silný zákon velkých čísel . . . . . . . . . . . . .
. . . . . .
9 9 10 10 11 11 14
. . . . . . . . . . . . . . .
15 15 16 17 17 19 19 19 20 21 21 22 22 23 28 28
3 Strukturované swapy 3.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Standardní swapy . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30 30 30
2 Exotické opce 2.1 Úvod . . . . . . . . . . . . . . . . . . . . 2.2 Standardní opce . . . . . . . . . . . . . . 2.2.1 Výplatní funkce evropských opcí . 2.2.2 Black-Scholes-Mertonův model . . 2.2.3 Put-call parita . . . . . . . . . . . 2.3 Bariérové opce . . . . . . . . . . . . . . . 2.3.1 Úvod . . . . . . . . . . . . . . . . 2.3.2 Standardní bariérové opce . . . . 2.3.3 Výplatní funkce bariérových opcí 2.3.4 Další typy bariérových opcí . . . 2.3.5 Oceňování bariérových opcí . . . 2.4 Bariérové opce ve spojitém modelu . . . 2.4.1 Down-and-out call opce . . . . . 2.4.2 Knocked-in-knocked-out parita . 2.4.3 Down-and-in call opce . . . . . .
3
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
3.3 Range 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5
accrual swapy . . . Úvod . . . . . . . . Binomické opce . . Měnový kurz . . . Výnosová křivka . Range accrual swap
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . podmíněný kurzem
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dvou měn
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
31 31 31 32 33 34
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
37 37 37 38 40 40 47 47 49 49
5 Kvantitativní analýza 5.0.4 Greeks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.0.5 Taylorův rozvoj . . . . . . . . . . . . . . . . . . . . . . . . . .
52 52 53
6 Závěr
56
A Program 1
57
B Program 2
60
Literatura
67
4 Simulační techniky 4.1 Simulační oceňování bariérových opcí . . . . 4.1.1 Simulace Monte Carlo . . . . . . . . 4.1.2 Odhad volatility . . . . . . . . . . . . 4.1.3 Popis programu . . . . . . . . . . . . 4.1.4 Numerické výsledky a grafy . . . . . 4.2 Simulační oceňování strukturovaného swapu 4.2.1 Úvod . . . . . . . . . . . . . . . . . . 4.2.2 Popis programu . . . . . . . . . . . . 4.2.3 Numerické výsledky a grafy . . . . .
4
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
Název práce: Analýza strukturovaných produktů Autor: Barbora Kocúrová Katedra (ústav): Katedra pravděpodobnosti a matematické statistiky Vedoucí bakalářské práce: RNDr. Petr Myška e-mail vedoucího:
[email protected] Abstrakt: Po zavedení základní teorie ze stochastické analýzy používané ve finanční matematice v předložené práci studujeme strukturované produkty a některé ze způsobů jejich oceňování. Konkrétně se zabýváme jedním typem bariérových opcí (down-and-out call opce) a jedním typem strukturovaného swapu (range accrual swap). Nejprve odvodíme analytický vztah pro současnou hodnotu produktu a pak srovnáváme výsledky získané pomocí analytického oceňování s výsledky odhadnutými na základě Monte Carlo simulace. V poslední části práce jsou představeny některé veličiny používané v rámci kvantitativní analýzy, např. Greeks, durace, konvexita, VaR. Klíčová slova: rizikově neutální oceňování, bariérové opce, down-and-out call opce, range accrual swap, Monte Carlo simulace Title: The analysis of structured products Author: Barbora Kocúrová Department: Department of Probability and Mathematical Statistics Supervisor: RNDr. Petr Myška Supervisor’s e-mail address:
[email protected] Abstract: After an introduce to theory of stochastic analysis used in financial mathematics the structured products and their pricing are studied in the present work. Particularly one type of barrier options (down-and-out call options) and one type of structured swaps (range accrual swaps) are focused. First the analytical formulae are derived and then numerical results of analytical formulae are compared with the results estimated on the basis of simulation Monte Carlo. In the final part of the work some variables like Greeks, duration, convexity and VaR used in quantitative analysis are mentioned. Keywords: risk neutral pricing, barrier options, down-and-out call option, range accrual swap, Monte Carlo simulation
5
Seznam použitých symbolů N
...
množina přirozených čísel
R
...
množina reálných čísel
R+
...
množina nezáporných reálných čísel
T
...
čas splatnosti opce, čas expirace, T > 0
K
...
realizační cena
St
...
Bt
...
cena podkladového aktiva v čase t, t ∈ [0, T ]
r
...
σ
...
{Wt , t ≥ 0} . . .
úroveň bariéry v čase t, t ∈ [0, T ]
bezriziková úroková míra, r ≥ 0 volatilita
Wienerův proces
...
indikátor jevu A
...
prostor spojitých funkcí na intervalu [0, T ]
N(x)
...
distribuční funkce standardního normálního rozdělení N(0, 1)
Q
E
...
střední hodnota vzhledem k míře Q
E∗
...
střední hodnota vzhledem k rizikově neutrální míře
log x
...
přirozený logaritmus x
sd b
...
směrodatná výběrová odchylka
I{A}
C[0, T ]
6
Úvod Strukturované produkty jsou nestandardní finanční instrumenty, se kterými se obchoduje především na primárním trhu, tj. na trhu nově emitovaných cenných papírů. Obecně se jedná o investiční strategii s nestandardní výplatní funkcí, která může záviset na všech významých třídách aktiv (deriváty, akcie, akciový koš, indexy, komodity, měny atd.). Strukturovaný produkt tedy umožňuje uplatnit široce diverzifikovanou investiční strategii. Konkrétní atributy strukturovaného produktu se obvykle nastavují dle specifických požadavků a potřeb investora tak, aby optimálně vyhovovaly. Strukturované produkty bývají vzhledem ke svému charakteru oceňovány složitými analytickými vzorci. Často však není možné analytické odvození vůbec získat a je nutné přistoupit k oceňování simulačními metodami. V této práci se podrobněji zabýváme oceňováním jednoho typu bariérových opcí, a to jak analyticky [12], tak pomocí Monte Carlo simulace [6]. Výplatní funkce bariérové opce je na rozdíl od výplatní funkce klasické opce závislá na tom, jestli v průběhu života opce dosáhne cena podkladového aktiva úrovně určité bariéry nebo ne. Konkrétně odvodíme cenu down-and-out call opce. Při řešení jsme použili BlackScholes-Mertonovu hypotézu, která nám umožňuje oceňovat opce za předpokladu, že cena podkladového aktiva je řízena geometrickým Brownovým pohybem. Dalším strukturovaným produktem, o kterém se zmíníme, je range accrual swap, který patří do skupiny strukturovaných swapů. Jedná se o úrokový swap, ve kterém jedné zúčastněné straně nabíhá úrok pouze ve dnech, kdy denní referenční sazba splňuje určité předem stanovené podmínky. V první kapitole se seznámíme se základními pojmy z teorie stochastické analýzy používané ve finanční matematice. Pro další část práce je klíčový především úvod do teorie rizikově neutrálního oceňování [7], [8], [11]. Ve druhé kapitole s názvem Exotické opce uvedeme nejprve obecný přehled exotických opcí [13] a základní vlastnosti standardních opcí [3]. V další části kapitoly představíme bariérové opce, jejich vlastnosti a jeden ze způsobů oceňování. Na základě rizikově neutrálního oceňování a za předpokladu, že cena akcie je řízena geo7
metrickým Brownovým pohybem, odvodíme vztah pro cenu down-and-out call opce. Pomocí knocked-in-knocked-out parity odvodíme cenu také down-and-in call opce. Třetí kapitola nese název Strukturované swapy. Nejprve v ní definujeme standardní swapy [3] a pojmy, se kterými budeme pracovat v další části kapitoly, např. binomické opce, měnový kurz a výnosovou křivku. Dále se pak zabýváme konkrétním typem strukturovaného swapu, a to range accrual swapem podmíněným vývojem kurzu dvou měn. Čtvrtá kapitola se věnuje simulačnímu oceňování down-and-out call opce a range accrual swapu pomocí simulace Monte Carlo. Obsahuje popis použitého algoritmu a programu, numerické výsledky, grafy a srovnání výsledků získaných pomocí analytického vyjádření s výsledky odhadnutými na základě simulace Monte Carlo. V páté kapitole jsou v přehledu uvedeny základní veličiny používané v rámci kvantitativní analýzy produktu. Nejprve se zmíníme o citlivostech vyjadřujících riziko, které vyplývá ze změny parametrů ovlivňujících výši opční prémie - tzv. Greeks [4]. Dále uvedeme obecný postup pro určení citlivostí na libovolný tržní faktor u jakéhokoliv produktu, pro který známe oceňovací funkci, pomocí Tayrova rozvoje a postup pro aproximaci citlivostí u produktů, pro které oceňovací funkci neznáme nebo je příliš složitá [9]. V příloze A je program pro stanovení ceny down-and-out call opce. V příloze B je program pro stanovení současné hodnoty pohyblivého kupónu range accrual swapu.
8
Kapitola 1 Základní pojmy 1.1
Wienerův proces
Wienerův proces má velký význam pro modelování ve finanční matematice. Jeho důležitost spočívá v tom, že pomocí tohoto procesu můžeme popsat chování stochastické složky ceny aktiv na kapitálových trzích. Definice 1.1. Nechť (Ω, F , P ) je pravděpodobnostní prostor. Řekneme, že náhodný proces {Wt , t ≥ 0} se nazývá Wienerův proces, jestliže platí: 1. W0 = 0 s.j. a {Wt , t ≥ 0} má spojité trajektorie. 2. Pro libovolné časové okamžiky 0 ≤ t1 < t2 < . . . < tn , n ∈ N, jsou přírůstky Wt1 = Wt1 − Wt0 , Wt2 − Wt1 , Wt3 − Wt2 , . . . , Wtn − Wtn −1 nezávislé náhodné veličiny, t0 = 0. 3. Pro libovolné časové okamžiky 0 ≤ t < s mají přírůstky Ws − Wt normální rozdělení s nulovou střední hodnotou a rozptylem s − t. Definice 1.2. Nechť Ω je neprázdná množina a nechť T > 0. Mějme posloupnost σ-algeber {Ft , t ∈ [0, T ]} definovaných na Ω. Předpokládejme, že pro každé s, 0 ≤ s < t ≤ T , platí Fs ⊂ Ft . Pak se tato posloupnost σ−algeber {Ft , t ∈ [0, T ]} nazývá filtrace. Definice 1.3. Nechť Ω je neprázdná množina s filtrací {Ft , t ∈ [0, T ]}. Nechť Xt jsou náhodné veličiny indexované t ∈ [0, T ]. Jestliže Xt jsou Ft -měřitelné pro všechna t ∈ [0, T ], pak {Xt , t ∈ [0, T ]} je adaptovaný stochastický proces.
9
1.2
Martingaly
Definice 1.4. Nechť (Ω, F , P ) je pravděpodobnostní prostor, T > 0, {Ft , t ∈ [0, T ]} je filtrace a FT ⊂ F . Nechť {Mt , t ∈ [0, T ]} je Ft -adaptovaný proces. Pak říkáme, že {Mt , t ∈ [0, T ]} je Ft -martingal, pokud E[Mt | Fs ] = Ms s.j. pro každé 0 ≤ s < t ≤ T. Martingal je pro teorii finanční matematiky velmi důležitý, a to z toho důvodu, že diskontovaná cena akcie je za předpokladu neexistence arbitráže na trhu martingalem podle rizikově neutrální míry (jak je uvedeno dále).
1.3
Itôova formule
Definice 1.5. Nechť {Wt , t ≥ 0} je Wienerův proces s filtrací {Ft , t ≥ 0}. Stochastický proces Z t Z t Xt = X0 + ∆u dWu + Θu du, 0
(1.1)
0
kde X0 je konstanta, ∆u a Θu jsou adaptované stochastické procesy, nazveme Itôův proces. Poznámka 1.1. Náhodný proces X = {Xt , t ∈ [0, T ]}, kde Xt je dáno vztahem (1.1) má stochastický diferenciál dXt = ∆t dWt + Θt dt (1.2) Lemma 1.1. Kvadratická variace Itôova procesu (1.1) je Z t [X, X](t) = ∆2u du.
(1.3)
0
Poznámka 1.2. Neformálně lze psát, že dWt dWt = dt,
dtdWt = dWt dt = 0,
dtdt = 0.
(1.4)
S využitím diferenciálu Itôova procesu (1.2) a rovností (1.4) dostaneme vztah pro kvadratickou variaci Itôova procesu ve tvaru dXt dXt = ∆2t dt.
(1.5)
Definice 1.6. Nechť {XRt , t ≥ 0} je Itôův proces, {Γt , t ≥ 0} je adaptovaný stochaRt t stický proces a nechť E 0 Γ2u ∆2u du < ∞ a 0 |Γu Θu |du < ∞ pro každé t ≥ 0. Pak definujeme integrál podle Itôova procesu jako Z t Z t Z t Γu dXu = Γu ∆u dWu + Γu Θu du. (1.6) 0
0
0
10
Věta 1.2. (Itôova formule) Rt Rt Nechť {Xt , t ≥ 0} je Itôův proces takový, že E 0 ∆2u du < ∞ a 0 |Θu |du < ∞. Nechť f (t, x) je funkce na [0, T ] × R se spojitými derivacemi ft (t, x) =
∂ f (t, x), ∂t
fx (t, x) =
∂ f (t, x), ∂x
fxx (t, x) =
∂2 f (t, x). ∂x2
Pak 1 df (t, Xt ) = ft (t, Xt )dt + fx (t, Xt )dXt + fxx (t, Xt )dXt dXt 2
(1.7)
1 = ft (t, Xt )dt + fx (t, Xt )∆t dWt + fx (t, Xt )Θt dt + fxx (t, Xt )∆2t dt 2
1.4
Geometrický Brownův pohyb
Vzhledem k tomu, že Wienerův proces může nabývat také záporných hodnot, nelze ho použít k modelování ceny akcie přímo. Black-Scholes-Mertonův model pro oceňování opcí předpokládá, že cena akcie je řízena tzv. geometrickým Brownovým pohybem. Geometrický Brownův pohyb je spojitý stochastický proces, kde logaritmus náhodné veličiny je řízen Wienerovým procesem. Tento proces nabývá pouze nezáporných hodnot a je proto vhodným nástrojem pro modelování ceny akcie, popř. jiných cenných papírů. Definice 1.7. Nechť µ a σ > 0 jsou konstanty, {Wt , t ≥ 0} je Wienerův proces. Pak geometrický Brownův pohyb definujeme jako σ2 St = S0 exp µ− t + σWt , (1.8) 2 kde µ je skutečná úroková míra na trhu. Veličina µ se nazývá drift, σ se nazývá volatilita. Poznámka 1.3. Aplikací Itôovy formule lze ukázat, že geometrický Brownův pohyb lze zapsat ve tvaru dSt = µSt dt + σSt dWt . (1.9)
1.5
Rizikově neutrální oceňování, Girsanovova věta
Rizikově neutrální oceňování se používá k oceňování derivátů na trhu, kde neexistuje arbitráž. Arbitrážní příležitost na trhu vzniká pokud [4]: 1. ve stejném čase je cena stejného aktiva na různých trzích rozdílná, čímž lze dosáhnout bezrizikového zisku nebo 11
2. při nulové počáteční investici existuje kladná pravděpodobnost zisku a nulová pravděpodobnost ztráty. Na trhu, kde není arbitráž, předpokládáme, že cena aktiva je řízena geometrickým Brownovým procesem s driftem r: dSt = rSt dt + σSt dWt , kde r je bezriziková úroková míra. Ve skutečnosti však cena aktiva na trhu neroste tempem odpovídajícím bezrizikové úrokové míře. Využitím Girsanovovy věty můžeme drift ceny aktiva změnit a použít rizikově neutrální oceňování. Věta 1.3. Mějme pravděpodobnostní prostor (Ω, F , P ) a nezápornou náhodnou veličinu Z s EZ = 1. Pro A ∈ F definujeme Z Q(A) = Z(ω)dP (ω). (1.10) A
Pak Q je pravděpodobnostní míra a pro nezápornou náhodnou veličinu X platí EQ X = E[XZ]. Jestliže Z > 0 s.j., pak jsou míry P a Q ekvivalentní na (Ω, F ) a Q Y EY = E Z
(1.11)
(1.12)
pro každou nezápornou náhodnou veličinu Y . Věta 1.4. Nechť P a Q jsou ekvivalentní míry na (Ω, F ). Pak existuje náhodná veličina Z > 0 s.j. taková, že EZ = 1 a Z Q(A) = Z(ω)dP (ω) (1.13) A
pro každé A ∈ F .
Definice 1.8. Náhodná veličina Z z věty 1.4 se nazývá Radon-Nikodýmova derivace míry Q podle míry P. Symbolicky píšeme Z=
dQ . dP
Definice 1.9. Mějme pravděpodobnostní prostor (Ω, F , P ) a filtraci {Ft , t ∈ [0, T ]}. Nechť Z > 0 s.j. je náhodná veličina s EZ = 1. Definujme Q vztahem (1.13). Pak můžeme definovat proces Radon-Nikodýmovy derivace vztahem Zt = E[Z | Ft ], 12
t ∈ [0, T ].
(1.14)
Poznámka 1.4. Proces Radon-Nikodýmovy derivace je martingal. Lemma 1.5. Mějme pravděpodobnostní prostor (Ω, F , P ) a filtraci {Ft , t ∈ [0, T ]}. Nechť Y je Ft -měřitelná nezáporná náhodná veličina a nechť Z je náhodná veličina s EZ = 1. Nechť Zt je proces Radon-Nikodýmovy derivace. Q je dána vztahem (1.13). Pak EQ Y = E[Y Zt ]. Lemma 1.6. Mějme pravděpodobnostní prostor (Ω, F , P ) a filtraci {Ft , t ∈ [0, T ]}. Nechť 0 ≤ s ≤ t ≤ T. Nechť Y je Ft -měřitelná nezáporná náhodná veličina a Zt je proces Radon-Nikodýmovy derivace. Q je dána vztahem (1.13). Pak 1 E[Y Zt | Fs ]. EQ [Y | Fs ] = Zs Věta 1.7. (Girsanovova) Nechť {Wt , t ∈ [0, T ]} je Wienerův proces na (Ω, F , P ). Nechť {Ft , t ∈ [0, T ]} je filtrace pro Wt . Nechť {Θt , t ∈ [0, T ]} je Ft -adaptovaný proces. Definujme Z t Z 1 t 2 Θ du , Zt = exp − Θu dWu − 2 0 u 0 Z t Q Wt = Wt + Θu du 0
a předpokládejme, že
E
Z
0
t
Θ2u Zu2 du < ∞.
Položme Z = ZT . Pak EZ = 1 a podle míry Q je proces {WtQ , t ∈ [0, T ]} Wienerův proces. Definujme rizikově neutrální míru jako pravděpodobnostní míru, podle které je diskontovaná cena akcie martingal. Poznámka 1.5. Lze ukázat, že pro Θu = Θ = míra Q rizikově neutrální míra.
µ−r , σ
∀u ∈ [0, T ], je pravděpodobnostní
Věta 1.8. (Jednoduchá verze Girsanovovy věty) Nechť {WtQ , t ≥ 0} je Wienerův proces podle míry Q a P je míra na C[0, T ] indukovaná Wt , kde WtQ = Wt + Θt. Pak pro každou omezenou borelovsky měřitelnou funkci f na C[0, T ] platí EQ [f ] = EP [f Zt ], 13
(1.15)
kde Zt je P -martingal definovaný 1 Zt = exp{−ΘWt − Θ2 t}. 2 Poznámka 1.6. Zt je Radon-Nikodýmova derivace Q podle P . Věta 1.9. Nechť P a Q jsou evivalentní míry na (Ω, F ). Pak pro Ft -adaptovaný proces {Xt , t ∈ [0, T ]} platí: dQ 1. EQ XT = EP [ dP XT ]
2. EQ (Xt | Fs ) =
1 P E [Zt Xt Zs
| Fs ],
s ≤ t ≤ T,
dQ kde {Zt , t ∈ [0, T ]} je proces Radon-Nikodýmovy derivace, Zt = EP [ dP | Ft ].
1.6
Silný zákon velkých čísel
Nyní uvedeme Silný zákon velkých čísel, který využijeme při stanovování ceny produktu za pomocí simulací Monte Carlo v kapitole 4 [5]: Věta 1.10. (SZVČ pro nezávislé stejně rozdělené náhodné veličiny) Jsou-li Xn , n ∈ N, nezávislé a stejně P rozdělené náhodné veličiny s konečnou střední hodnotou µ = EX1 , pak pro Sn := ni=1 Xi , n ∈ N, platí Sn n→∞ −→ µ n
14
s.j.
Kapitola 2 Exotické opce 2.1
Úvod
Exotické opce jsou významnou třídou tzv. strukturovaných produktů. Uveďme proto v úvodu této kapitoly stručnou charakteristiku těchto produktů. Strukturovaný produkt je nestandardní finanční instrument. V zásadě se jedná o kombinaci dvou a nebo více finančních nástrojů, z nichž alespoň jeden je derivát. Vlastnosti strukturovaného produktu lze nastavit tak, aby optimálně odpovídaly investičnímu profilu a investiční strategii investora. Strukturované produkty jsou s oblibou využívány jako nástroje umožňující omezení rizika, jemuž je investor vystaven. Mezi strukturované produkty řadíme níže blíže specifikované exotické opce a strukturované swapy, dále různé deriváty založené například na úrokových sazbách, na komoditách, devizových kurzech, kreditnímu riziku apod. Vznik exotických opcí datujeme přibližně na začátek 80. let 20. století, kdy finanční instituce ve Spojených státech amerických začaly vyhledávat alternativní formy opcí, které by lépe vyhovovaly jejich konkrétním potřebám a umožnily tak zvýšit jejich zisk, nebo omezit riziko. Tím vznikly různorodé opce většinou mimoburzovního typu se složitějším systémem plnění, které jsou zpravidla navrhovány finančními institucemi podle individuálních potřeb klienta nebo trhu. Tyto nestandardní opce se nazývají exotické opce. Od té doby se exotické opce na trhu hojně rozšířily. Rozlišujeme velké množství různých druhů exotických opcí. Všechny jsou nějakým způsobem, buď přímo nebo nepřímo, rozšířením standardních opcí. Vždy se od standardní opce liší alespoň v jednom aspektu. Podrobnější popis a přehled základních vlastností standardních opcí je uveden v podkapitole 2.2. Jako příklad uveďme odložené opce (deffered options), jejichž efektivní datum začátku platnosti se neshoduje s datem podpisu smlouvy. Začátek platnosti opce je odložen do budoucnosti. Dále můžeme zmínit složené opce (compound options), což 15
jsou opce vypsané na standardní opci, a ne přímo na podkladové aktivum, nebo asyou-like-it opce, kdy se držitel opce může po určité době rozhodnout, jestli se bude jednat o put nebo call opci. Není snadné roztřídit všechny druhy exotických opcí do několika skupin. V různých zdrojích se navíc objevuje různé třídění. Zde uvedeme tři hlavní skupiny exotických opcí tak, jak jsou uvedeny v [13]. Nejoblíbenější skupinou exotických opcí jsou tzv. path-dependent opce. Výplata těchto opcí závisí nejen na rozdílu aktuální ceny podkladového aktiva v čase expirace opce a realizační ceny, ale také na vývoji ceny aktiva v průběhu celého života opce. Nejvýznamnějšími zástupci této skupiny jsou asijské opce, bariérové opce a lookback opce. Výplata asijské opce je určena průměrnou cenou podkladového aktiva před datem splatnosti opce. Bariérovými opcemi se budeme podrobněji zabývat v další části práce. Druhou velkou skupinou exotických opcí jsou korelační opce, jejichž výplata je ovlivněna více než jedním podkladovým aktivem, přičemž není nutné, aby podkladová aktiva byla stejného druhu. Do této skupiny řadíme například spread opce, exchange opce nebo basket opce. Třetí skupinu bychom mohli nazvat jako ostatní exotické opce, kam patří opce s různými dalšími vlastnostmi. Řadíme sem například binární opce, které mají velmi jednoduchou výplatní funkci, dále složené opce, opce s nelineární výplatou a výše zmíněné as-you-like-it opce.
2.2
Standardní opce
V následujících podkapitolách uvedeme definici standardních opcí a jejich základní vlastnosti [3]. Definice 2.1. Opce jsou termínované kontrakty, v nichž držitel opce má právo (ale nikoli povinnost) uskutečnit ve sjednaném termínu příslušný obchod, zatímco upisovatel opce se pasivně podřizuje rozhodnutí držitele opce. Opce call je opce, jejíž držitel má právo koupit a upisovatel povinnost prodat podkladové aktivum za předem sjednaných podmínek. Opce put je opce, jejíž držitel má právo prodat a upisovatel povinnost koupit podkladové aktivum za předem sjednaných podmínek. U opcí se předem sjednává realizační cena K, tj. cena, za kterou může držitel opce call (resp. put) koupit (resp. prodat) příslušné podkladové aktivum, a datum splatnosti opce T , tj. datum uplatnění opce. Evropskou opci lze uplatnit pouze k datu splatnosti opce, zatímco americkou opci lze uplatnit kdykoli do data splatnosti opce. V dalším textu se budeme zabývat evropskými opcemi. 16
2.2.1
Výplatní funkce evropských opcí
Nechť cena podkladového aktiva v čase splatnosti opce T je ST . Pak výplatní funkce evropské call opce s realizační cenou K je f (ST ) = max(0, ST − K). Výplatní funkce evropské put opce s realizační cenou K je g(ST ) = max(0, K − ST ). Na obrázku 2.1 je v grafu na levé straně znázorněna závislost výplatní funkce evropské call opce na ceně podkladového aktiva k datu splatnosti opce. V grafu napravo je znázorněna závislost výplatní funkce evropské put opce na ceně podkladového aktiva k datu splatnosti opce. Put Opce
max(0, K − ST )
max(0, ST − K)
Call Opce
K
K
ST
ST
Obrázek 2.1: Závislost výplatní funkce opce na ceně podkladového aktiva k času splatnosti opce T .
2.2.2
Black-Scholes-Mertonův model
Black-Scholes-Mertonův model je spojitý model oceňování evropských opcí, který předpokládá: • dokonalý trh podkladových aktiv, tzn. že neexistují transakční náklady a daně, likvidita aktiv je okamžitá a absolutní,
17
• v době do splatnosti opce se neočekávají žádné další finanční toky (dividendy, kupónové platby, náklady na skladování apod.) spojené s podkladovým aktivem, • na trhu existuje bezriziková úroková míra r po dobu do splatnosti opce, za tuto sazbu si lze půjčovat libovolný kapitál, • podkladová aktiva i opce lze libovolně dělit, • na trhu neexistuje možnost arbitráže, tj. pokud některé aktivum lze vyjádřit jako lineární kombinaci jiných aktiv na trhu, pak cena tohoto aktiva je v každém okamžiku lineární kombinací cen těchto aktiv, • cena akcie je řízena geometrickým Brownovým pohybem dSt = rSt dt + σSt dWt , kde r je bezriziková úroková míra. Ačkoliv jsou předpoklady modelu značně limitující, s oblibou se v praxi běžně používá. Označme Ct cenu evropské call opce. Aplikací rizikově neutrálního oceňování a Black-Scholes-Mertonova modelu lze stanovit cenu evropské call opce v čase t jako podmíněnou střední hodnotu diskontované výplatní funkce opce podle bezrizikové úrokové míry r [4]: Ct = E∗ [e−r(T −t) (ST − K)+ |Ft ],
E∗ označuje střední hodnotu vzhledem k rizikově neutrální míře, (ST − K)+ je označení pro max(ST − K, 0). Výsledný Black-Scholes-Mertonův vzorec pro cenu evropské call opce s datem splatnosti T a realizační cenou K v čase t je: Ct = St · N(d1 ) − K · e−r(T −t) · N(d2 ), kde 2
log SKt + (r + σ2 )(T − t) √ d1 = , σ T −t 2
log SKt + (r − σ2 )(T − t) √ d2 = , σ T −t
N(x) označuje distribuční funkci standardního normálního rozdělení N(0, 1). Cenu evropské put opce označme jako Pt . Opět uvažujme splatnost opce v čase T a realizační cenu K. Stejně jako u call opce, můžeme cenu evropské put opce v čase t 18
vyjádřit jako podmíněnou střední hodnotu diskontované výplatní funkce opce podle bezrizikové úrokové míry r: Pt = E∗ [e−r(T −t) (K − ST )+ |Ft ]. Black-Scholes-Mertonův vzorec pro cenu put opce s datem splatnosti T a realizační cenou K v čase t je pak: Pt = K · e−r(T −t) N(−d2 ) − St · N(−d1 ).
2.2.3
Put-call parita
Mezi cenami call a put evropských opcí se stejným podkladovým aktivem, stejnou realizační cenou a dobou splatnosti platí následující vztah: Pt = Ct + K · e−r(T −t) − St , pro každé t ∈ [0, T ], kde Pt je cena put opce v čase t, Ct je cena call opce v čase t a r je bezriziková úroková míra. Díky této rovnosti můžeme jednoduše odvodit cenu put opce za předpokladu, že známe cenu odpovídající call opce a naopak.
2.3 2.3.1
Bariérové opce Úvod
Ještě než se začneme věnovat podrobně bariérovým opcím, uveďme přesněji definici nadřazené skupiny path-dependent opcí pomocí nově definovaného pojmu trajektorie procesu. Definice 2.2. Nechť (Ω, F , P ) je pravděpodobnostní prostor, nechť T ∈ R+ . Cena podkladového aktiva je náhodný proces {St , t ∈ [0, T ]}. Tento proces můžeme chápat jako funkci dvou proměnných ω, t. Pro pevné t ∈ [0, T ] je St = St (·) náhodná veličina definovaná na Ω. Pro pevné ω ∈ Ω je S(·) = S(·) (ω) reálnou funkcí proměnné t. Této funkci říkáme trajektorie procesu {St , t ∈ [0, T ]}. Definice 2.3. Path-dependent opce jsou opce, jejichž výplata závisí na trajektorii ceny podkladového aktiva v době platnosti opce. V následující části práce se budeme věnovat konkrétnímu typu path-dependent opcí, a to opcím bariérovým. Dalšími oblíbenými typy path-dependent opcí jsou např. asijské opce, lookback opce a forward-start opce. 19
2.3.2
Standardní bariérové opce
Bariérové opce jsou nejběžnějším typem path-dependent opcí. Jejich výplatní funkce není závislá jen na ceně podkladového aktiva v čase expirace, ale závisí i na tom, jestli cena podkladového aktiva dosáhne nebo nedosáhne určité hladiny (tzv. bariéry) během života opce. Konkrétně opce je aktivována nebo deaktivována v okamžiku, kdy cena podkladového aktiva poprvé dosáhne úrovně stanovené bariéry před časem splatnosti opce. Pokud je opce v čase splatnosti opce aktivní, pak její výplata je stejná jako výplata klasické put nebo call opce. Pokud je opce v čase splatnosti opce neaktivní, pak je její výplata nulová. Cena bariérových opcí je nižší než cena odpovídajících klasických opcí. Z tohoto důvodu se s oblibou používají ke spekulativním účelům a k zajištění rizik při vhodné struktuře portfolia. Bariéra může být konstantní nebo závislá na čase. Často bývá po částech konstantní funkcí. Existují dva základní typy bariérových opcí, a to out opce a in opce: • out opce je aktivní, dokud cena podkladového aktiva nedosáhne úrovně bariéry. Jestliže cena podkladového aktiva úrovně bariéry dosáhne před časem expirace, řekneme, že opce je deaktivována (knocked out). • in opce se stává aktivní až v okamžiku, kdy cena podkladového aktiva dosáhne úrovně bariéry. Pokud cena aktiva dosáhne úrovně bariéry před časem expirace, řekneme, že opce je aktivována (knocked in). Pokud je bariérová opce v čase expirace neaktivní, pak je její výplata zpravidla nulová. V některých případech je však bariérová opce strukturována tak, že její držitel má nárok na vrácení části opční prémie (ceny opce). Tato kompenzační částka bývá v anglické literatuře označována jako rebate. Dále se bariérové opce charakterizují podle pozice bariéry vzhledem k počáteční ceně podkladového aktiva: • up opce: pokud B0 > S0 . • down opce: pokud B0 < S0 . Celkem tedy dostáváme osm druhů bariérových opcí: down-and-out call opce, down-and-in call opce, up-and-out call opce, up-and-in call opce, down-and-out put opce, down-and-in put opce, up-and-in put opce. 20
2.3.3
Výplatní funkce bariérových opcí
Uvažujme bariérové opce s bariérou Bt , t ∈ [0, T ], realizační cenou K a s nulovou kompenzační platbou v případě, že je opce v čase expirace neaktivní. V následující tabulce jsou uvedeny výplatní funkce pro jednotlivé typy bariérových opcí. Typ bariérové opce down-and-out call down-and-in call
f di (ST )=
down-and-out put
up-and-in put
(ST )=
n
f uo (ST )=
up-and-in call
up-and-out put
f
f di (ST )=
up-and-out call
down-and-in put
Výplatní funkce n (S −K)+ pokud S > B pro každé t ∈ [0, T ], T t t do
n
g do (ST )=
g di (ST )=
n
n
g uo (ST )=
g di (ST )=
n
n
n
0
jinak.
(ST −K)+
pokud St ≤ Bt pro nějaké t ∈ [0, T ],
0
jinak.
(ST −K)+
pokud St < Bt pro každé t ∈ [0, T ],
0
jinak.
(ST −K)+
pokud St ≥ Bt pro nějaké t ∈ [0, T ],
0
jinak.
(K−ST )+
pokud St > Bt pro každé t ∈ [0, T ],
0
jinak.
(K−ST )+
pokud St ≤ Bt pro nějaké t ∈ [0, T ],
0
jinak.
(K−ST )+
pokud St < Bt pro každé t ∈ [0, T ],
0
jinak.
(K−ST )+
pokud St ≥ Bt pro nějaké t ∈ [0, T ],
jinak.
0
Tabulka 2.1: Výplatní funkce bariérových opcí
2.3.4
Další typy bariérových opcí
Speciálním typem je opce se dvěma bariérami, tzv. dvoubariérová opce. Tato opce má horní i dolní bariéru. Rozlišujeme několik typů dvoubariérových opcí, např.: • double out call opce: vyplácí max(ST −K, 0), pokud cena podkladového aktiva nedosáhne úrovně ani jedné bariéry. • double in call opce: vyplácí max(ST − K, 0), pokud cena podkladového aktiva dosáhne úrovně alespoň jedné bariéry. 21
2.3.5
Oceňování bariérových opcí
Standardní bariérové opce se spojitým časem lze ocenit pomocí analytických vzorců použitím rizikově neutrálního oceňování. Cenu bariérové opce dostaneme jako diskontovanou hodnotu očekávané výplatní funkce této opce. Pro diskontování použijeme bezrizikovou úrokovou míru. Při oceňování opcí s diskrétním časem se používají numerické metody se snahou co nejlépe využít vzorec pro spojitý čas k aproximaci ceny diskrétní opce. Při oceňování komplikovanějších typů bariérových opcí se v praxi používají simulační metody. Získání exaktního vzorce bývá totiž mnohdy velmi složité nebo dokonce nemožné. V dalším textu se zabýváme bariérovými opcemi typu call ve spojitém modelu s nulovou kompenzační platbou.
2.4
Bariérové opce ve spojitém modelu
Uvažujme podkladové aktivum modelované geometrickým Brownovým pohybem dSt = rSt dt + σSt dWtQ ,
(2.1)
kde r je bezriziková úroková míra, r ≥ 0, σ je volatilita a WtQ je Wienerův proces podle míry Q, míra Q je rizikově neutrální míra. Řešením stochastické rovnice (2.1) je σ2 Q St = S0 exp r− t + σWt . 2
(2.2)
Obecně platí: σ2 Q Q (T − t) + σ(WT − Wt ) . ST = St exp r− 2 Opční prémie Ct bariérové call opce v čase t se určí jako Ct = EQ [e−r(T −t) f (ST ) | Ft ]. Podobně opční prémie Pt bariérové put opce v čase t je dána vztahem Pt = EQ [e−r(T −t) g(ST ) | Ft ].
22
(2.3)
Definice 2.4. Nechť Bt je úroveň bariéry v čase t, St je cena podkladového aktiva v čase t, t ∈ [0, T ]. Pak τ (Bt , St ) = inf{t ≥ 0; St ≥ Bt } nazveme časem prvního výstupu pro up opci, τ (Bt , St ) = inf{t ≥ 0; St ≤ Bt } je čas prvního výstupu pro down opci. Cenu bariérové opce můžeme nyní vyjádřit jako funkci času prvního výstupu.
2.4.1
Down-and-out call opce
Nechť Q je rizikově neutrální míra. Cenu down-and-out call opce v čase t označme jako Ctdo a vyjádříme ji jako podmíněnou střední hodnotu diskontované výplaty opce Ctdo = EQ [e−r(T −t) (ST − K)+ I{τ (Bt ,St )>T } | Ft ],
kde
I{τ (Bt ,St )>T } =
(
1 pro τ (Bt , St ) > T 0 jinak
(2.4) (2.5)
a τ (Bt , St ) je čas prvního výstupu, τ (Bt , St ) = inf{t ≥ 0; St ≤ Bt }. Do vztahu (2.4) dosadíme (2.3) za cenu podkladového aktiva ST . Dostaneme Ctdo
+ h σ2 Q Q −r(T −t) = E e St exp r− (T − t) + σ(WT − Wt ) − K × 2 i ×I{τ (Bt ,St )>T } | Ft . (2.6) Q
Vzhledem k tomu, že
(ST − K)+ I{τ (Bt ,St )>T } = (ST − K)I{ST >K, τ (Bt ,St )>T } ,
přepíšeme rovnici (2.6) do tvaru
23
Ctdo
Q
= E
h
σ2 e St exp r− 2 i ×I{ST >K, τ (Bt ,St )>T } | Ft −r(T −t)
1
= EQ [e−r(T −t) St er(T −t)− 2 σ
(T − t) +
2 (T −t)+σ(W Q −W Q ) t T
−r(T −t)
σ(WTQ
−
WtQ )
−e−r(T −t) KEQ [I{ST >K, τ (Bt ,St )>T } | Ft ],
I{ST >K, τ (Bt ,St )>T } =
(
−K
×
I{ST >K, τ (Bt ,St )>T } −
−e KI{ST >K, τ (Bt ,St )>T } | Ft ] h i Q σ2 t Q σ2 T = St EQ eσWT − 2 e−σWt + 2 I{ST >K, τ (Bt ,St )>T } | Ft − kde
1 pro ST > K ∧ τ (Bt , St ) > T
0 jinak.
(2.7)
(2.8)
Uvažujme proces Radon-Nikodýmovy derivace ve tvaru Zt = e−σWt −
σ2 t 2
,
t ∈ [0, T ].
(2.9)
WtQ = Wt + σt,
t ∈ [0, T ],
(2.10)
Za předpokladů věty 1.7 je proces
Wienerův proces podle míry Q. Dle lemmatu 1.9 platí: Ctdo = St
1 t− e−σW h
σ2 t 2
×
×EQ e−σWT −
σ2 T 2
eσWT +σ
2 2T − σ T 2
e−σWt −σ
2 2 t+ σ t 2
i I{ST >K, τ (Bt ,St )>T } | Ft −
−e−r(T −t) KEQ [I{ST >K, τ (Bt ,St )>T } | Ft ] = St EP I{ST >K, τ (Bt ,St )>T } | Ft − e−r(T −t) KEQ [I{ST >K, τ (Bt ,St )>T } | Ft ] (2.11) Změna míry způsobí změnu driftu geometrického Brownova pohybu: σ2 Q St = S0 exp r− t + σWt 2 σ2 = S0 exp r− t + σ(Wt + σt) 2 σ2 = S0 exp r+ t + σWt . 2 24
(2.12)
Střední hodnoty indikátorů v rovnosti (2.11) nahradíme pravděpodobnostmi a dostaneme Black-Scholesův vzorec pro cenu down-and-out call opce jako funkci pravděpodobnosti, že v čase splatnosti opce bude cena aktiva ST větší než realizační cena K a že čas prvního výstupu bude větší než T vzhledem k pravděpodobnostní míře P , resp. Q. Ctdo = St · P (ST ≥ K, τ (Bt , St ) > T | Ft ) −e−r(T −t) K · Q(ST ≥ K, τ (Bt , St ) > T | Ft )
(2.13)
Dále určíme tyto pravděpodobnosti pro konstantní bariéru Bt = B. Dostaneme σ2 do T + σWT ≥ K, τ (B, St ) > T | Ft Ct = St P S0 exp r+ 2 σ2 Q −r(T −t) −e KQ S0 exp r− T + σWT ≥ K, τ (B, St ) > T | Ft 2 (2.14) Pravděpodobnosti ze vzorce (2.14) můžeme rozepsat vzhledem k platnosti následujícího lemmatu [2] a rovnosti P (ST ≥ K, τ (Bt , St ) > T | Ft ) = P (ST ≥ K, τ (Bt , St ) ≥ T | Ft ). Lemma 2.1. Nechť Wt je Wienerův proces, Yt = Y0 +νt+σWt je stochastický proces, ν je drift tohoto procesu, Y0 > 0. Dále předpokládejme čas prvního výstupu τ (0, Yt ) takový, že τ (0, Yt ) = inf{t ≥ 0, Yt ≤ 0}. Potom pro každé t < T a y ≥ 0 platí −2νYt −y − Y + ν(T − t) −y + Yt + ν(T − t) t √ √ P (YT ≥ y, τ ≥ T | Ft ) = N −e σ2 N , σ T −t σ T −t (2.15) kde N(·) je distribuční funkce normovaného normálního rozdělení. Aby byla splněna podmínka lemmatu, že YT ≥ y, uvažujme down-and-out call opci, pro kterou platí, že realizační cena K je větší než bariéra BT , tedy K > BT . Začneme rozepsáním P (ST ≥ K, τ (B, St ) ≥ T | Ft ). Provedeme několik ekvivalentních úprav, aby byly splněny předpoklady lemmatu.
25
Platí: ST
log
S0 exp
n
r+
σ2
2
log
ST B ST Bo
T +σWT
B σ2 )T 2
log SB0 + (r +
+ σWT
≥ K ≥
K , B
B>0
≥ log K B ≥ log K B ≥ log K B 2
. Označme YT = log SBT = log SB0 + (r + σ2 )T + σWT a y = log K B σ2 To znamená, že ν = r + 2 . Vzhledem k tomu, že předpokládáme K > B, je podmínka y ≥ 0 splněna. Aplikací lemmatu 2.1 dostaneme: B log K + log SBt + (r + √ σ T −t
P (ST ≥ K, τ (B, St ) ≥ T | Ft ) = N
σ2
σ2 )(T 2
!
St
−e−2(r+ 2 )σ log B B log K − log SBt + (r + √ ×N σ T −t −2
− t)
σ2 )(T 2
− t)
!
! 2 log SKt + (r + σ2 )(T − t) √ = N σ T −t ! 2 −2rσ−2 −1 B2 log KS + (r + σ2 )(T − t) St t √ − N B σ T −t
(2.16)
Analogicky rozepíšeme také Q(ST ≥ K, τ (B, St ) ≥ T | Ft ). Zřejmě při pravděpodobnostní míře Q platí: ST
log
S0 exp
n
log SB0 + (r −
2 r− σ2
log
ST B ST Bo
T +σWTQ
B σ2 2
)T + σWTQ
≥
K
≥
log K B
≥
log K B
≥
≥
K , B
B>0
log K B
Označme YT = log SBT = log SB0 + (r − 2 V tomto případě máme ν = r − σ2 .
σ2 )T 2
26
+ σWTQ a y = log K . B
Aplikací lemmatu 2.1 dostaneme: Q(ST ≥ K, τ (B, St ) ≥ T | Ft ) = N
B + log SBt + (r − log K √ σ T −t σ2
σ2 )(T 2
!
St
−e−2(r− 2 )σ log B B log K − log SBt + (r − √ ×N σ T −t −2
− t)
σ2 )(T 2
− t)
!
! 2 log SKt + (r − σ2 )(T − t) √ = N σ T −t ! −2rσ−2 +1 B2 σ2 + (r − )(T − t) log KS St 2 t √ − N B σ T −t
(2.17)
Dosazením do vztahu (2.14) s ohledem na to, že platí: N(−x) = 1 − N(x) pro každé x ∈ R, získame analytické vyjádření ceny down-and-out call opce s konstantní bariérou B, B > 0, pro K > B :
Ctdo
! 2 log SKt + (r + σ2 )(T − t) √ = St N σ T −t ! 2 −2rσ−2 B2 log KS + (r + σ2 )(T − t) St t √ −B N B σ T −t ! St σ2 log + (r − )(T − t) K √ 2 −Ke−r(T −t) N σ T −t ! −2rσ−2 +1 B2 σ2 log + (r − )(T − t) St KSt 2 √ +Ke−r(T −t) N B σ T −t
(2.18)
Pro úplnost uvedeme, již bez odvození, cenu down-and-out call opce s konstantní bariérou B, B > 0, pro K ≤ B [6]: 2
Ctdo = St N
log SBt + (r + σ2 )(T − t) √ σ T −t 27
!
! σ2 B + (r + )(T − t) log St St √ 2 −B N B σ T −t ! St σ2 log + (r − )(T − t) B √ 2 −Ke−r(T −t) N σ T −t ! −2rσ−2 +1 B σ2 log + (r − )(T − t) St St √ 2 +Ke−r(T −t) N B σ T −t
2.4.2
−2rσ−2
(2.19)
Knocked-in-knocked-out parita
Pro bariérové opce neplatí klasická put-call parita, takže nemůžeme tak snadno vypočítat cenu put opce (resp. call opce), známe-li cenu call opce (resp. put opce) se stejnými parametry. Ale existuje zde tzv. knocked-in-knocked-out parita. Kombinací call-in opce a call-out opce získáme standardní call opci. Podobně kombinací put-in a put-out opce dostaneme standardní put opci. Platí tedy následující vzorce: Ctdo + Ctdi Ctuo + Ctui Ptdo + Ptdi Ptuo + Ptui
= = = =
Ct , Ct , Pt , Pt ,
(2.20) (2.21) (2.22) (2.23)
kde Ctdo je cena down-and-out call opce, Ctdi je cena down-and-in call opce, Ctuo je cena up-and-out call opce, Ctui je cena up-and-in call opce, Ptdo je cena down-and-out put opce, Ptdi je cena down-and-in put opce, Ptuo je cena up-and-out put opce, Ptui je cena up-and-in put opce. Poznámka 2.1. Pokud bychom uvažovali, že držitel bariérové opce má nárok na nenulovou kompenzační platbu v případě, že je opce neaktivní v čase expirace, pak knocked-in-knocked-out parita neplatí.
2.4.3
Down-and-in call opce
Vzhledem k tomu, že vzorec pro cenu down-and-out call opce jsme již odvodili v předešlém odstavci, můžeme pro ocenění down-and-in call opce využít knocked-inknocked-out paritu. Cenu down-and-in call opce pro K > B tedy získáme dosazením do vztahu (2.20):
28
Ctdi = B
St B
−2rσ−2
−Ke−r(T −t)
2
N
St B
2
B log KS + (r + σ2 )(T − t) t √ σ T −t
−2rσ−2 +1
2
N
! 2
B log KS + (r − σ2 )(T − t) t √ σ T −t
!
. (2.24)
Podobně dostaneme cenu down-and-in call opce pro K ≤ B: 2
Ctdi = St N
log SKt + (r + σ2 )(T − t) √ σ T −t
!
! σ2 St log + (r − )(T − t) K √ 2 −Ke−r(T −t) N σ T −t ! 2 log SBt + (r + σ2 )(T − t) √ −St N σ T −t ! 2 −2rσ−2 log SBt + (r + σ2 )(T − t) St √ N +B B σ T −t ! St σ2 log + (r − )(T − t) B √ 2 +Ke−r(T −t) N σ T −t ! −2rσ−2 +1 B σ2 log + (r − )(T − t) S t St √ 2 −Ke−r(T −t) N B σ T −t
29
(2.25)
Kapitola 3 Strukturované swapy 3.1
Úvod
V této kapitole se budeme zabývat dalším strukturovaným produktem, a to strukturovaným swapem. Strukturované swapy jsou velmi komplexní produkty, proto je ani není možné rozčlenit do nějakých obecnějších skupin. V této kapitole se konkrétně seznámíme s range accrual swapem, což je úrokový swap s vnořenými opcemi, jehož hlavním atributem je úrok nabíhající pouze ve dnech, kdy je splněna určitá předem stanovená podmínka. Ačkoliv se s range accrual swapy aktivně obchoduje po celém světě, dostupné literatury týkající se tohoto tématu je velmi málo. Cílem této práce je uvedení jednoho konkrétního typu range accrual swapu, odvození přístupu k analytickému oceňování tohoto produktu a ukázka numerického oceňování pomocí simulace v následující kapitole.
3.2
Standardní swapy
Swapy představují dohodu o budoucí směně finančních toků mezi dvěma stranami. Tyto finanční toky jsou pro každou stranu definovány odlišným způsobem. Swapy se používají k zajištění takových rizik, jako je například změna úrokových sazeb nebo změna měnového kurzu. Dále slouží ke spekulacím na změnu úrokových sazeb, měnových kurzů apod., což se využívá například při řízení aktiv a pasiv. Mezi základní typy swapů patří úrokový a měnový swap. Obecně však existuje velké množství druhů swapů. Často bývají jejich vlastnosti přizpůsobovány podle potřeb jednotlivých investorů. V dalším textu se podrobněji budeme věnovat strukturovanému swapu založeném na swapu úrokovém, a proto zde uveďme jeho podrobnou definici [3]: 30
Definice 3.1. Úrokový swap představuje dohodu o budoucí směně toků úrokových plateb, které se vztahují ke stejné nominální kapitálové částce. Tato stanovená kapitálová částka má pouze pomyslný význam pro určení výše úrokových plateb. To znamená, že ve skutečnosti nedochází ke směně kapitálu. Směna úrokových plateb se zpravidla řeší vyrovnáním jejich salda. Nejběžnějším typem úrokového swapu je takový, kdy si zúčastněné strany pravidelně vyměňují úrokové platby a to tak, že platby jedné strany jsou založeny na pevné úrokové sazbě a platby protistrany na pohyblivé úrokové sazbě (například PRIBOR). Poznámka 3.1. PRIBOR (Prague InterBank Offered Rate) je hodnota fixingu nabídkových úrokových sazeb na pražském trhu českých korunových mezibankovních depozit kótovaná denně dle délky úrokovacího období. Podle délky úrokovacího období se přidává označení 1D, 7D, 14D, 1M, 2M, 3M, 6M, 9M, 1R, kde D značí den, M značí měsíc a R značí rok. Zúčastněná strana platící pevné úroky inkasuje od protistrany úroky, jejichž výše je odvozená od pohyblivé sazby, a zajišťuje se tak proti nárůstu úrokových sazeb. Naopak druhá strana, která inkasuje pevné úroky a platí úroky odvozené od pohyblivé sazby, se tak zajišťuje proti poklesu úrokových sazeb.
3.3 3.3.1
Range accrual swapy Úvod
Range accrual swapy jsou strukturované úrokové swapy. Úrok jedné zúčastněné straně nabíhá pouze ve dnech, kdy je tzv. referenční sazba v určeném pásu, který je daný horní a dolní hranicí. Za dny, kdy hodnota referenční sazby nespadá do tohoto pásu, tedy tato strana úrok neplatí. Referenční sazba může být dána například spotovým kurzem dvou měn, vývojem určité úrokové sazby, vývojem ceny nějaké komodity nebo funkcí rizikových faktorů. Ke směně úrokových plateb obvykle dochází v pravidelných předem stanovených časových intervalech.
3.3.2
Binomické opce
Nyní uvedeme krátkou podkapitolu pojednávající o binomických opcích. Využijeme je později při oceňování strukturovaného range accrual swapu. Binomické opce jsou opce s nespojitou výplatní funkcí. Základními typy binomických opcí jsou cash-or-nothing opce a asset-or-nothing opce. 31
Cash-or-nothing opce, resp. asset-or-nothing opce vyplácí v čase splatnosti opce fixní částku H, resp. hodnotu podkladového aktiva, nebo nic v závislosti na vzájemné výši realizační ceny opce a ceny podkladového aktiva v čase splatnosti opce. Při oceňování strukturovaného range accrual swapu využijeme binomické opce typu cash-or-nothing. V tabulce 3.1 jsou uvedeny jejich výplatní funkce a ceny v čase t. St je cena podkladového aktiva v čase t, t ∈ [0, T ]. Typ binární opce cash-or-nothing call cash-or-nothing put
Výplatní funkce n H pokud S > K T CON f
(ST )=
g CON (ST )=
n
0
jinak.
H
pokud ST < K
0
jinak.
Tabulka 3.1: Výplatní funkce binárních opcí
Cena cash-or-nothing call opce v čase t se rovná [13] CtCON = H · e−r(T −t) N(d2 ),
(3.1)
cena cash-or-nothing put opce v čase t se rovná PtCON = H · e−r(T −t) N(−d2 ), kde
3.3.3
(3.2)
2
log SKt + (r − σ2 )(T − t) √ . d2 = σ T −t
(3.3)
Měnový kurz
Důležitou částí při oceňování konkrétního typu range accrual swapu, kterým se budeme dále zabývat, je modelování vývoje měnového kurzu. Existuje několik přístupů, jak pohlížet na predikci vývoje měnového kurzu. Ekonomové se například snaží předpovědět chování měnového kurzu na základě velmi složitých makroekonomických modelů. Dalším poměrně novým přístupem je využití teorie chaosu, vhodné především pro modelování měnových kurzů vykazujících nelinearitu. V této práci budeme k měnovému kurzu přistupovat jako ke stochastickému procesu. Podobně jako u ceny akcie můžeme na měnový kurz pohlížet jako na geometrický Brownův pohyb dX = µXdt + σXdW, 32
kde X je spotový měnový kurz. Spotový měnový kurz je takový měnový kurz, ve kterém můžeme směnit měny v současném okamžiku. Kurz, za který je možné provést směnu v nějakém budoucím termínu se nazývá forwardový měnový kurz. Nechť r je bezriziková úroková míra pro první měnu a r ′ je bezriziková úroková měna pro druhou měnu. Měnový kurz se řídí geometrickým Brownovým pohybem s driftem r − r ′ : dX = (r − r ′ )Xdt + σXdW.
Rozdíl úrokových měr r − r ′ se nazývá úrokový diferenciál.
3.3.4
Výnosová křivka
Dalšími důležitými pojmy pro následující podkapitolu budou spotová a forwardová úroková míra a výnosová křivka. Uveďme tedy jejich definice [3]. Definice 3.2. Spotová úroková míra je okamžitě platná úroková míra. Jestliže je tato úroková míra sjednána na určitou dobu v rámci nějaké finanční transakce, platí po sjednanou dobu od současného okamžiku. Definice 3.3. Forwardová úroková míra je platná v nějakém budoucím termínu. Jestliže je sjednaná na určitou dobu v rámci nějaké finanční transakce, platí po sjednanou dobu od sjednaného budoucího okamžiku. Mezi spotovými a forwardovými úrokovými mírami platí následující vztah: (1 + sn )n · (1 + k fn )k = (1 + sn+k )n+k ,
(3.4)
kde sn je spotová úroková míra na n let a k fn je forwardová úroková míra od roku n do roku n + k. Pokud je délka období platnosti spotové nebo forwardové úrokové míry kratší než 1 rok, použijeme v příslušném členu rovnice (3.4) místo složeného úročení jednoduché úročení. Definice 3.4. Výnosová křivka je posloupnost výnosností do splatnosti (spotových nebo forwardových) uspořádaných podle rostoucí doby do splatnosti a často znázorněných graficky. Přesněji pak rozlišujeme spotovou výnosovou křivku a forwardovou výnosovou křivku.
33
3.3.5
Range accrual swap podmíněný kurzem dvou měn
Uvažujme range accrual swap, kde úrokové platby založené na pohyblivé úrokové sazbě jsou podmíněny vývojem spotového kurzu dvou měn. Jedna zúčastněná strana tedy platí pevný úrok a druhá strana platí úrok založený na pohyblivé úrokové sazbě, který nabíhá pouze ve dnech, kdy je hodnota spotového měnového kurzu (referenční sazba) v daném pásu. Nominální kapitálovou částku, od které se odvíjejí výše úrokových plateb, označme jako V . Nechť T je doba splatnosti a nechť hH a hD označují horní a dolní hranici pásu. Dobou splatnosti swapu se rozumí doba, během níž probíhají swapové platby. Zvolme hH = c, c > 0, c je konstanta a hD = −∞ (vzhledem k tomu, že měnový kurz může nabývat pouze kladných hodnot, by ekvivalentní volbou bylo také hD = 0). Nechť 0 < t1 < t2 < . . . < tl−1 < tl = T, l ∈ N,
jsou časové okamžiky, ve kterých dochází ke směně úrokových plateb. Předpokládejme, že vyrovnání pohyblivých úrokových plateb se provádí vždy každých k měsíců, k ∈ N. Toto k-měsíční období se nazývá úrokové období. Dále předpokládejme, že základem pro pohyblivou úrokovou sazbu pro j-té úrokové období je k-měsíční úroková sazba vyhlášená ČNB k datu tj−1 , j = 1, . . . , l, t0 = 0, označme ji jako kM-Rj . K vyrovnání pevných úrokových plateb dochází jednou ročně. Poznámka 3.2. ČNB je označení pro Českou národní banku. Označme pohyblivou sazbu a pevnou sazbu pro úrokové období j, j = 1, . . . l j postupně jako rfloat a rfix . Kupónová platba založená na pohyblivé bázi vyplacená v čase tj , j = 1, . . . l závisí vzhledem k volbě hD na počtu dní, kdy byla referenční sazba v období (tj−1 , tj ] menší než konstanta c, j = 1, . . . l, t0 = 0. Nechť Nj je celkový počet obchodních dnů v úrokovém období (tj−1 , tj ], j = 1, . . . l a nj je počet obchodních dnů v daném období, ve kterých je hodnota spotového kurzu (referenční sazba) menší než konstanta c, c > 0. ozn. Pro jednoduchost předpokládejme, že N1 = N2 = . . . = Nl = N. Pohyblivá úroková sazba pro j-té úrokové období je obecně stanovena podle následujícího vzorce: j rfloat = (kM-Rj + rp ),
kde rp označuje nějakou pevnou úrokovou sazbu. Dále budeme předpokládat, že rp = 0. 34
(3.5)
Kupón založený na pevné bázi vyplácený jednou ročně lze vyjádřit vztahem (3.6)
Cfix = rfix · V,
rfix je roční úroková míra. Kupón založený na pohyblivé bázi vyplacený v čase tj , j = 1, . . . l je daný vztahem j j Cfloat = rfloat ·
nj · V. N
(3.7)
Konkrétně budeme pracovat s range accrual swapem podmíněným kurzem české koruny a eura, CZK/EUR. Předpokládejme, že tento swap je denominovaný v českých korunách, to znamená, že nominální kapitálová částka je uvedena v CZK a v téže měně jsou spláceny také úroky. Poznámka 3.3. Obchodním dnem se rozumí každý den, pro který je uveřejněna hodnota spotového kurzu CZK/EUR. Poznámka 3.4. Měnový kurz CZK/EUR budeme chápat jako počet českých korun, za který dostaneme jednu jednotku eura. Označme hodnotu spotového kurzu CZK/EUR v čase t, t ≥ 0, jako Xt . Swapy se standardně konstruují tak, aby současná hodnota všech budoucích toků z této transakce byla na počátku nulová. To znamená, že pevná a pohyblivá úroková sazba nemůžou být stanoveny nezávisle na sobě. Nejprve určíme současnou hodnotu pohyblivých kupónů v čase t0 a pevná úroková sazba se nakonec stanoví tak, aby se současné hodnoty pevných a pohyblivých kupónů rovnaly. Vztah (3.7) můžeme rozepsat jako j Cfloat
=
j rfloat
N j X nj rfloat · ·V = ·V · I{Xt
j = 1, . . . l.
(3.8)
j Nyní vidíme, že kupón Cfloat vyplacený v čase tj , lze vyjádřit jako součet výplatních funkcí binomických cash-or-nothing put opcí s časem splatnosti t(j−1)+ i a N výplatou odloženou do času tj . Současnou hodnotu kupónu můžeme tedy určit jako součet cen těchto binomických opcí. Cena opce se určí jako podmíněná střední hodnota diskontované výplatní funkce opce.
35
Současná hodnota NP Vjfloat v čase t0 = 0 pohyblivého kupónu vyplaceného v čase tj je proto NP Vjfloat
=
N X
∗
−rj tj
E [e
i=1
j rfloat · · V · I{Xt
j = 1, . . . , l,
(3.9)
veličina rj je bezriziková úroková míra v čase t0 na dobu délky tj . Označme t(j−1)+ i jako t∗ . N Hodnota cash-or-nothing put opce je dána vztahem (3.2). Dosazením do rovnice (3.9) dostaneme: NP Vjfloat kde
N j X rfloat −rj tj = ·V ·e · N[−d2 (t∗ )], N i=1
j = 1, . . . , l,
Xt0 c
(3.10)
2
∗ ∗ + ((rCZK − rEUR ) − σ2 )t∗ √ d2 (t(j−1)+ i ) = d2 (t ) = . N σ t∗ ∗ ∗ Veličiny rCZK a rEUR jsou spotové bezrizikové úrokové míry v čase t0 na dobu t∗ . N[−d2 (t∗ )] je pravděpodobnost, že měnový kurz Xt∗ je menší než c.
log
∗
1 Vzhledem k volbě rp = 0 je úrokova sazba rfloat rovna spotové bezrizikové míře j rt1 . Úrokové sazby rfloat pro další úroková období určíme jako forwardové sazby ze vztahu:
(1 + rtj−1 )tj−1 · [1 + tj −tj−1 ftj−1 · (tj − tj−1 )] = (1 + rtj )tj ,
j = 2, . . . , l.
(3.11)
Použitím aproximace (1 + x)n ≈ exp(nx), logaritmováním obou stran rovnice a j dalšími úpravami dostaneme vztah pro rfloat ve tvaru: j rfloat = tj −tj−1 ftj−1 =
rtj tj − rtj−1 tj−1 , tj − tj−1
j = 2, . . . , l.
(3.12)
Současná hodnota všech pohyblivých kupónu se určí jako NP V
float
=
l X
NP Vjfloat .
(3.13)
j=1
Alternativou k ocenění pomocí analytického vzorce je použití simulace Monte Carlo. Tato metoda je v praxi velice důležitá a často se používá pro výpočet současné hodnoty komplikovaných produktů, kde analytický vzorec není znám nebo je jeho použití značně složité. Simulacím Monte Carlo se budeme věnovat v další kapitole. 36
Kapitola 4 Simulační techniky 4.1 4.1.1
Simulační oceňování bariérových opcí Simulace Monte Carlo
Velmi důležitým nástrojem pro oceňování bariérových opcí jsou Monte Carlo simulace. Často se používají v případech, kdy je pro cenu opce nemožné nebo obtížné získat analytické řešení. Simulace Monte Carlo nám umožní získat cenu opce na principu rizikově neutrálního oceňování. Při rizikově neutrálním oceňování určujeme cenu opce jako střední hodnotu diskontované výplatní funkce opce podle bezrizikové úrokové míry. Výplatní funkce opce závisí na ceně podkladového aktiva – například akcie a cena akcie je dle předpokladu Black-Scholes-Mertonova modelu řízena geometrickým Brownovým pohybem. Pro simulaci ceny akcie nám tedy bude stačit simulovat geometrický Brownův pohyb. Generováním s různých scénářů vývoje ceny akcie až do času splatnosti opce T dostaneme s nezávislých stejně rozdělených veličin STi , i = 1, . . . , s, T > 0, s > 0. V čase T zjistíme u každého scénáře, jestli cena akcie dosáhla úrovně bariéry nebo ne, a pro každý scénář určíme výplatní funkci opce, její hodnotu označme jako Y i . Veličiny Y i , i = 1, . . . , s jsou nezávislé stejně rozdělené náhodné veličiny. Cena opce v čase T je dána jako střední hodnota EY i . Podle věty 1.10 můžeme střední hodnotu EY i aproximovat průměrem s
1X i Y = EY s.j., n→∞ s i=1 lim
kde EY = EY 1 = . . . = EY s . Cenu opce v čase t pak určíme diskontováním průměru úrokové míry do času t. 37
1 s
Ps
i=1
Y i podle bezrizikové
Pro určení ceny bariérové opce v čase 0 tedy použijeme následující oceňovací algoritmus [6]: 1. Simuluj s scénářů ceny akcie, s > 0, která je řízena geometrickým Brownovým pohybem. 2. Vypočítej výplatní funkci opce zvlášť pro každý scénář. 3. Spočítej průměr hodnot jednotlivých výplatních funkcí. 4. Diskontuj hodnotu průměru bezrizikovou úrokovou mírou do času 0. Průběh ceny akcie budeme sledovat v diskrétních časových okamžicích t0 = 0 < t1 < t2 < . . . < tn = T . Čím jemnější dělení intervalu [0, T ] zvolíme, tím přesnější dostaneme výsledek. Abychom mohli cenu akcie modelovat v diskrétním čase, aproximujeme rovnici geometrického Brownova pohybu (2.3) následujícím vztahem [6]: √ σ2 ∆t + σZ ∆t , S(t + ∆t) = S(t) exp r − 2 kde Z ∼ N(0, 1).
4.1.2
Odhad volatility
Volatilita je velmi důležitým vstupním parametrem pro určení hodnoty opce, který ovšem nelze přesně určit. Black-Scholes-Mertonův model pro oceňování opcí předpokládá, že cena podkladového aktiva (akcie) se řídí geometrickým Brownovým pohybem dSt = rSt dt + σSt dWt , kde r je bezriziková úroková míra a σ je konstantní volatilita akcie. Z předpokladů tohoto modelu vyplývá, že logaritmické výnosy akcie mají lognormální rozdělení [6]: St σ2 2 log ∼N µ− T ,σ T . S0 2
Zkušenost však ukazuje, že logaritmické výnosy akcií mají lognormální rozdělení jen přibližně. Proto se na trhu pro standardní opce kótuje tzv. implikovaná volatilita. Implikovaná volatilita se určuje zpětně z tržní ceny opce. Pro bariérové opce však tato volatilita kótovaná není. Z tohoto důvodu ji budeme odhadovat z historie vývoje ceny akcie. Pokud je volatilita vypočtena na základě historických dat, mluvíme o tzv. historické volatilitě. 38
Historická volatilita K empirickému odhadu volatility ceny akcie se zpravidla používají pozorování ceny akcie v pevně daných časových intervalech (například denně, týdenně nebo měsíčně) [6]. Mějme n + 1 historických pozorování ceny určité akcie na denní bázi: S0 , S1 , . . . , S n . Odhad historické volatility ceny akcie je založen na logaritmických výnosech akcie Si , i = 1, . . . , n. xi = log Si−1 Dále se určí průměrný logaritmický výnos n
1X xi . x= n i=1
Výběrový rozptyl logaritmických výnosů se určí jako n
σ bs2
1 X (xi − x)2 . = n − 1 i=1
Výběrová směrodatná odchylka je tedy dána vztahem v u n u 1 X t σ bs = (xi − x)2 . n − 1 i=1
Historická volatilita se určí jako anualizovaná výběrová směrodatná odchylka, v praxi se nejčastěji určuje podle následujícího vztahu v u n u f X t σ b= (xi − x)2 , i = 1, . . . , n. n − 1 i=1
Anualizační faktor f je dán počtem obchodních dnů v roce, průměrně uvažujeme 252 obchodních dnů za jeden rok. Není jednoduché říci, jak správně vybrat přiměřený počet pozorování n+1. Mohlo by se zdát, že větší počet dat povede zákonitě k přesnějšímu výsledku, ale může se stát, že příliš stará data již nejsou relevantní pro odhad budoucí volatility. Standardně se používá pravidlo, že pro výpočet volatility vezmeme v úvahu data za období dlouhé max(zbývající doba do splatnosti, 1 rok). V našem případě budeme používat data za období stejně dlouhé, jako je počet obchodních dnů ve zbytkové době do maturity opce. 39
4.1.3
Popis programu
Pomocí metody simulace Monte Carlo oceníme down-and-out call opci. Pro aplikaci metody jsme zvolili výpočetní program R. Označení R se používá jak pro programovací jazyk, tak pro prostředí vhodné pro statistické výpočty a grafiku [10]. Zdrojový kód je uveden v příloze A. Jako vstupní data použijeme ceny akcií společnosti ČEZ a odhadneme historickou volatilitu ceny těchto akcií z jejich logaritmických výnosů. Dalšími vstupními parametry jsou n, s, r, T, B, K, f a M. Veličina n označuje počet iterací, obvyklou volbou hodnoty n je počet obchodních dnů za dobu T . Někdy může dojít kvůli nevhodné volbě n k nadhodnocení nebo podhodnocení ceny opce. M určuje počet opakování celého algoritmu, které slouží pouze k navýšení počtu scénářů. Vzhledem k paměťové náročnosti programu při vysokém počtu scénářů je nemožné nasimulovat průběh všech žádaných scénářů najednou. Zvýšení počtu scénářů vede k přesnějšímu výsledku s menší standardní chybou. Ostatní vstupní parametry jsou označeny dle zavedeného značení v této práci. do (m)
Výstupem programu jsou hodnoty Ct , m = 1, . . . M · s, ze kterých pak určíme průměrnou hodnotu a vykreslíme histogram hodnot.
4.1.4
Numerické výsledky a grafy
Jak už je zmíněno výše, jako vstupní data nám poslouží ceny akcií společnosti ČEZ, a to z období od 26. 9. 2005 do 16. 9. 2008, což odpovídá počtu 756 obchodních dnů. Výchozí cenu akcie S0 položíme rovnu poslední známé ceně akcie. Pro naše data je tedy S0 = 1010.5. Jako bezrizikovou úrokovou míru použijeme diskontní sazbu, kterou vyhlašuje Česká národní banka. K 16. 9. 2008 byla tato sazba rovna 2.5 %. Vzhledem k tomu, že oceňujeme down-and-out call opci, volíme bariéru B tak, aby platilo B < S0 . Jako vstupní parametry pro simulaci ceny akcie volíme n = 756, s = 10000, r = 0.025, T = 3, f = 252, M = 100. Pro parametr K jsme zvolili čtyři různé hodnoty, a to 1000, 1100, 1200 a 1250, pro parametr B jsme zvolili postupně hodnoty 700, 750, 800, 850 a 900 a provedli jsme simulaci pro všechny možné kombinace těchto hodnot. Výsledky získané na základě Monte Carlo simulace pak srovnáme s výsledky, které dostaneme dosazením zvolených parametrů do analytického vzorce (2.18). Na obrázku 4.1 jsou v grafech zobrazeny různé náhodné scénáře vývoje ceny akcie řízené geometrickým Brownovým pohybem. Přerušovanou čarou je do grafů zakreslena hladina bariéry B. 40
V grafu a) je zároveň zobrazeno 100 různých průběhů ceny akcie. V grafu b) je pro větší přehlednost zobrazeno pouze 10 různých průběhů ceny akcie. do (m)
Rozložení hodnot Ct můžeme pozorovat v histogramech na obrázcích 4.2 až 4.5. Čím je bariéra blíže k počáteční ceně akcie, tím je větší pravděpodobnost, že bude opce deaktivována. V tabulce 4.1 jsou zaznamenány ceny down-and-out call opce Ctdo pro jednotlivé sady parametrů určené na základě vzorce (2.18) ve srovnání s cenami určenými na základě Monte Carlo simulace jako průměrná hodnota Ctdo , Ctdo
M ·s 1 X do (m) = C . M · s m=1 t
Přesnost výsledku simulace Monte Carlo závisí na počtu scénářů. Standardní chyba odhadu ceny opce je sb √ d , M ·s kde sbd je výběrová směrodatná odchylka, v u M ·s u X 1 do (m) t (C − Ctdo ). sbd = M · s − 1 m=1 t 95% interval spolehlivosti pro cenu opce je pak dán následujícím vztahem [6]: 1.96b sd 1.96b sd do do Ct − √ , Ct + √ . M ·s M ·s
Dále je v tabulce uvedena pravděpodobnost překročení bariéry pd během doby do splatnosti opce, tedy pravděpodobnost deaktivace opce. Porovnání analytického a numerického modelu Cenu down-and-out call opce jsme získali jako průměr Ctdo . Srovnáním numerických a analytických výsledků v tabulce 4.1 je patrné, že výsledky získané na základě numerického oceňování jsou oproti analytickým mírně nadhodnoceny. Toto nadhodnocení je zřejmě způsobeno tím, že analytická formule je odvozena za předpokladu, že se cena akcie (geometrický Brownův pohyb) sleduje spojitě, zatímco při simulaci sledujeme cenu akcie pouze v diskrétních okamžicích 0 = t0 < t1 < . . . < tn = T. Při určování ceny opce pomocí simulace tedy nezohledňujeme fakt, že opce může být deaktivována i v časovém intervalu (ti , ti + 1), i = 0, . . . , n − 1. 41
hist. č.
B
K
Cdo t
Cdo t
sd √b M ·s
95% interval spolehlivosti
pd
0.45
(223.58,225.34)
0.51
1
700 1000 222.97 224.46
2
750 1000 207.21 209.91
0.44
(209.03,210.78)
0.59
3
800 1000 184.55 188.83
0.43
(187.98,189.68)
0.67
4
850 1000 154.09 159.97
0.41
(159.15,160.78)
0.75
5
900 1000 115.30 123.81
0.38
(123.06,124.55)
0.83
6
700 1100 189.66 190.50
0.42
(189.68,191.32)
0.51
7
750 1100 177.57 179.81
0.42
(178.99,180.62)
0.59
8
800 1100 159.54 163.74
0.41
(162.94,164.54)
0.67
9
850 1100 134.50 139.70
0.39
(138.94,140.46)
0.75
10
900 1100 101.67 108.64
0.35
(107.94,109.33)
0.83
11
700 1200 160.69 161.49
0.39
(160.72,162.25)
0.51
12
750 1200 151.41 153.06
0.39
(152.30,153.82)
0.59
13
800 1200 137.10 139.83
0.38
(139.08,140.57)
0.68
14
850 1200 116.61 120.78
0.36
(120.07,121.49)
0.75
15
900 1200
95.04
0.33
(94.39,95.69)
0.83
16
700 1250 147.75 149.11
0.38
(148.36,149.85)
0.51
17
750 1250 139.62 141.34
0.38
(140.60,142.08)
0.59
18
800 1250 126.88 128.85
0.36
(128.14,129.57)
0.67
19
850 1250 108.36 111.87
0.35
(111.18,112.55)
0.75
20
900 1250
0.32
(87.78,89.04)
0.83
88.99
83.07
88.41
Tabulka 4.1: Srovnání analytických a numerických výsledků V případech, kdy je bariéra B blízko počáteční ceny akcie S0 , můžeme pozorovat větší rozdíly mezi cenami Ctdo a Ctdo . S rostoucí pravděpodobností překročení bariéry v jiných než monitorovaných časových okamžicích se významně tento rozdíl zvětšuje. Na druhou stranu můžeme říci, že cena získaná na základě simulace je blíže praxi z toho důvodu, že u produktu se obvykle uvažuje uzavírací cena akcie vyhlašovaná jednou denně. Tím, že analytická formule předpokládá spojité sledování ceny, skutečnou cenu opce podhodnocuje. Pokud bychom se chtěli s výsledky ze simulace více přiblížit analytickým hodnotám, museli bychom zvětšit počet časových okamžiků, ve kterých simulujeme cenu opce, což nám však neumožňují výpočetní kapacity. Další možností může být použití 42
jiného diskrétního modelu.
1500 500
1000
St
2000
2500
Vývoj ceny akcie St
0
200
400
600
t
a)
1500 500
1000
St
2000
2500
Vývoj ceny akcie St
0
200
400
600
t
b) Obrázek 4.1: Vývoj ceny akcie řízený geometrickým Brownovým pohybem. Hladina bariéry B je znázorněna přerušovanou čarou.
43
do (m)
do (m)
Histogram Ct
8e+05 6e+05 4e+05 0e+00
2e+05
Absolutní četnost
6e+05 4e+05 2e+05 0e+00
Absolutní četnost
8e+05
Histogram Ct
0
500
1000
1500
2000
2500
3000
0
500
1000
do (m)
2500
3000
2. B = 750, K = 1000 do (m)
do (m)
6e+05 4e+05 0e+00
2e+05
Absolutní četnost
6e+05 4e+05 2e+05 0e+00
8e+05
Histogram Ct
8e+05
Histogram Ct Absolutní četnost
2000
Ct
1. B = 700, K = 1000
0
500
1000
1500
2000
2500
3000
0
500
1000
do (m)
1500
2000
2500
3000
do (m)
Ct
Ct
3. B = 800, K = 1000
4. B = 850, K = 1000 do (m)
do (m)
Histogram Ct
6e+05 4e+05 2e+05 0e+00
0e+00
2e+05
4e+05
6e+05
Absolutní četnost
8e+05
8e+05
Histogram Ct Absolutní četnost
1500
do (m)
Ct
0
500
1000
1500
2000
2500
0
do (m)
500
1000
1500
2000
2500
3000
do (m)
Ct
Ct
5. B = 900, K = 1000
6. B = 700, K = 1100 do (m)
Obrázek 4.2: Histogramy hodnot Ct
pro jednotlivé kombinace parametrů K a B 44
do (m)
do (m)
8e+05 6e+05 4e+05 2e+05 0e+00
2e+05
4e+05
6e+05
Absolutní četnost
8e+05
Histogram Ct
0e+00
Absolutní četnost
Histogram Ct
0
500
1000
1500
2000
2500
3000
0
500
1000
do (m)
2500
3000
8. B = 800, K = 1100 do (m)
do (m)
6e+05 4e+05 0e+00
2e+05
Absolutní četnost
6e+05 4e+05 2e+05 0e+00
8e+05
Histogram Ct
8e+05
Histogram Ct Absolutní četnost
2000
Ct
7. B = 750, K = 1100
0
500
1000
1500
2000
2500
3000
0
500
1000
do (m)
1500
2000
2500
3000
do (m)
Ct
Ct
9. B = 850, K = 1100
10. B = 900, K = 1100 do (m)
do (m)
Histogram Ct 8e+05 6e+05 4e+05 2e+05 0e+00
0e+00
2e+05
4e+05
6e+05
Absolutní četnost
8e+05
Histogram Ct Absolutní četnost
1500
do (m)
Ct
0
500
1000
1500
2000
2500
3000
0
do (m)
500
1000
1500
2000
2500
3000
do (m)
Ct
Ct
11. B = 700, K = 1200
12. B = 750, K = 1200 do (m)
Obrázek 4.3: Histogramy hodnot Ct
pro jednotlivé kombinace parametrů K a B 45
do (m)
do (m)
8e+05 6e+05 4e+05 2e+05 0e+00
2e+05
4e+05
6e+05
Absolutní četnost
8e+05
Histogram Ct
0e+00
Absolutní četnost
Histogram Ct
0
500
1000
1500
2000
2500
3000
0
500
1000
do (m)
2500
3000
14. B = 850, K = 1200 do (m)
do (m)
6e+05 4e+05 0e+00
2e+05
Absolutní četnost
6e+05 4e+05 2e+05 0e+00
8e+05
Histogram Ct
8e+05
Histogram Ct Absolutní četnost
2000
Ct
13. B = 800, K = 1200
0
500
1000
1500
2000
2500
3000
0
500
1000
do (m)
1500
2000
2500
3000
do (m)
Ct
Ct
15. B = 900, K = 1200
16. B = 700, K = 1250 do (m)
do (m)
Histogram Ct 8e+05 6e+05 4e+05 2e+05 0e+00
0e+00
2e+05
4e+05
6e+05
Absolutní četnost
8e+05
Histogram Ct Absolutní četnost
1500
do (m)
Ct
0
500
1000
1500
2000
2500
3000
0
do (m)
500
1000
1500
2000
2500
3000
do (m)
Ct
Ct
17. B = 750, K = 1250
18. B = 800, K = 1250 do (m)
Obrázek 4.4: Histogramy hodnot Ct
pro jednotlivé kombinace parametrů K a B 46
do (m)
do (m)
8e+05 6e+05 4e+05 2e+05 0e+00
2e+05
4e+05
6e+05
Absolutní četnost
8e+05
Histogram Ct
0e+00
Absolutní četnost
Histogram Ct
0
500
1000
1500
2000
2500
3000
0
do (m)
1500
2000
2500
3000
20. B = 900, K = 1250 do (m)
Obrázek 4.5: Histogramy hodnot Ct
4.2.1
1000
Ct
19. B = 850, K = 1250
4.2
500
do (m)
Ct
pro jednotlivé kombinace parametrů K a B
Simulační oceňování strukturovaného swapu Úvod
Stejně jako u bariérových opcí použijeme pro numerické ocenění range accrual swapu Monte Carlo simulace. Uvažujme range accrual swap podmíněný měnovým kurzem CZK/EUR definovaný v podkapitole 3.3.5. Úkolem bude určit současnou hodnotu všech kupónů odvozených od pohyblivé úrokové sazby. Úrokovou sazbu kM-Rj platnou v úrokovém období (tj−1 , tj ], j = 2, . . . l určíme dle vztahu (3.12). Jak už jsme zmínili dříve, pohyblivé kupóny můžeme replikovat pomocí součtu binomických opcí s odloženou výplatou. Použitím simulace Monte Carlo určíme současnou hodnotu kupónů na principu rizikově neutrálního oceňování jako součet střední hodnot diskontovaných výplatních funkcí těchto binomických opcí podle bezrizikových úrokových měr. Výplatní funkce binomických opcí závisí na vývoji měnového kurzu CZK/EUR. Předpokládáme, že se měnový kurz řídí geometrickým Brownovým pohybem. Základem numerického oceňování bude tedy opět simulace geometrického Brownova pohybu, který aproximujeme vztahem √ σ2 CZK EUR X(t + ∆t) = X(t) · exp (rt − rt ) − ∆t + σZ ∆t , Z ∼ N(0, 1), 2 rtCZK je spotová úroková sazba v čase t na dobu ∆t pro CZK, rtEUR je spotová úroková sazba v čase t na dobu ∆t pro EUR. 47
Sazby rtCZK a rtEUR pro t > 0 v čase t0 = 0 neznáme, musíme je určit jako forwardové úrokové sazby. Platí: exp(rti · ti ) · exp(tj −ti fti · (tj − ti )) = exp(rtj · tj ),
0 < ti < tj .
Zlogaritmováním a dalšími úpravami dostaneme vztah pro forwardovou bezrizikovou úrokovou míru tj −ti fti : tj −ti fti
=
rtj tj − rti ti . tj − ti
(4.1)
Budeme generovat s různých scénářů vývoje měnového kurzu až do času T . V každém scénáři dostaneme n + 1 hodnot měnového kurzu X0s , X1s , . . . Xns , n je počet obchodních dnů do času T . Veličiny {Xis , i = 1, . . . n} jsou nezávislé a stejně rozdělěné. Díky tomu můžeme opět použít aproximaci střední hodnoty průměrem podle věty 1.10. Pro každý časový okamžik tj , j = 1, . . . , n, určíme, jestli je hodnota kurzu Xj menší než c, nebo ne. Na základě toho známe výplatní funkce vnořených binomických opcí, jejichž cenu určíme na stejném principu jako u bariérové opce v podkapitole 4.1. Pro určení současné hodnoty pohyblivého kupónu použijeme následující algoritmus: 1. Zvol dostatečně velké s pro počet simulací, s > 0. 2. Pomocí geometrického Brownova pohybu generuj s různých scénářů, které popisují možný vývoj měnového kurzu. 3. Pro každý scénář 1, . . . s pro všechna úroková období j spočítej realizovanou hodnotu parametru nj a simulovanou hodnotu pohyblivé platby. Tím dostaneme pro každé úrokové období s možných výplat kupónu. 4. Současnou hodnotu pohyblivých kupónu získáme jako průměr simulovaných hodnot pohyblivých plateb diskontovaný bezrizikovou křivkou měny CZK. Volíme dostatečně velkou hodnotu počtu scénářů s, abychom se dostali blíže k asymptotickému chování. Bohužel v praxi jsme často omezeni výpočetními kapacitami počítačů. V našem případě jsme volili s = 40000. Zdrojový kód programu je uveden v příloze B.
48
4.2.2
Popis programu
Vstupnímu daty pro výpočet současné hodnoty pohyblivých kupónů range accrual swapu ve výpočetním prostředí R jsou hodnoty měnového kurzu CZK/EUR za období od 2. 1. 2006 do 31. 12. 2008, výnosová křivka úrokových měr pro CZK a výnosová křivka úrokových měr pro EUR. Z dat odhadneme historickou volatilitu měnového kurzu tak, jak jsme ji zadefinovali v podkapitole 4.1.2. Dalšími vstupními parametry jsou n, s, T, c, f, k, N a V . Veličiny jsou označeny stejně, jak jsme je v souvislosti s range accrual swapem v této práci použili, f je anualizační faktor ve stejném významu jako v podkapitole 4.1.2. Výstupem programu jsou hodnoty NP V float(m) , m = 1, . . . s, ze kterých pak určíme průměrnou hodnotu.
4.2.3
Numerické výsledky a grafy
Jako výchozí cenu měnového kurzu X0 použijeme hodnotu kurzu z 31. 12. 2008, X0 = 26.93. Pro bariéru c postupně volíme hodnoty 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31 a 31.5. Pro další vstupní parametry jsem zvolili hodnoty n = 756, s = 40000, T = 3, k = 6, N = 126 a V = 600000. Výsledky získané na základě simulace Monte Carlo jsou uvedené v tabulce 4.2. V tabulce 4.2 jsou uvedeny současné hodnoty pohyblivých plateb NP V float určené na základě vzorce (3.13) ve srovnání s hodnotami určenými na základě simulace Monte float , Carlo jako průměrná hodnota NP V NP V
float
s 1X NP V float(m) . = s m=1
Standardní chyba odhadu je dána vztahem sb √d , s
95% interval spolehlivosti pro současnou hodnotu pohyblivých kupónů range accrual swapu je: 1.96b sd 1.96b sd float float NP V − √ , NP V + √ . s s V tabulce 4.3 je uvedena pevná úroková sazba rfix při dané současné hodnotě pohyblivých kupónů určené na základě simulace. S ohledem na to, že swap konstruujeme 49
tak, aby byla současná hodnota všech plateb nulová, určíme r fix ze vztahu: float
r fix
NP V = , PT V · i=1 exp(−ri · i)
kde ri je spotová bezriziková úroková míra na dobu délky i, r fix je roční úroková míra. Podobně určíme také pevnou úrokovou sazbu rfix ze vztahu rfix =
NP V float . PT V · i=1 exp(−ri · i)
Porovnání analytického a numerického modelu Na rozdíl od ceny down-and-out call opce si výsledky pro současnou hodnotu pohyblivých kupónu získané z analytického vzorce a simulace odpovídají. Shoda nastává také u hodnoty pevné úrokové míry. Z uvedených hodnot v tabulce 4.2 je vidět, že čím blíže je hranice c k počáteční hodnotě měnového kurzu X0 , tím je současná hodnota pohyblivých kupónů nižší. To je způsobeno větší pravděpodobností, že za den i, i = 1, . . . n, nebude nabíhat úrok. V závislosti na zvýšení současné hodnoty pohyblivých kupónů se zvyšuje také pevná úroková sazba, což je konzistentní s tím, jak konstruujeme swap.
50
X0
c
NP V float
NP V
float
bsd √ s
95% interval spolehlivosti
1
26.93 27.00
51048.13
51030.00
164.73
(50707.13,51352.88)
2
26.93 27.50
61873.8
61768.18
156.49
(61461.47,62074.89)
3
26.93 28.00
70226.51
70168.90
142.78
(69889.04,70448.75)
4
26.93 28.50
76595.98
76571.98
126.88
(76323.29,76820.66)
5
26.93 29.00
81417.45
81367.37
110.59
(81150.61,81584.12)
6
26.93 29.50
85052.79
85037.63
94.98
(84851.46,85223.80)
7
26.93 30.00
87786.58
87817.70
80.51
(87659.89,87957.51)
8
26.93 30.50
89836.26
89836.26
68.79
(89657.08,89926.75)
9
26.93 31.00
91366.83
91330.65
57.81
(91217.34,91443.97)
10
26.93 31.50
92503.88
92487.33
48.44
( 92392.39,92582.26)
Tabulka 4.2: Numerické výsledky pro stanovení současné hodnoty pohyblivých kupónu
rfix
r fix
1
3.00% 3.00%
2
3.64% 3.63%
3
4.13% 4.13%
4
4.50% 4.50%
5
4.79% 4.79%
6
5.00% 5.00%
7
5.16% 5.16%
8
5.29% 5.28%
9
5.37% 5.37%
10
5.44% 5.44%
Tabulka 4.3: Porovnání hodnot pevných úrokových měr rfix a rfix .
51
Kapitola 5 Kvantitativní analýza 5.0.4
Greeks
Pod pojmem Greeks rozumíme míry citlivosti vyjadřující riziko, které vyplývá ze změny parametrů (rizikových faktorů), které ovlivňují výši opční prémie. Tyto míry popisují, jak se změní cena opce při malé změně některého z parametrů. Název Greeks vznikl podle řeckých názvů, kterými se míry citlivosti označují. Greeks jsou důležitým nástrojem používaným pro hodnocení rizika při řízení rizik. V podstatě se jedná o parciální derivace ceny opce podle příslušného parametru, na kterém opční prémie závisí. Zde uvedeme několik nejběžněji používaných Greeks [4]. Cenu opce v čase t označíme jako Ct . Definice 5.1. Delta je míra citlivosti opční prémie na malou změnu v ceně podkladového aktiva St , ∂Ct ∆= . ∂St Definice 5.2. Gamma je míra citlivosti míry delta na malou změnu v ceně podkladového aktiva St , ∂ 2 Ct Γ= . ∂St2 Definice 5.3. Vega je míra citlivosti opční prémie na malou změnu volatility σ, ν=
∂Ct . ∂σ
Definice 5.4. Rho je míra citlivosti opční prémie na malou změnu bezrizikové úrokové míry r, ∂Ct ρ= . ∂r 52
Definice 5.5. Eta je míra citlivosti opční prémie na malou změnu bariéry B, η=
5.0.5
∂Ct . ∂B
Taylorův rozvoj
Podobně jako u opcí chceme i u ostatních strukturovaných produktů vědět, jaký vliv bude mít na jejich hodnotu malá změna tržního faktoru, na kterém hodnota závisí. Uvažujme, že počáteční hodnota tržního faktoru je yo . Zajímá nás, jak se změní cena P0 = f (y0 ), když se tržní faktor změní z hodnoty y0 na hodnotu y1 za předpokladu, že hodnoty všech ostatních tržních faktorů zůstanou nezměněné. Funkce f (y) je oceňovací funkce uvažovaného produktu. Změna ceny ∆P pak vyjadřuje hodnotu citlivosti na tento tržní faktor. Spočítáme ji jako ∆P = P1 − P0 = f (y1 ) − f (y0 ) a pro její aproximaci použijeme Taylorův rozvoj v bodě y0 :
1 P1 = P0 + f ′ (y0 )∆y + f ′′ (y0 )(∆y)2 + . . . , 2 kde ∆y = y1 − y0 , f ′ (·) =
dP dy
a f ′′ (·) =
d2 P dy 2
(5.1)
.
Uveďme si příklad použití Taylorova rozvoje u opcí. Pokud y = S (spotová hodnota podkladového aktiva) a P = C (cena opce) dostaneme následující rozvoj: 1 ∆C = f ′ (S)∆S + f ′′ (S)(∆S)2 + . . . . 2 První, resp. druhá derivace se u opcí označuje jako delta, resp. gamma zmíněná v předchozí podkapitole. Poznámka 5.1. Stejný princip se uplatňuje i u dluhopisů, kde y představuje výnos a P je cena dluhopisu, která na tomto výnosu závisí. V tomto případě se záporná hodnota první derivace Taylorova rozvoje označuje jako dolarová durace (DD) a druhá derivace je označována jako dolarová konvexita (DC). Platí tedy vztah: ∆P = −DD · ∆y +
1 · DC · (∆y)2 + . . . 2
(5.2)
Vydělením rovnice hodnotou P0 dostaneme používanější aproximaci relativní ceny dluhopisů pomocí durace D a konvexity C: ∆P 1 ≈ −D · ∆y + · C · (∆y)2. P0 2 53
(5.3)
Tento postup se dá obecně použít pro určení citlivosti na libovolný tržní faktor u jakéhokoliv produktu, pro který máme oceňovací funkci. Výhodou Taylorova rozvoje je, že můžeme snadno agregovat citlivosti různých P produktů v portfoliu. Nechť Pi je cena produktu i pro i = 1, . . . , n a P = ni=1 Pi je celková současná tržní hodnota portfolia. Pak pro změnu hodnoty portfolia platí následující vztah: n X 1 ′′ 2 ′ ∆P ≈ fi (y0 )∆y + fi (y0 )(∆y) 2 i=1 ≈
n X
fi′ (y0 )∆y
+
i=1
n X 1 i=1
2
fi′′ (y0 )(∆y)2 ,
fi označuje oceňovací funkci produktu i. V případě, že neznáme analytickou formuli oceňovací funkce f , ale cenu produktu umíme spočítat numericky, můžeme numericky spočítat i příslušné derivace dle následujícího postupu: 1. Zvolíme dostatečně malé ∆y. 2. Numericky spočítáme f (y0 ), f (y0 + ∆y) a f (y0 − ∆y). 3. První derivaci aproximujeme jako: f ′ (y0 ) ≈
f (y + ∆y) − f (y0 − ∆y) . 2∆y
4. Druhou derivaci aproximujeme jako: ′′
f (y0 ) ≈
f (y0 +∆y)−f (y0 ) ∆y
−
f (y0 )−f (y0 −∆y) ∆y
∆y f (y + ∆y) − 2f (y0 ) + f (y0 − ∆y) = . (∆y)2
Poznámka 5.2. V praxi se často riziko portfolia vyjadřuje souhrnně pomocí jedné hodnoty známé jako VaR (value at risk, hodnota v riziku). Tato hodnota vyjadřuje maximální ztrátu, ke které může dojít během stanoveného časového horizontu s předepsanou pravděpodobností. Pravděpodobnost, se kterou skutečná ztráta nepřevýší hodnotu VaR během daného období, se často volí jako 95 % nebo 99 %. 54
V podstatě je tedy VaR kvantilem rozdělení portfolia. Pokud známe rozdělení tržních faktorů a oceňovací funkce produktů, známe i rozdělení hodnoty portfolia a můžeme tento kvantil určit. Při praktickém provedení ovšem můžeme narazit na výpočetní problémy, hlavně pokud jsou oceňovací funkce příliš složité nebo jejich analytické vyjádření neznáme a jsme odkázáni na simulace Monte Carlo. V tomto případě můžeme s výhodou využít výše popsané aproximace oceňovacích funkcí pomocí derivací (citlivostí).
55
Kapitola 6 Závěr V této práci jsme se detailně zaměřili na dva strukturované produkty, a to na evropské bariérové opce a range accrual swap. V první části jsme odvodili analytický vzorec pro cenu down-and-out call opce pomocí rizikově neutrálního oceňování za předpokladu, že cena akcie je řízena geometrickým Brownovým pohybem. S využitím knocked-in-knocked-out parity jsme stanovili i vzorec pro cenu down-and-in call opce. Dále jsme odvodili analytický vzorec pro současnou hodnotu všech pohyblivých kupónů range accrual swapu vázaného na měnový kurz. V druhé části práce jsme použili simulace Monte Carlo pro odhad ceny bariérové down-and-out call opce a pro odhad současné hodnoty pohyblivých plateb range accrual swapu. Zjistili jsem, že ceny bariérové opce získané pomocí simulace jsou oproti analytickým výsledkům nadhodnoceny, což je zjevně způsobeno tím, že analytická formule předpokládá spojité sledování ceny akcie, zatímco při simulaci monitorujeme cenu akcie jen v diskrétních okamžicích. U range accrual swapu si na rozdíl od bariérové opce výsledky z analytického vzorce a simulace odpovídají. V třetí části práce jsme uvedli různé míry citlivosti na změnu tržních faktorů.
56
Příloha A Program 1 Implementace oceňovacího algoritmu v R - down-and-out call opce #**************************************************************** # * # Down-and-out call opce - Monte Carlo simulace * # * #**************************************************************** #data: ČEZ #====================== data<-read.table("C:/data.txt") x<-data[,1] #počáteční hodnoty parametrů: #=========================== n<-756 #počet iterací s<-10000 #počet scénářů r<-0.025 #bezriziková úroková míra T<-3 #časový horizont (v letech) B<-900 #bariéra K<-1250 #realizační cena f<-252 #anualizační faktor M<-100 #počet opakování algoritmu
#logaritmické výnosy #=================== 57
LogVynosy<-diff(log(x)) #historická volatilita #===================== sigma<-sqrt(f*var(LogVynosy)) #přírůstek času #============== dt=T/n #matice pro ukládání hodnot z jednotlivých iterací: #================================================= A<-matrix(ncol=n,nrow=s) #kontrola - hlídá překročení bariéry pro scénáře 1,...s #====================================================== kontrola<-c(rep(1,s)) #pst - hlídá překročení bariéry pro scénáře 1,...,M*s #==================================================== pst<-rep(0,M*s) celk<-rep(0,M*s) Fin<-rep(0,M*s) #počáteční hodnota S0 #==================== A[,1]<-x[length(x)] #realizace ceny akcie v časových #================================= #okamžicích 1,..., n pro M*s různých scénářů #=========================================== for(k in 1:M) { for(j in 2:n) { A[,j]<-A[,j-1]*exp((r-0.5*sigma^2)*dt+rnorm(s,0,sigma*sqrt(dt))) } kontrola<-apply(A,1,min)>B pst[(s*(k-1)+1):(k*s)]<-kontrola celk[(s*(k-1)+1):(k*s)]<-A[,n] } Fin<-pmax(0,pst*celk-K)*exp(-r*T) #diskontované výplatní funkce 58
#opce pro jednotlivé vývoje ceny akcie mean(Fin) #průměrná hodnota length(pst[pst==0])/length(pst) #pravděpodobnost překročení bariéry sd(Fin)/sqrt(M*s) #standardní chyba c(mean(Fin)-1.96*sd(Fin)/sqrt(M*s),mean(Fin)+1.96*sd(Fin)/sqrt(M*s)) #95-procentní interval spolehlivosti
#**************************************************************** # * # Down-and-out call opce - analytická cena * # * #**************************************************************** S0<-A[1,1] N1<-(log(S0/K)+(r+(sigma^2)/2)*T)/(sigma*sqrt(T)) N2<-(log(B^2/(K*S0))+(r+(sigma^2)/2)*T)/(sigma*sqrt(T)) N3<-(log(S0/K)+(r-(sigma^2)/2)*T)/(sigma*sqrt(T)) N4<-(log(B^2/(K*S0))+(r-(sigma^2)/2)*T)/(sigma*sqrt(T)) k1<-S0 k2<-B*(S0/B)^(-2*r*sigma^(-2)) k3<-exp(-r*T)*K k4<-exp(-r*T)*K*(S0/B)^(-2*r*sigma^(-2)+1) C<-k1*pnorm(N1)-k2*pnorm(N2)-k3*pnorm(N3)+k4*pnorm(N4) C
59
Příloha B Program 2 Implementace oceňovacího algoritmu v R - range accrual swap #**************************************************************** # * # Range accrual swap - Monte Carlo simulace * # * #**************************************************************** #data: měnový kurz CZK/EUR #========================= data<-read.table("C:/data.txt") x<-data[,2] #počáteční hodnoty parametrů: #=========================== n<-756 #počet iterací s<-40000 #počet scénářů T<-3 #časový horizont (v letech) c<-31.5 #realizační cena f<-252 #anualizační faktor k<-6 #doba, po kterou je platná pohyblivá úroková sazba #[v měsících] N<-126 #počet obchodních dnů v jednom úrokovém období V<-600000 #nominální kapitálová částka #výnosová křivka pro CZK: #======================== ‘czkcurve‘ <structure(list(NoDays = c(0.0328767123287671, 0.0904109589041096, 60
0.175342465753425, 0.252054794520548, 0.33972602739726, 0.419178082191781, 0.504109589041096, 0.589041095890411, 0.671232876712329, 0.761643835616438, 0.838356164383562, 0.923287671232877, 1.01095890410959, 2.00821917808219, 3.00547945205479, 4.00821917808219, 5.00821917808219, 6.00821917808219, 7.01369863013699, 8.01095890410959, 9.01095890410959, 10.0109589041096, 11.0109589041096, 12.0191780821918, 13.0164383561644, 14.013698630137, 15.013698630137, 16.0164383561644, 17.0164383561644, 18.0219178082192, 19.0191780821918, 20.0191780821918, 21.0191780821918, 22.0191780821918, 23.0191780821918, 24.0246575342466, 25.0219178082192, 26.0219178082192, 27.0219178082192, 28.0246575342466, 29.0301369863014, 30.027397260274), ZeroRate = c(0.0291223057341191, 0.0361725721405527, 0.0378592846842782, 0.0393822596903087, 0.0399814697634195, 0.0381854840862172, 0.0350426856050602, 0.0342218506769926, 0.0334274942949917, 0.0325537022747907, 0.0320008172790541, 0.0313886946052028, 0.0307568260386466, 0.0286624796396788, 0.0278509914004322, 0.0284776379912928, 0.0291055916171833, 0.029738008959618, 0.0303763384620627, 0.0312441755042002, 0.0322367332156327, 0.0332451984591276, 0.0338534539804103, 0.0344788201189963, 0.0348461325853376, 0.0352229469799462, 0.0356101008173771, 0.0355637242332047, 0.035523014468218, 0.0354864529380465, 0.0354542677629404, 0.0354251317647625, 0.0341114327528914, 0.0328274806472875, 0.0315713637022708, 0.0303349394087384, 0.0291338197493732, 0.0286880332927905, 0.0282406530386971, 0.0277906809912613, 0.0273383722510019, 0.0268889988923714)), .Names = c("NoDays", "ZeroRate"), row.names = c("2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43"), class = "data.frame")
#výnosová křivka pro EUR: #======================== ‘eurcurve‘ <structure(list(NoDays = c(0.0328767123287671, 0.0904109589041096, 61
0.175342465753425, 0.252054794520548, 0.33972602739726, 0.419178082191781, 0.504109589041096, 0.589041095890411, 0.671232876712329, 0.761643835616438, 0.838356164383562, 0.923287671232877, 1.01095890410959, 2.00821917808219, 3.00547945205479, 4.00821917808219, 5.00821917808219, 6.00821917808219, 7.01369863013699, 8.01095890410959, 9.01095890410959, 10.0109589041096, 11.0109589041096, 12.0191780821918, 13.0164383561644, 14.013698630137, 15.013698630137, 16.0164383561644, 17.0164383561644, 18.0219178082192, 19.0191780821918, 20.0191780821918, 21.0191780821918, 22.0191780821918, 23.0191780821918, 24.0246575342466, 25.0219178082192, 26.0219178082192, 27.0219178082192, 28.0246575342466, 29.0301369863014, 30.027397260274), ZeroRate = c(0.0246217523019164, 0.0298881992124123, 0.0251994383627687, 0.0311136374825943, 0.0317057182030465, 0.0322244787541814, 0.032768122438915, 0.0326420473991265, 0.0325163857469401, 0.0323756593031048, 0.0328101081166593, 0.0332875849801049, 0.0337767407785376, 0.0281525017100969, 0.0295652823953649, 0.0311265324949527, 0.0324029337913092, 0.0335744042931004, 0.0347699836127556, 0.0356898205809966, 0.0366300030697527, 0.0375896761608771, 0.0381872905841298, 0.0388048967628679, 0.0390043481797162, 0.0392137521686851, 0.0394326786890018, 0.0392520002100648, 0.0390775617056381, 0.038906350173225, 0.0387402073392669, 0.0385760588902815, 0.0385565152933976, 0.0385387468396922, 0.038522522181655, 0.0385074055207973, 0.0384938480190986, 0.0384812209915864, 0.0384695285407834, 0.0384585714389312, 0.0384482762259752, 0.0384389425033749)), .Names = c("NoDays","ZeroRate"), row.names = c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42"), class = "data.frame") #interpolace výnosových křivek: #============================= fCZK<-splinefun(‘czkcurve‘) fEUR<-splinefun(‘eurcurve‘)
62
#forwardové bezrizikové úrokové míry: #=================================== rCZK<-c(rep(0,n)) rEUR<-c(rep(0,n)) rCZK[1]<-fCZK(1/252) for (i in 2:length(rCZK)) { rCZK[i]<-fCZK(i/252)*i-fCZK((i-1)/252)*(i-1) } rEUR[1]<-fEUR(1/252) for (i in 2:length(rEUR)) { rEUR[i]<-fEUR(i/252)*i-fEUR((i-1)/252)*(i-1) } #úrokový diferenciál: #=================== d<-rCZK-rEUR #logaritmické výnosy #=================== LogVynosy<-diff(log(x)) #historická volatilita #===================== sigma<-sqrt(f*var(LogVynosy)) #přírustek času #============== dt=T/n #matice pro ukládání hodnot z jednotlivých iterací: #================================================= A<-matrix(ncol=n+1,nrow=s) #kontrola - hlídá, kdy je kurz menší než c a kdy ne #================================================== kontrola<-matrix(ncol=n+1,nrow=s) #počáteční hodnota měnového kurzu X0 #=================================== 63
A[,1]<-x[length(x)] #realizace měnového kurzu - geometrický Brownův pohyb #==================================================== for (j in 2:(n+1)) { A[,j]<-A[,j-1]*exp((d[j-1]-0.5*sigma^2)*dt+rnorm(s,0,sigma*sqrt(dt))) } for (i in 1:s) { for (j in 1:(n+1)) {if(A[i,j]
for (i in 1:s) {NPV[i]<-sum(D[i,])} mean(NPV) #fixní sazba #=========== diskont<-c(rep(0,T)) for (i in 1:length(diskont)) { diskont[i]<-exp(-fCZK(i)*i) } rfix<-mean(NPV)/(V*sum(diskont)) rfix #standardní chyba #================ sd(NPV)/sqrt(s) #95% interval spolehlivosti #========================== c(mean(NPV)-1.96*sd(NPV)/sqrt(s),mean(NPV)+1.96*sd(NPV)/sqrt(s)) #**************************************************************** # * # Range accrual swap - analytická hodnota * # * #**************************************************************** X0<-A[1,1] d2<-c(rep(0,n)) for(i in 1:n) { d2[i]<-(log(X0/c)+((fCZK(i/f)-fEUR(i/f))-sigma^2/2)*i/f)/ (sigma*sqrt(i/f)) } NPVj<-c(rep(0,n/N)) for (i in 1:length(NPVj)) { NPVj[i]<-floatrate[i]/N*V*exp(-fCZK(i*k/12)*i*k/12)* sum(pnorm(-d2[((i-1)*N+1):(i*N)])) } NPVan<-sum(NPVj) NPVan 65
#fixní sazba #=========== rfix2<-mean(NPVan)/(V*sum(diskont)) rfix2
66
Literatura [1] Baxter, M., Rennie, A.: Financial calculus: An introduction to derivative pricing, Cambridge University Press, 1996. [2] Bielecki, T.R., Rutkowski, M.: Credit Risk: Modelling, Valuation and Hedging, Heidelberg, Springer-Verlag Berlin Heidelberg, 2002. [3] Cipra, T.: Finanční a pojistné vzorce, Grada Publishing, 2006. [4] Dupačová, J., Hurt, J., Štěpán J.: Stochastic modeling in economics and finance, Kluwer Academic Publishers, 2002. [5] Friesl, M.: Finanční matematika hypertextově, http://home.zcu.cz/~friesl/hfim, 2003. [6] Hull, J.: Options, Futures and Other Derivatives, Pearson Education, Inc. New Persey, 2003. [7] Janeček, K.: Stochastic Calculus in Finance. Skripta k přednášce na MFF UK Stochastická analýza ve finanční matematice. Nepublikováno. [8] Janeček, K.: Advanced topics in financial mathematics. Skripta k přednášce na MFF UK Pokročilé partie finanční matematiky. Nepublikováno. [9] Jorion, Philippe: Financial Risk Manager Handbook, Wiley & Sons, 2007. [10] R Development Core Team: R: A Language and Environment for Statistical Computing, R Foundation for Statistical Computing, Vienna, Austria, http://www.R-project.org, 2006. [11] Shreve, S.E.: Stochastic Calculus for Finance II - Continuous-Time Models, Springer-Verlag, New York, 2004. [12] Steinberg, Mario: Pricing of Discrete Barrier Options, Trinity, 2003. [13] Zhang, P. G.: Exotic Options, World Scientific Publishing Co. Pte. Ltd., 1998.
67