Definicje zależności. Kopuły w matematyce finansowej.

Transcription

Definicje zależności. Kopuły w matematyce finansowej.
Definicje zależności. Kopuły w matematyce finansowej.
Aleksandra Kantowska
18.06.2014
Spis treści
Wstęp
2
1 Funkcja kopuła
1.1 Podstawowe pojęcia . . .
1.2 Pochodne kopuł . . . . . .
1.3 Klasa kopuł Archimedesa
1.3.1 Kopuła Claytona .
1.3.2 Kopuła Gumbela .
1.3.3 Kopuła Franka . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
10
12
16
17
18
2 Procesy stochastyczne
2.1 Proces stochastyczny . . . .
2.2 Proces Markowa . . . . . .
2.3 Proces Wienera . . . . . . .
2.4 Geometryczny ruch Browna
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
20
20
21
22
23
3 Operacja produktowa ∗ dla kopuł i proces Markowa
3.1 Operacja produktowa ∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Operacja produktowa ∗ a proces Markowa . . . . . . . . . . . . . . . . . . . . . . .
3.3 Przykład: kopuła ruchu Browna . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
26
28
32
4 Konstrukcja procesów stochastycznych opartych na kopułach
4.1 Metoda konstrukcji procesu . . . . . . . . . . . . . . . . . . . . .
4.2 Proces ruchu Browna . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Proces kopuły Franka . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Proces kopuły Claytona . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
34
34
35
37
39
5 Modelowanie rynku z użyciem procesu kopuły
5.1 Opcje . . . . . . . . . . . . . . . . . . . . . . .
5.2 Model Blacka-Scholesa . . . . . . . . . . . . . .
5.3 Wycena opcji europejskiej . . . . . . . . . . . .
5.4 Wycena opcji binarnej barierowej . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
43
44
46
49
Browna
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Podsumowanie
53
A Załącznik - rozkłady prawdopodobieństwa
54
B Załącznik - kody
B.1 Załącznik 1 .
B.2 Załącznik 2 .
B.3 Załącznik 3 .
B.4 Załącznik 4 .
B.5 Załącznik 5 .
B.6 Załącznik 6 .
programów
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
55
55
57
58
58
60
63
Spis rysunków
71
Bibliografia
72
1
Wstęp
W pracy zajmiemy się strukturą zależności jaką jest proces Markowa. Pokażemy konstrukcję
procesu Markowa opartego na kopule i zastosowanie takiego procesu w finansach. Zacznijmy zatem
od krótkiego przybliżenia, czym jest ta funkcja.
Funkcja kopuła (ang. copula) jest to funkcja, dzięki której możemy połączyć rozkład łączny
z jego rozkładami brzegowymi, krótko można powiedzieć, że jest to funkcja połączenia. W pracy
często funkcje te będziemy nazywać po prostu kopułami. Pojęcie kopuły zostało po raz pierwszy
przedstawione przez Abe Sklar’a w roku 1959 w twierdzeniu, które nosi teraz jego imię, a które
opisuje funkcje łączące dystrybuanty jednowymiarowe z dystrybuantą wielowymiarową. Mimo, że
od czasu wprowadzenia tego twierdzenia minęło już ponad 50 lat, to teoria kopuł jest to dziedzina
matematyki, która cały czas się rozwija.
Istnieje kilka struktur zależności pomiędzy zmiennymi losowymi, w których wykorzystuje się
kopuły. Jednymi z najpopularniejszych są ρ Spearmana, czy τ Kendalla (szczegóły w [11]). My
jednak zajmiemy się strukturą zależności jaką jest proces Markowa. Po raz pierwszy zastosowanie
kopuł do procesów Markowa przedstawił William Darsow w pracy „Copulas and Markov Processes” (1992). Przedstawione przez niego podejscie było nowym podejsciem do tych procesów i dało
nowe interpretacje.
W rozdziale pierwszym przedstawimy podstawowe definicje, twierdzenia oraz własności z teorii funkcji kopuł. Przytoczymy najważniejsze twierdzenie w teorii kopuł - twierdzenie Sklara.
Przedstawimy klasę kopuł Archimedesa oraz wprowadzimy przykłady kopuł należących do niej należących. Dla kopuł Claytona, Gumbela i Franka podamy ich generatory, a także wyprowadzimy
wzory na te kopuły.
W rozdziale drugim wprowadzimy podstawy teorii dotyczącej procesów stochastycznych. Powiemy co to jest proces stochastyczny, filtracja czy moment stopu. Przedstawimy także po krótce
jak wygląda proces Wienera i geometryczny ruch Browna, a także jaki proces możemy nazwać
procesem Markowa.
W rozdziale trzecim zajmiemy się pokazaniem związku teorii kopuł z procesami Markowa.
Wprowadzimy operację produktową ∗ wraz z podstawowymi własnościami oraz przytoczymy twierdzenie pokazujące związek procesu Markowa z kopułami. Wyprowadzimy także wzór na postać
kopuły zbudowanej na procesie Wienera.
W rozdziale czwartym skupimy się na konstrukcji procesów stochastycznych opartych na kopułach. Przedstawimy metodę konstrukcji takich procesów oraz przedstawimy przykłady symulacji
procesów opartych na kopułach: ruchu Browna, Franka oraz Claytona.
Piąty rozdział poświęcony jest sprawdzeniu jak zachowuje się rozwiązanie równania stochastycznego, gdy w miejscu procesu Wienera użyjemy pocesu kopuły ruchu Browna. Przytoczymy
podstawowe pojęcia z zakresu opcji oraz skupimy się w nim na wycenie opcji i porównaniu wartości
otrzymanych za pomocą standardowego modelu oraz przy użyciu procesu opartego na kopule.
W szóstym rozdziale podsumujemy całą pracę oraz otrzymane wyniki.
2
Na końcu pracy znajdują się załączniki. W części A znajdziemy definicje rozkładów prawdopodobieństwa użytych w pracy. Natomiast w części B znajdują się kody z programu R użyte
w pracy. Wszystkie wykresy użyte w pracy zostały wygenerowane samodzielnie w programie R
i kody użyte do ich otrzymania znajdują się w tej części. Środowisko R jest to bezpłatny program
używany do obliczeń statystycznych oraz prezentacji wyników. W naszym przypadku, aby uzyskać
przedstawienie graficzne kopuł użyliśmy pakietu copula.
3
Rozdział 1
Funkcja kopuła
Jak już wspomnieliśmy we wstępie, kopuły są to tak zwane funkcje połączenia. W tym rozdziale
zajmiemy się wprowadzeniem ich podstawowych definicji, twierdzeń oraz własności. Podamy także
przykłady kopuł należących do jednej z najważniejszych klas kopuł - klasy kopuł Archimedesa.
1.1
Podstawowe pojęcia
Zacznijmy od wprowadzenia oznaczeń, które będziemy stosować w całej pracy.
Niech I oznacza przedział jednostkowy [0, 1], a I 2 = I × I kwadrat jednostkowy. Będziemy
korzystać z następującej notacji: R = (−∞, ∞), R̄ = [−∞, ∞] oraz R̄2 = R̄× R̄. Jako dom(f ) ⊂ R̄d
będziemy rozumieć dziedzinę funkcji f, a przez ran(f ) ⊂ R jej zbiór wartości.
Niech F12 (x1 , x2 ) = P (X1 ≤ x1 , X2 ≤ x2 ) będzie dystrybuantą łączną zmiennych losowych X1 i
X2 o dystrybuantach F1 (x1 ) = P (X1 ≤ x1 ) i F2 (x2 ) = P (X2 ≤ x2 ), odpowiednio, które nazywamy
dystrybuantami brzegowymi. Możemy powiedzieć, że z każdą parą liczb (x1 , x2 ) powiązane są
trzy wartości: F1 (x1 ), F2 (x2 ) oraz F12 (x1 , x2 ). W związku z tym, że są to dystrybuanty możemy
zauważyć, że każda z tych liczb należy do przedziału [0, 1].
Wprowadźmy teraz definicje, które będą nam potrzebne w dalszej części.
Definicja 1. [11]
Niech S1 , S2 będą niepustymi podzbiorami R̄, niech H będzie funkcją rzeczywistą dwóch zmiennych
taką, że dom(H) = S1 × S2 . Niech B = [x1 , x2 ] × [y1 , y2 ] będzie kwadratem, którego wszystkie
wierzchołki należą do dom(H). Wtedy H-objętość od zbioru B dana jest wzorem
VH (B) = H(x2 , y2 ) − H(x2 , y1 ) − H(x1 , y2 ) + H(x1 , y1 ).
(1.1)
Definicja 2. [11]
Funkcja rzeczywista dwóch zmiennych H jest 2-rosnąca, jeżeli VH (B) ≥ 0 dla każdego kwadratu B,
którego wierzchołki leżą w dziedzinie dom(H).
Wprowadźmy teraz definicję kopuły dla przypadku dwuwymiarowego.
Definicja 3. [2]
2-wymiarową kopułą (w skrócie 2-kopułą lub kopułą) nazywamy funkcję C : I 2 → I spełniającą
następujące warunki:
1.
∀u,v∈I
C(u, 0) = C(0, v) = 0
4
(1.2)
oraz
∀u,v∈I
2. ∀u1 ,u2 ,v1 ,v2 ∈I
u1 ≤ u2
i
C(u, 1) = u
i
C(1, v) = v,
(1.3)
v 1 ≤ v2
C(u2 , v2 ) − C(u2 , v1 ) − C(u1 , v2 ) + C(u1 , v1 ) ≥ 0.
Pierwszy punkt daje nam warunki brzegowe, które gwarantują jednostajny rozkład brzegowy.
Natomiast drugi jest warunkiem monotoniczności funkcji. Dla wymiaru d > 2 definicja d-kopuły
jest następująca:
Definicja 4. [2]
D-wymiarową kopułą (d-kopułą) nazywamy funkcję C : I d → I spełniającą:
1. Warunki brzegowe:
(a) ∀i ∀x1 ,...,xd
C(x1 , . . . , xi−1 , 0, xi+1 , . . . , xd ) = 0,
(b) funkcja
(x1 , . . . , xi−1 , xi+1 , . . . , xd ) → C(x1 , . . . , xi−1 , 1, xi+1 , . . . , xd )
jest (d-1)-kopułą dla każdego i.
2. Warunek monotoniczności:
VC (R) =
X
sgn(K)C(K) ≥ 0
K∈R
dla każdego prostokąta R =
Qd
i=1 [xi , yi ], xi
≤ yi , gdzie K = (1 , . . . , d ) jest zbiorem jego
wierzchołków takich, że i = xi lub yi oraz
sgn(K) =


 −1,
jeżeli liczba współrzędnych xi spośród wszystkich


w przeciwnym razie.
1,
współrzędnych K jest nieparzysta,
W teorii kopuł istnieją także pewne ograniczenia funkcji nazywane ograniczeniami FréchetaHoeffdinga.
Twierdzenie 1. [10]
Dla dowolnej kopuły C(x1 , . . . , xd ) mamy ograniczenia
(
max
d
X
)
xi + 1 − d, 0
≤ C(x1 , . . . , xd ) ≤ min {x1 , . . . , xd } .
(1.4)
i=1
Dowód powyższego twierdzenia można znaleźć w [10].
Zajmijmy się przez chwilę prawą stroną nierówności (1.4), którą nazywamy górnym ograniczeniem Frécheta-Hoeffdinga. Aby uprościć zapis tego ograniczenia stosujemy dla niego oznaczenie
M (x1 , . . . , xd ). Interpretacja geometryczna górnego ograniczenia jest taka, że powierzchnia dowolnej kopuły musi leżeć pod powierzchnią funkcji M lub być jej równa. W przypadku, gdy
powierzchnia kopuły jest równa górnemu ograniczeniu, to kopułę taką nazywamy kopułą wspólnie
monotoniczną (ang. comonotonicity) i określamy ją wzorem
M (x1 , . . . , xd ) = min {x1 , . . . , xd } .
5
Gdy ograniczymy się do przypadku 2-wymiarowego to kopuła wspólnie monotoniczna jest postaci
M (x1 , x2 ) = min {x1 , x2 } .
Interpretację stochastyczną tej kopuły możemy przedstawić następująco: zmienne losowe X1 i X2
połączone są ze sobą za pomocą kopuły M wtedy i tylko wtedy, gdy zmienna losowa X2 jest
prawie na pewno niemalejącą funkcją X1 . Kopuła ta odnosi się do zależności deterministycznych.
Interpretacja graficzna tej kopuły przedstawiona jest na poniższym rysunku (kod z programu R
w załączniku 1A).
Rysunek 1.1: Wykres powierzchni i konturu górnego ograniczenia Frécheta
Przejdźmy teraz do lewej strony nierówności (1.4), którą nazywamy dolnym ograniczeniem
Frécheta-Hoeffdinga oraz używamy dla niego oznaczenia W (x1 , . . . , xd ). Interpretacja geometryczna dolnego ograniczenia jest taka, że powierzchnia dowolnej kopuły musi leżeć nad powierzchnią funkcji W. Dla wymiaru d ≥ 3 funkcja W nie jest kopułą. W przypadku, gdy d = 2 dolne
ograniczenie Frécheta-Hoeffdinga jest kopułą postaci
W (x1 , x2 ) = max(x1 + x2 − 1, 0).
Kopuła ta nosi nazwę kopuły przeciwnie monotonicznej (ang. countermonotonicity). Kopuła ta,
tak samo jak kopuła wspólnie monotoniczna, odnosi się do zależności deterministycznych a jej
interpretacja stochastyczna jest następująca: zmienne losowe X1 i X2 są połączone za pomocą
kopuły W wtedy i tylko wtedy, gdy X2 jest prawie na pewno nierosnącą funkcją X1 . Ograniczenie
to graficznie prezentuje się następująco (kod z programu R w załączniku 1B).
Rysunek 1.2: Wykres powierzchni i konturu dolnego ograniczenia Frécheta
6
Nierówność (1.4) dla kopuł 2-wymiarowych oraz wykorzystując wprowadzone oznaczenia możemy zapisujemy następująco
W (x1 , x2 ) ≤ C(x1 , x2 ) ≤ M (x1 , x2 ).
Istnieje jeszcze jedna ważna kopuła, jest to kopuła produktowa postaci
d
Y
Y
(x1 , . . . , xd ) =
xi ,
i=1
nazywana kopułą niezależną. Jej interpretacja stochastyczna jest następująca: zmienne losowe X1
Q
i X2 są połączone za pomocą kopuły
wtedy i tylko wtedy, gdy zmienne te są niezależne. Kopuła
odnosi się do niezależności a nie jak to było w przypadku dwóch poprzednich kopuł do zależności
deterministycznych.
Poniższy wykres pokazuje powierzchnię kopuły niezależnej oraz jej wykres konturowy (kod z programu R w załączniku 1C).
Rysunek 1.3: Wykres powierzchni i konturu kopuły niezależnej
Przejdźmy teraz do ważnego twierdzenia w teorii kopuł jakim jest twierdzenie Sklar’a. Twierdzenie to zostało po raz pierwszy sprecyzowane przez Sklar’a w roku 1959 i określa znaczenie kopuł
w badaniu dystrybuant wielowymiarowych. Dzięki temu twierdzeniu możemy zauważyć, że kopuły
razem z jednowymiarowymi dystrybuantami mogą być używane w konstrukcji wielowymiarowych
dystrybuant oraz że wszystkie wielowymiarowe dystrybuanty zawierają kopuły.
Twierdzenie 2. [10](Sklar, 1959)
Niech F12...d będzie d-wymiarową dystrybuantą łączną z dystrybuantami brzegowymi
F1 , F2 , . . . , Fd . Wtedy istnieje kopuła C : I d → I taka, że dla każdego x1 , x2 , . . . xd ∈ R̄,
F12...d (x1 , x2 , . . . , xd ) = C(F1 (x1 ), F2 (x2 ), . . . , Fd (xd )).
(1.5)
Jeżeli F1 , F2 , . . . , Fd są ciągłe to kopuła C określona jest jednoznacznie; w przeciwnym razie kopuła C określona jest jednoznacznie na ran(F1 ) × ran(F2 ) × · · · × ran(Fd ).
Odwrotnie, jeżeli C jest kopułą oraz F1 , F2 , . . . , Fd są dystrybuantami, wtedy funkcja F12...d określona przez (1.5) jest dystrybuantą łączną o dystrybuantach brzegowych F1 , F2 , . . . , Fd .
W dowodzie twierdzenia będziemy korzystać z uogólnionej funkcji odwrotnej wprowadźmy więc
jej definicję.
Definicja 5. [10]
7
Uogólnioną funkcją odwrotną funkcji rosnącej T nazywamy funkcję postaci
T ←(y) = inf{x : T (x) ≥ y},
gdzie używamy konwencji inf ∅ = ∞.
Zajmując się kopułami musimy także znać operacje takie jak transformacja kwantyla i prawdopodobieństwa. Są one określone w poniższym stwierdzeniu.
Stwierdzenie 1. [10]
Niech G będzie dystrybuantą oraz niech G← oznacza jej uogólnioną funkcję odwrotną, czyli
G← (y) = inf{x : G(x) ≥ y}.
1. Transformacja kwantyla: jeżeli U ∼ U (0, 1) ma standardowy rozkład jednostajny to
P (G← (U ) ≤ x) = G(x).
2. Transformacja prawdopodobieństwa: jeżeli zmienna losowa Y ma dystrybuantę G, gdzie G jest
ciągłą dystrybuantą jednowymiarową, to G(Y ) ∼ U (0, 1).
Dowód. twierdzenia Sklar’a [10]
Przeprowadzimy szkic dowodu. Udowodnimy istnienie i jednoznaczność kopuły w sytuacji, gdy
dystrybuanty brzegowe F1 , . . . , Fd są ciągłe.
Dla dowolnych x1 , . . . , xd ∈ R̄ jeżeli wektor zmiennych losowych X = (X1 , . . . , Xd ) ma dystrybuantę łączną F1...d (x1 , . . . , xd ), to
F1...d (x1 , . . . , xd )
=
P (X1 ≤ x1 , . . . , Xd ≤ xd )
= P (F1 (X1 ) ≤ F1 (x1 ), . . . , Fd (Xd ) ≤ Fd (xd )).
W związku z naszym założeniem, że jednowymiarowe dystrybuanty brzegowe są ciągłe możemy
skorzystać ze Stwierdzenia 1, a dokładnie z punktu 2. o transformacji prawdopodobieństwa. Otrzymujemy zatem, że dystrybuanty mają standardowe rozkłady jednostajne. Z tego oraz z definicji
kopuły otrzymujemy, że (F1 (X1 ), . . . , Fd (Xd )) jest kopułą, którą oznaczymy przez C. Zatem otrzymaliśmy (1.5).
Jeżeli oszacujemy (1.5) dla argumentów xi = Fi← (ui ), 0 ≤ ui ≤ 1, i = 1, . . . , d, oraz skorzystamy
z własności uogólnionej funkcji odwrotnej, która brzmi [10]:
T jest rosnącą funkcją ciągłą oraz T ← (y) < ∞
⇒
T ◦ T ← (y) = y,
to otrzymujemy
C(u1 , . . . , ud ) = F (F1← (u1 ) . . . , Fd← (ud )),
co daje nam reprezentacje C względem F oraz jej rozkładów brzegowych. Otrzymujemy zatem
jednoznaczność kopuły.
Aby przeprowadzić dowód w drugą stronę załóżmy, że C jest kopułą oraz że F1 , . . . , Fd są dystrybuantami jednowymiarowymi. Skonstruujemy wektor losowy o dystrybuancie (1.5) poprzez wzięcie
wektora losowego U o dystrybuancie C. Ustalmy także wektor
X := (F1← (U1 ), . . . , Fd← (Ud )).
Wykorzystując własność uogólnionej funkcji odwrotnej dla funkcji rosnącej i dla której zachodzi
8
T ← (y) < ∞, która brzmi [10]:
jeżeli funkcja T jest prawostronnie ciągła, T (x) ≥ y ⇔ T ← (y) ≤ x,
otrzymujemy
P (X1 ≤ x1 , . . . , Xd ≤ xd )
=
P (F1← (U1 ) ≤ x1 , . . . , Fd← (Ud ) ≤ xd )
=
P (U1 ≤ F1 (x1 ), . . . , Ud ≤ Fd (xd ))
=
C(F1 (x1 ), . . . , Fd (xd )).
Zatem dowód twierdzenia został zakończony
Możemy także zauważyć kilka własności jakimi charakteryzują się kopuły. Przedstawimy je dla
przypadku dwuwymiarowego, jednak można je uogólnić dla przypadków wielowymiarowych.
Niech C oznacza zbiór wszystkich kopuł określonych na kwadracie jednostkowym I 2 oraz niech
C ∈ C.
Własność 1.[2]
Dla dowolnych u1 i u2 spełniających zależność 0 ≤ u1 ≤ u2 ≤ 1, funkcja
v → C(u2 , v) − C(u1 , v)
(1.6)
jest niemalejąca. Analogicznie dla dowolnych v1 oraz v2 spełniających zależność 0 ≤ v1 ≤ v2 ≤ 1,
funkcja
u → C(u, v2 ) − C(u, v1 )
(1.7)
jest funkcją niemalejącą.
Obie własności wynikają wprost z definicji kopuły, a dokładnie z warunku na monotoniczność
funkcji.
Własność 2.[2]
Dla każdego u1 , u2 ∈ [0, 1] spełniających 0 ≤ u1 ≤ u2 ≤ 1 oraz dla każdego v ∈ [0, 1] zachodzi
0 ≤ C(u2 , v) − C(u1 , v) ≤ u2 − u1 .
(1.8)
Analogicznie, dla każdego v1 , v2 ∈ [0, 1] spełniających 0 ≤ v1 ≤ v2 ≤ 1 oraz dla każdego u ∈ [0, 1]
zachodzi
0 ≤ C(u, v2 ) − C(u, v1 ) ≤ v2 − v1 .
(1.9)
Dowód. Nierówność (1.8) otrzymujemy poprzez podstawienie do (1.6) najpierw v = 0 a następnie
v = 1, gdyż v ∈ [0, 1] oraz poprzez skorzystanie z warunków brzegowych i połączenie otrzymanych
nierówności. Czyli
v=0
v=1
C(u2 , 0) − C(u1 , 0) = 0,
C(u2 , 1) − C(u1 , 1) = u2 − u1 ,
zatem ze względu na zmienną v otrzymujemy ograniczenia
0 ≤ C(u2 , v) − C(u1 , v) ≤ u2 − u1 .
9
Nierówność (1.9) otrzymujemy analogicznie, dla zmiennej u ∈ [0, 1], czyli
u=0
u=1
C(0, v2 ) − C(0, v1 ) = 0,
C(1, v2 ) − C(1, v1 ) = v2 − v1 ,
zatem ze względu na zmienną u otrzymujemy ograniczenia
0 ≤ C(u, v2 ) − C(u, v1 ) ≤ v2 − v1 .
Własność 3.[2]
Dla każdego u1 , u2 , v1 , v2 ∈ [0, 1]
|C(u2 , v2 ) − C(u1 , v1 )| ≤ |u1 − u2 | + |v1 − v2 |.
(1.10)
Widzimy z tej nierówności, że kopuły są funkcjami ciągłymi w sensie Lipschitza, ponieważ stała
Lipschitza wynosi 1.
Dowód. Nierówność (1.10) wynika z nierówności (1.8) i (1.9).
Własność 4.[2]
Dla każdego u ∈ [0, 1] funkcja v → C(u, v) jest niemalejąca. Analogicznie dla każdego v ∈ [0, 1]
funkcja u → C(u, v) jest także niemalejąca.
Dowód. Powyższe rezultaty otrzymujemy jako specjalne przypadki funkcji z Własności 1. Uzyskujemy je poprzez wzięcie u1 = 0 dla funkcji (1.6) oraz v1 = 0 dla funkcji (1.7).
Z własności tych będziemy korzystać w dalszej części pracy.
1.2
Pochodne kopuł
Z definicji kopuł wiemy, że są one funkcjami monotonicznymi. W związku z tym są one różniczkowalne prawie wszędzie [9], czyli możemy określić ich pochodne cząstkowe. Poprzez C,1 będziemy
oznaczać pochodną względem pierwszego argumentu, czyli
C,1 (u, v) =
∂C(u, v)
.
∂u
Poprzez C,2 oznaczymy pochodną cząstkową względem drugiego argumentu
C,2 (u, v) =
∂C(u, v)
∂v
oraz przez oznaczymy C,12 pochodną cząstkową mieszaną rzędu drugiego, czyli
C,12 (u, v) =
∂ 2 C(u, v)
.
∂u∂v
Pochodne te będą nam potrzebne, aby zdefiniować operację produktową na kopułach. Najpierw
jednak zauważmy pewne własności, jakie wykazują te pochodne, a które będą nam przydatne
w dalszej części pracy. Własności pochodnych tak jak i przedstawione wcześniej własności kopuł
10
przedstawimy dla przypadku dwuwymiarowego, jednak można je uogólnić dla przypadków wielowymiarowych.
Twierdzenie 3. [11]
Niech C będzie kopułą. Dla dowolnego v ∈ I pochodna cząstkowa C,1 (u, v) istnieje dla prawie
wszystkich u względem miary Lebesgue’a. Dla takich u i v zachodzi
0 ≤ C,1 (u, v) ≤ 1.
(1.11)
Podobnie dla dowolnego u ∈ I pochodna cząstkowa C,2 (u, v) istnieje dla prawie wszystkich v względem miary Lebesgue’a. Dla takich u i v zachodzi
0 ≤ C,2 (u, v) ≤ 1.
(1.12)
Co więcej funkcje u 7→ C,2 (u, v) i v 7→ C,1 (u, v) można określić i są niemalejące prawie wszędzie
na I.
Dowód. [2],[11]
W związku z tym, że kopuły jako funkcje monotoniczne są różniczkowalne prawie wszędzie [9] to
od razu otrzymujemy istnienie pochodnych cząstkowych C,1 (u, v) i C,2 (u, v).
Nierówności (1.11) i (1.12) wynikają z Własności 3 poprzez wzięcie v1 = v2 dla (1.11) i u1 = u2
dla (1.12). Dla ustalonego v1 pochodna cząstkowa C,1 (u, v1 ) istnieje dla u ∈ Iv1 ⊆ I oraz miara
Lebesgue’a zbioru Iv1 wynosi Leb(Iv1 ) = 1. Tak samo dla ustalonego v2 pochodna cząstkowa
C,1 (u, v2 ) istnieje dla u ∈ Iv2 ⊆ I oraz miara Lebesgue’a zbioru Iv2 wynosi Leb(Iv2 ) = 1. Zatem,
gdy v1 ≤ v2 otrzymujemy, że pochodna
[C(u, v2 ) − C(u, v1 )],1 = C,1 (u, v2 ) − C,1 (u, v1 ) ≥ 0
(1.13)
istnieje dla zbioru Iv1 ∩ Iv2 , gdy u ∈ Iv1 ∩ Iv2 .
Gdy Y jest gęstym i przeliczalnym podzbiorem I, to zbiór
J=
\
Iv ,
v∈Y
ma miarę Lebesgue’a równą Leb(J) = 1. Dla wszystkich v ∈ Y i u ∈ J pochodna C,1 (u, v) istnieje.
Z (1.13) wynika, że funkcja Y 3 v → C,1 (u, v) jest niemalejąca dla u ∈ J. Czyli funkcję
Y 3 v → C,1 (u, v)
można zdefiniować i jest ona niemalejąca prawie wszędzie dla v ∈ I i dla prawie wszystkich u ∈ J.
Analogiczne rezultaty otrzymujemy dla funkcji u → C,2 (u, v).
Z powyższego twierdzenia otrzymujemy następujący wniosek.
Wniosek 1.
Dla funkcji (1.6) oraz (1.7) zachodzi
[C(u2 , v) − C(u1 , v)],2 ≥ 0
jeżeli u1 ≤ u2 ,
(1.14)
[C(u, v2 ) − C(u, v1 )],1 ≥ 0
jeżeli v1 ≤ v2 .
(1.15)
11
1.3
Klasa kopuł Archimedesa
Klasa kopuł Archimedesa jest ważną klasą kopuł, gdyż kopuły te znajdują wiele zastosowań. Związane jest to z tym, że stosunkowo łatwo można je skonstruować oraz klasa ta jest złożona z wielu
rodzin kopuł a co za tym idzie występuje duża różnorodność rodzin. Kopuły należące do klasy
kopuł Archimedesa posiadają także wiele przydatnych własności.
Zacznijmy od wprowadzenia definicji funkcji pseudo-odwrotnej, która jest wykorzystywana
w postaci kopuł z klasy kopuł Archimedesa.
Definicja 6. [11]
Niech ϕ będzie ciągłą, ściśle malejącą funkcją ϕ : I → [0, ∞] taką, że ϕ(1) = 0. Pseudo-odwrotnością
ϕ jest funkcja ϕ[−1] o dziedzinie [0, ∞) i zbiorze wartości I określoną przez
(
ϕ[−1] (t) =
ϕ−1 (t),
0,
0 ≤ t ≤ ϕ(0),
ϕ(0) ≤ t ≤ ∞.
(1.16)
Wprost z definicji wynika kilka własności tej funkcji. Mianowicie funkcja ϕ[−1] jest ciągła
i nierosnąca na odcinku [0, ∞] oraz ściśle malejąca na odcinku [0, ϕ(0)]. Otrzymujemy także, że
ϕ[−1] (ϕ(u)) = u na całym odcinku I, oraz
(
[−1]
ϕ(ϕ
(t)) =
0 ≤ t ≤ ϕ(0)
t,
ϕ(0) ≤ t ≤ ∞
ϕ(0),
= min(t, ϕ(0)).
W sytuacji, gdy ϕ(0) = ∞, to ϕ[−1] = ϕ−1 .
Lemat 1. [11]
Niech ϕ będzie ciągłą, ściśle malejącą funkcją ϕ : I → [0, ∞] taką, że ϕ(1) = 0 oraz niech ϕ[−1]
będzie funkcją pseudo-odwrotną funkcji ϕ zdefiniowaną poprzez (1.16). Niech C będzie funkcją
C : I 2 → I określoną przez
C(u, v) = ϕ[−1] (ϕ(u) + ϕ(v)).
(1.17)
Wtedy C spełnia warunki brzegowe dla kopuł.
Dowód. Jako pierwsze sprawdźmy, czy funkcja spełnia warunek (1.2). Wobec tego
C(u, 0) = ϕ[−1] (ϕ(u) + ϕ(0)),
argument funkcji pseudo-odwrotnej jest postaci
t = ϕ(u) + ϕ(0),
czyli
t ≥ ϕ(0).
Zatem z definicji otrzymujemy, że
C(u, 0) = ϕ[−1] (ϕ(u) + ϕ(0)) = 0.
Z symetrii mamy także C(0, v) = 0, czyli warunek ten jest spełniony. Sprawdźmy teraz, czy funkcja
12
spełnia warunek (1.3):
C(u, 1)
=
ϕ[−1] (ϕ(u) + ϕ(1)) = ϕ[−1] (ϕ(u) + 0)
=
ϕ[−1] (ϕ(u)) = u
Z symetrii otrzymujemy C(1, v) = v. Zatem warunek (1.3) także jest spełniony. Otrzymaliśmy
więc, że funkcja postaci C(u, v) = ϕ[−1] (ϕ(u) + ϕ(v)) spełnia warunki brzegowe (1.2) i (1.3).
Lemat 2. [11]
Niech ϕ będzie ciągłą, ściśle malejącą funkcją ϕ : I → [0, ∞] taką, że ϕ(1) = 0 oraz niech ϕ[−1]
będzie funkcją pseudo-odwrotną funkcji ϕ zdefiniowaną poprzez (1.16). Niech C będzie funkcją
C : I 2 → I określoną przez
C(u, v) = ϕ[−1] (ϕ(u) + ϕ(v))
(1.18)
spełniającą warunki brzegowe (1.2) i (1.3). Wtedy C jest 2-rosnąca wtedy i tylko wtedy, gdy dla
każdego v ∈ I oraz u1 ≤ u2
C(u2 , v) − C(u1 , v) ≤ u2 − u1 .
(1.19)
Dowód. Pokażemy, że nierówność (1.19) jest równoważna VC ([u1 , u2 ] × [v, 1]) ≥ 0, czyli
VC ([u1 , u2 ] × [v, 1]) = C(u2 , 1) − C(u2 , v) − C(u1 , 1) + C(u1 , v) ≥
0
u2 − C(u2 , v) − u1 + C(u1 , v) ≥
0
C(u1 , v) − C(u2 , v) ≥
u1 − u2
C(u2 , v) − C(u1 , v) ≤
u2 − u1 .
Zatem nierówność ta zachodzi zawsze, gdy funkcja C jest 2-rosnąca. Stąd załóżmy, że C spełnia
nierówność (1.19). Wybierzmy v1 , v2 ∈ I takie, że v1 ≤ v2 oraz zauważmy, że C(0, v2 ) = 0 ≤ v1 ≤
v2 = C(1, v2 ). Funkcja C jest ciągła, ponieważ funkcje ϕ i ϕ[−1] są ciągłe, czyli istnieje t ∈ I takie,
że
C(t, v2 ) = v1
lub w równoważnej postaci otrzymujemy
C(t, v2 ) = ϕ[−1] (ϕ(v2 ) + ϕ(t))
[−1]
ϕ(ϕ
= v1
(ϕ(v2 ) + ϕ(t)))
= ϕ(v1 )
ϕ(v2 ) + ϕ(t)
= ϕ(v1 ).
A stąd otrzymujemy
C(u2 , v1 )
− C(u1 , v1 ) = ϕ[−1] (ϕ(u2 ) + ϕ(v1 )) − ϕ[−1] (ϕ(u1 ) + ϕ(v1 ))
= ϕ[−1] (ϕ(u2 ) + ϕ(v2 ) + ϕ(t)) − ϕ[−1] (ϕ(u1 ) + ϕ(v2 ) + ϕ(t))
h
i
= ϕ[−1] ϕ ϕ[−1] (ϕ(u2 ) + ϕ(v2 )) + ϕ(t) +
h
i
−ϕ[−1] ϕ ϕ[−1] (ϕ(u1 ) + ϕ(v2 )) + ϕ(t)
= C(C(u2 , v2 ), t) − C(C(u1 , v2 ), t)
≤ C(u2 , v2 ) − C(u1 , v2 ).
Zatem otrzymaliśmy, że C jest funkcją 2-rosnącą.
13
Przejdźmy teraz do twierdzenia dzięki któremu otrzymujemy, że funkcja (1.17) jest kopułą. Dla
kopuł, które daje się przedstawić w tej postaci używamy nazwy kopuł Archimedesa.
Twierdzenie 4. [11]
Niech ϕ będzie ciągłą, ściśle malejącą funkcją ϕ : I → [0, ∞] taką, że ϕ(1) = 0 oraz niech ϕ[−1]
będzie funkcją pseudo-odwrotną funkcji ϕ zdefiniowaną poprzez (1.16). Wtedy funkcja C : I 2 → I
określona przez C(u, v) = ϕ[−1] (ϕ(u) + ϕ(v)) jest kopułą wtedy i tylko wtedy, gdy ϕ jest funkcją
wypukłą.
Zanim przejdziemy do dowodu tego twierdzenia przypomnijmy definicję funkcji wypukłej.
Definicja 7. [3]
Funkcję f (x) określoną i ciągłą w przedziale A nazywamy wypukłą jeżeli dla dowolnych punktów
x1 , x2 ∈ A nierówność
f (αx1 + βx2 ) ≤ αf (x1 ) + βf (x2 )
jest spełniona dla wszystkich liczb dodatnich α i β takich, że α + β = 1.
Powyższe twierdzenie zostało po raz pierwszy udowodnione przez Alsina et al. w 2005, my
bazujemy na dowodzie Nelsena z 2006. Przejdźmy zatem do dowodu.
Dowód. W Lemacie 1 udowodniliśmy już, że funkcja C spełnia warunki brzegowe występujące
w definicji kopuły. Zostaje nam tylko udowodnić, że (1.19) zachodzi wtedy i tylko wtedy, gdy
funkcja ϕ jest funkcją wypukłą.
⇒
Po podstawieniu do nierówności (1.19) wzoru na funkcję C dla u1 ≤ u2 otrzymujemy odpowiednik
tej nierówności
ϕ[−1] (ϕ(u2 ) + ϕ(v)) − ϕ[−1] (ϕ(u1 ) + ϕ(v))
≤ u2 − u1
u1 + ϕ[−1] (ϕ(u2 ) + ϕ(v))
≤ u2 + ϕ[−1] (ϕ(u1 ) + ϕ(v)).
Jeżeli teraz oznaczymy a = ϕ(u1 ), b = ϕ(u2 ) oraz c = ϕ(v) a następnie podstawimy te oznaczenia
do powyższej nierówności to otrzymujemy, że nierówność (1.19) jest równoważna z
ϕ[−1] (a) + ϕ[−1] (b + c) ≤ ϕ[−1] (b) + ϕ[−1] (a + c),
(1.20)
gdzie a ≥ b i c ≥ 0. Załóżmy teraz, że funkcja pseudo-odwrotna ϕ[−1] spełnia nierówność (1.20).
Wybierzmy dowolne s, t ∈ [0, ∞) spełniające 0 ≤ s < t. Jeżeli ustalimy a =
s+t
2 ,b
=sic=
oraz podstawimy te wartości do nierówności (1.20) to otrzymujemy
t−s
s+t
[−1]
+ϕ
s+
2
2
s
+
t
s
+
t
[−1]
[−1]
ϕ
+ϕ
2
2
s
+
t
ϕ[−1]
2
1
1
ϕ[−1]
s+ t
2
2
[−1]
ϕ
[−1]
≤ ϕ
[−1]
(s) + ϕ
s+t t−s
+
2
2
≤ ϕ[−1] (s) + ϕ[−1] (t)
≤
≤
ϕ[−1] (s) + ϕ[−1] (t)
2
1 [−1]
1
ϕ
(s) + ϕ[−1] (t).
2
2
Ponieważ funkcja ϕ[−1] jest funkcją ciągłą to z powyższego wynika, że jest funkcją wypukłą.
⇐
14
t−s
2
Załóżmy, że funkcja ϕ[−1] jest funkcją wypukłą. Ustalmy a, b, c ∈ I takie, że a ≥ b, c ≥ 0. Niech
γ=
a−b
a−b+c .
Przekształcimy teraz wzór na γ tak aby otrzymać wzory na a i b + c.
(a − b + c)γ
= a−b
aγ − bγ + cγ
= a−b
aγ + b − bγ + cγ
a
= a
= b(1 − γ) + γ(a + c).
Teraz wyznaczymy wzór na b + c
(a − b + c)γ
= a−b
aγ + b − bγ + cγ + c − c =
a
b+c =
a + c − aγ + bγ − cγ
b+c =
a(1 − γ) + c(1 − γ) + bγ
b+c =
(1 − γ)(a + c) + bγ.
Stąd nakładając na otrzymane wartości a i b+c funkcję pseudo-odwrotną otrzymujemy nierówności
ϕ[−1] (a) ≤ (1 − γ)ϕ[−1] (b) + γϕ[−1] (a + c)
oraz
ϕ[−1] (b + c) ≤ γϕ[−1] (b) + (1 − γ)ϕ[−1] (a + c).
Dodajmy teraz powyższe nierówności
ϕ[−1] (a) + ϕ[−1] (b + c)
≤ (1 − γ)ϕ[−1] (b) + γϕ[−1] (a + c) +
+ γϕ[−1] (b) + (1 − γ)ϕ[−1] (a + c)
ϕ[−1] (a) + ϕ[−1] (b + c)
≤ ϕ[−1] (b) + ϕ[−1] (a + c).
Otrzymaliśmy zatem nierówność (1.20), która była równoważna nierówności (1.19). Zatem dowód
został zakończony.
Kopuły, które możemy przedstawić w postaci (1.17) nazywane są kopułami Archimedesa.
Definicja 8. [10]
Ciągłą, ściśle malejącą funkcję wypukłą ϕ : [0, 1] → [0, ∞] spełniającą ϕ(1) = 0 nazywamy generatorem kopuły Archimedesa. Jeżeli ϕ(0) = ∞ to mówimy, że ϕ jest generatorem ścisłym.
W sytuacji, gdy badany generator okaże się generatorem ścisłym to możemy przyjąć ϕ[−1] =
ϕ−1 . Zatem kopułę możemy przedstawić w postaci C(u, v) = ϕ−1 (ϕ(u) + ϕ(v)). Takie kopuły możemy nazywać ścisłymi kopułami Archimedesa.
Przejdziemy teraz do przykładów rodzin, które należą do klasy kopuł Archimedesa. Znając
generatory (Nelsen, 2006) wyprowadzimy wzory dla trzech rodzin kopuł, a mianowicie dla rodziny
kopuł Claytona, Gumbela i Franka. Każda z tych rodzin należy do rodzin kopuł jednoparametrycznych, gdzie parametr θ mówi o stopniu zależności pomiędzy rozkładami brzegowymi. Więcej
przykładów kopuł należących do tej klasy wraz z ich generatorami można znaleźć w [11].
15
1.3.1
Kopuła Claytona
Generator rodziny kopuł Claytona jest postaci [11]:
ϕθ (t) =
t−θ − 1
,
θ
θ ∈ [−1, ∞)\{0}.
Sprawdzimy najpierw, czy generator ten jest generatorem ścisłym
ϕθ (0) =
0−θ − 1
1
=− .
θ
θ
Generator w punkcie 0 jest rożny od ∞, czyli nie jest generatorem ścisłym. Zatem dla t ∈ [0, − θ1 ]
funkcja pseudo-odwrotna wynosi ϕ−1 (t), a dla t ∈ [− θ1 , ∞] wynosi 0. Możemy zatem zapisać ją
w postaci
ϕ[−1] (t) = max{ϕ−1 (t), 0}.
Wyznaczmy teraz funkcję odwrotną dla generatora
t−θ − 1
θ
1θ
−θ
θ · ϕθ (t) + 1 = t =
t
1
1
(θ · ϕθ (t) + 1) θ =
t
1
t = (θ · ϕθ (t) + 1)− θ .
ϕθ (t)
=
Zatem funkcja pseudo-odwrotna jest postaci
1
ϕ[−1] (t) = max{(θt + 1)− θ , 0}.
Podstawimy teraz otrzymaną funkcję do wzoru na kopułę (1.17)
CθCl (u, v)
ϕ[−1] (ϕ(u) + ϕ(v))
u−θ − 1 v −θ − 1
= ϕ[−1] (
+
)
θ
θ
u−θ + v −θ − 2
= ϕ[−1] (
)
θ
1
u−θ + v −θ − 2
= max{(θ ·
+ 1)− θ , 0}
θ
1
= max{(u−θ + v −θ − 1)− θ , 0}.
=
Otrzymaliśmy zatem wzór ogólny na rodzinę kopuł Claytona dla parametru
θ ∈ [−1, ∞)\{0}. W przypadku, gdy parametr θ → 0 możemy mówić o kopule, która posiada
niezależne rozkłady brzegowe. Na poniższych wykresach pokazane są gęstość rozkładu kopuły
Claytona oraz 1000 elementowa próba losowa z kopuły Claytona (w obu przypadkach parametr
θ = 5, rozkładami brzegowymi są standardowe rozkłady jednostajne).
16
a
b
Rysunek 1.4: Kopuła Claytona (a) wykres gęstości, (b) próba losowa 1000 elementowa
Kody z programu R generujące powyższe wykresy znajdują się w załączniku 2A.
1.3.2
Kopuła Gumbela
Generator kopuły Gumbela jest postaci [11]:
ϕθ (t) = (− ln t)θ ,
θ ∈ [1, ∞).
Jako pierwsze sprawdzimy, czy generator ten jest generatorem ścisłym. Zatem
ϕθ (0) = (− ln 0)θ = ∞,
wartość funkcji w punkcie 0 wynosi ∞, czyli otrzymaliśmy generator ścisły. W takim przypadku
funkcja pseudo-odwrotna jest równa funkcji odwrotnej dla każdego t. Wyznaczmy więc funkcję
odwrotną do funkcji ϕ
ϕθ (t)
1
−ϕθ (t) θ
=
(− ln t)θ
=
ln t
1
t =
e−ϕθ (t) θ .
1
−t θ
Wyznaczyliśmy funkcję odwrotną postaci ϕ−1
i możemy wstawić ją do wzoru na kopułę
θ (t) = e
(1.17). Zatem
CθGu (u, v)
=
ϕ[−1] (ϕ(u) + ϕ(v))
=
ϕ−1 ((− ln u)θ + (− ln v)θ )
=
exp{−((− ln u)θ + (− ln v)θ ) θ }.
1
Czyli otrzymaliśmy wzór na rodzinę kopuł Gumbela zależną od parametru θ ∈ [1, ∞). W przypadku, gdy wartość parametru θ wynosi 1 to otrzymujemy kopułę o niezależnych rozkładach brzegowych. Na poniższych wykresach widzimy wykres gęstości kopuły Gumbela oraz 1000 elementową
próbę losową z tej kopuły, dla obu wykresów przyjęliśmy θ = 5 oraz rozkładami brzegowymi są
standardowe rozkłady jednostajne.
17
a
b
Rysunek 1.5: Kopuła Gumbela (a) wykres gęstości, (b) próba losowa 1000 elementowa
Kod dla programu R, z którego otrzymaliśmy powyższe wykresy można znaleźć w załączniku 2B.
1.3.3
Kopuła Franka
Generator dla rodziny kopuł Franka ma postać [11]:
ϕθ (t) = − ln
e−θt − 1
,
e−θ − 1
θ ∈ (−∞, ∞)\{0}.
Sprawdzimy, czy generator jest generatorem ścisłym
ϕθ (0) = − ln
e−θ·0 − 1
= ∞.
e−θ − 1
Tak jak i dla kopuły Gumbela wartość funkcji w punkcie 0 wynosi ∞, zatem generator ϕ jest
generatorem ścisłym i funkcja pseudo-odwrotna jest równa funkcji odwrotnej. Wyznaczymy zatem
funkcję odwrotną:
ϕθ (t)
=
−ϕθ (t)
=
e−ϕθ (t)
=
(e−θ − 1)e−ϕθ (t) + 1
=
e−θt − 1
e−θ − 1
−θt
e
−1
ln −θ
e −1
e−θt − 1
e−θ − 1
e−θt
ln[(e−θ − 1)e−ϕθ (t) + 1]
=
ln e−θt
−θt =
t =
− ln
ln[(e−θ − 1)e−ϕθ (t) + 1]
−
ln[(e−θ − 1)e−ϕθ (t) + 1]
.
θ
Czyli funkcja odwrotna jest postaci
1
−θ
− 1)e−t + 1].
ϕ−1
θ (t) = − ln[(e
θ
18
Tak wyznaczoną funkcję możemy wstawić do wzoru na kopułę
CθF r (u, v)
=
ϕ[−1] (ϕ(u) + ϕ(v))
= ϕ−1 (ϕ(u) + ϕ(v))
e−θv − 1
e−θu − 1
− ln −θ
= ϕ−1 − ln −θ
e −1
e −1
−θ
−θv
e −1
e
−1
−1
= ϕ
ln −θu
− ln −θ
e
−1
e −1
−θ
−θ
e −1 e −1
−1
= ϕ
ln −θu
·
e
− 1 e−θv − 1
(e−θ − 1)2
−1
= ϕ
ln −θu
(e
− 1)(e−θv − 1)
(e−θ −1)2
1
− ln −θu
(e
−1)(e−θv −1)
= − ln 1 + (e−θ − 1)e
θ
1
(e−θu − 1)(e−θv − 1)
= − ln 1 + (e−θ − 1)
θ
(e−θ − 1)2
1
(e−θu − 1)(e−θv − 1)
= − ln 1 +
.
θ
(e−θ − 1)
Otrzymaliśmy zatem wzór na kopuły należące do rodziny kopuł Franka w zależności od parametru θ ∈ (−∞, ∞)\{0}. Poniższe wykresy przedstawiają gęstość kopuły oraz 1000-elementową
próbę losową, gdy za parametr θ przyjęliśmy wartość 5 oraz użyliśmy jednostajnych rozkładów
brzegowych.
a
b
Rysunek 1.6: Kopuła Franka (a) wykres gęstości, (b) próba losowa 1000 elementowa
W załączniku 2C znajduje się kod ze środowiska R, dzięki któremu otrzymaliśmy powyższe
wykresy.
19
Rozdział 2
Procesy stochastyczne
Zaczniemy od ogólnego wprowadzenia do procesów stochastycznych, a następnie przejdziemy do
przykładów procesów takich jak proces Wienera, czy geometryczny ruch Browna. Powiemy także
jaki proces możemy nazwać procesem Markowa.
2.1
Proces stochastyczny
Możemy powiedzieć, że procesy stochastyczne jest to teoria zajmująca się badaniem ciągów
zmiennych losowych {Xt }t∈T określonych na danej przestrzeni probabilistycznej (Ω, F, P ), gdzie
t ∈ T zazwyczaj oznacza czas. Można także powiedzieć, że jest to matematyczna teoria służąca
do opisu modelowania i prognozy zjawisk losowych podlegających ewolucji. Przykładami procesów
mogą być ceny akcji na giełdzie, kursy walut, gra hazardowa, wartość temperatury itp.. W pracy
proces stochastyczny w skrócie będziemy nazywać procesem.
Niech (Ω, F, P ) będzie przestrzenią probabilistyczną, gdzie Ω jest to zbiór zdarzeń elementarnych, F jest to σ-ciało zdarzeń, a P jest miarą probabilistyczną. Gdy proces przebiega w czasie to
możemy wyróżnić dwa rodzaje czasu: czas dyskretny i czas ciągły. O czasie dyskretnym mówimy,
gdy zjawisko badamy w ustalonych momentach, wtedy zbiór chwil jest zbiorem przeliczalnym i zazwyczaj w postaci T ⊆ {0, 1, . . .}∪{∞}. Natomiast o czasie ciągłym mówimy, gdy badamy zjawisko
stale i wtedy zbiór chwili jest zbiorem zawartym w [−∞, ∞], zazwyczaj przyjmuje się T = [0, ∞)
lub T = [0, T ]. Dla tak określonej przestrzeni możemy wprowadzić pojęcie filtracji.
Definicja 9. [6]
Filtracją nazywamy niemalejącą rodzinę σ-ciał F = (Ft )t∈T , gdzie Fs ⊂ Ft ⊂ F dla s < t; s, t ∈ T.
Możemy powiedzieć, że filtracja niesie informację o procesie do chwili t, gdyż w chwili obecnej
wiemy jaki był stan procesu wcześniej i czy dane zdarzenie zaszło. Znając definicję filtracji możemy
zdefiniować, czym jest proces stochastyczny.
Definicja 10. [7]
Rodzinę zmiennych losowych (Xt )t∈T nazywamy procesem stochastycznym. Proces jest adaptowany
do filtracji F = (Ft )t∈T , jeśli dla każdego t ∈ T zmienna losowa Xt jest Ft -mierzalna.
Funkcja t 7→ X(·, ω) dla ustalonego zdarzenia ω nazywana jest realizacją procesu stochastycznego lub trajektorią procesu. Interpretacja trajektorii jest taka, że funkcja ta mówi nam o przebiegu
badanego zjawiska w czasie dla konkretnego zdarzenia ω. Gdy badamy proces z czasem ciągłym,
to proces taki ma trajektorie ciągłe.
Gdy zbiór chwil T jest zbiorem przeliczalnym, to możemy mówić o procesie stochastycznym
20
X jako o ciągu losowym w postaci X1 , X2 , . . . . Ważnymi pojęciami są także przestrzeń stanów
oraz stany procesu. Możemy powiedzieć, że pojęcie stanów procesu jest tym samym co wartość
zmiennej losowej, natomiast zmianę stanów procesu nazywamy przejściem.
Definicja 11. [12]
Jeśli dla każdego t ∈ T funkcja X : T ×Ω → X, przekształca zbiór T ×Ω na zbiór X, to X nazywamy
przestrzenią stanu procesu stochastycznego, a elementy zbioru X stanami procesu stochastycznego.
Przejdźmy teraz do określenia pojęcia czasu stopu procesu. Ogólnie mówiąc czas stopu jest
to moment, w którym proces osiągnie satysfakcjonujący nas wynik (ustalone wcześniej bariery)
i zostanie przerwany. Formalna definicja brzmi:
Definicja 12. [6]
Czasem stopu względem filtracji (Ft )t∈T nazywamy zmienną losową τ : Ω → T ∪{+∞}, spełniającą
warunek
{τ ≤ t} ∈ Ft
dla wszystkich t ∈ T.
Dla czasu stopu można również użyć nazwy jak moment stopu, moment zatrzymania czy moment Markowa. Wprowadźmy jeszcze definicję na martyngał.
Definicja 13. [6]
Rodzina (Xt , Ft )t∈T , gdzie zmienne losowe Xt są całkowalne dla t ∈ T jest martyngałem, jeśli dla
s ≤ t, s, t ∈ T
E(Xt |Fs ) = Xs .
2.2
Proces Markowa
Jednym z rodzajów procesów stochastycznych jest proces Markowa. Jest to dość popularny
proces, gdyż charakteryzuje się on tak zwanym brakiem pamięci. Zacznijmy więc od wprowadzenia
formalnej definicji.
Definicja 14. [11]
Proces Xt , t ∈ T jest procesem Markowa jeżeli dla każdego skończonego podzbioru {t1 , t2 , . . . , tn }
zbioru T oraz dla dowolnego t ∈ T takiego, że t1 < t2 < . . . < tn < t zachodzi
P (Xt ≤ x|Xt1 = x1 , Xt2 = x2 , . . . , Xtn = xn ) = P (Xt ≤ x|Xtn = xn ).
(2.1)
Warunek (2.1) nazywany jest własnością Markowa. Powyższą własność możemy rozumieć w następujący sposób:
stan procesu stochastycznego X w badanej chwili t jest zależny od tego jaki był stan tego procesu
w chwili tn , natomiast nie jest zależny od stanów procesu we wszystkich chwilach wcześniejszych
niż chwila tn , czyli nie zależy od chwil t1 , t2 , . . . , tn−1 .
W sytuacji, gdy chwilę t nazwiemy przyszłością, chwilę tn teraźniejszością oraz chwile t1 , . . . , tn−1
przeszłością własność Markowa możemy rozumieć następująco:
procesem Markowa nazywamy taki proces stochastyczny X, którego stan w przyszłości jest zależny od stanu w teraźniejszości i nie jest zależny od stanów z przeszłości.
21
2.3
Proces Wienera
Proces Wienera jest to matematyczny model fizycznego zjawiska ruchu cząsteczek zawieszonych
w cieczy nazywanego ruchem Browna. Aby móc powiedzieć, że proces stochastyczny jest procesem
Wienera musi on spełniać poniższą definicję:
Definicja 15. [6]
Standardowym procesem Wienera nazywamy proces W spełniający następujące warunki:
1. W0 = 0,
2. przyrosty procesu są niezależne, czyli jeśli 0 < t1 < . . . < tn , to zmienne losowe
Wt1 , Wt2 − Wt1 , . . . , Wtn − Wtn−1
są niezależne,
3. dla wszystkich t oraz dla u ≥ 0
Wt+u − Wu ∼ N (0, t),
gdzie parametr t oznacza wariancję,
4. trajektorie procesu są ciągłe.
Na rysunku 2.1 widzimy 15 niezależnych symulacji trajektorii procesu Wienera (kod z programu R w załączniku 3).
Rysunek 2.1: Realizacje jednowymiarowego procesu Wienera
Proces Wienera jest przykładem procesu Markowa (Shmitz, 2003; za Karatzas i Shreve, 2000),[7].
Wiemy także, że chociaż trajektorie procesu są ciągłe to są one nieróżniczkowalne (dowód tego
można znaleźć w [6]). Proces ten wykorzystamy w następnej części tego rozdziału, aby otrzymać
geometryczny ruch Browna.
22
2.4
Geometryczny ruch Browna
Zajmiemy się teraz procesem stochastycznym, który nosi nazwę geometrycznego ruchu Browna.
Proces ten znajduje zastosowanie do modelowania procesów, których wartości nigdy nie schodzą
poniżej zera. Przykładem takiego procesu może być proces ceny akcji, który zawsze jest dodatni.
W związku z tym geometryczny ruch Browna znajduje zastosowanie przy wycenie opcji w modelu
Blacka-Scholesa (model ten omówimy w rozdziale 5.2).
Definicja 16. [7]
Mówimy, że proces stochastyczny St jest geometrycznym ruchem Browna, gdy jest on postaci
St = S0 e((µ−
σ2
2
)t+σWt )
,
gdzie St oznacza cenę akcji w chwili t, S0 jest to cena akcji w chwili 0. Przez µ oznaczamy dryft,
przez σ oznaczamy zmienność ceny, natomiast Wt jest to proces Wienera.
Wartość parametru σ zazwyczaj mieści się w przedziale [0, 15; 0, 6]. Powyższe równanie jest
rozwiązaniem równania stochastycznego postaci
dSt = µSt dt + σSt dWt .
Pokażemy teraz własność rozwiązania tego równania: zmienna losowa
(2.2)
St
S0
ma rozkład logaryt-
micznie normalny. Skoro zmienna losowa ma mieć rozkład logarytmicznie normalny to znaczy, że
logarytm tej zmiennej losowej ma rozkład normalny, zatem
ln
σ2
St
∼ N ((µ −
)t, σ 2 t).
S0
2
Powyższą własność sprawdzimy numerycznie, najpierw jednak określmy parametry na których będzie pracować. Dla 1000 trajektorii będziemy badać wartość procesu w chwili T = 1,
gdzie ∆t = 0, 001. Za wartość początkową procesu przyjmujemy S0 = 1 oraz ustalamy parametry
µ = 0, 15 i σ = 0, 3. Dla takich wartości będziemy generować trajektorie geometrycznego ruchu
Browna. Aby wygenerować taką trajektorię i co za tym idzie rozwiązanie równania (2.2) stosujemy
prostą metodę [8].
Pierwsze co musimy zrobić to zdyskretyzować czas T poprzez ustalenie kroku ∆t. Tak więc
możemy określić proces dyskretny (Sn )n≥0 , dzięki któremu otrzymamy aproksymację rozwiązania równania stochastycznego w chwili T = n∆t. Dla czasu dyskretnego równanie stochastyczne
możemy zapisać
(
S0
Sn+1 − Sn
= x
= µSn ∆t + σ(W(n+1)∆t − Wn∆t ),
gdzie W jest procesem Wienera, a ciąg przyrostów (W(n+1)∆t − Wn∆t ) jest ciągiem niezależnych
zmiennych losowych o rozkładzie normalnym o średniej 0 i wariancji ∆t. W symulacjach przyrost
√
ten zastępujemy przez gn ∆t, gdzie (gn )n≥0 jest ciągiem niezależnych zmiennych losowych o standardowym rozkładzie normalnym N (0, 1). Przy użyciu takiego oznaczenia równanie stochastyczne
możemy zapisać
(
S0
=
Sn+1
=
x
√
Sn + µSn ∆t + σ ∆tgn .
Możemy więc już wygenerować trajektorie. Na rysunku 2.2 (a) widoczna jest pojedyncza realizacja,
natomiast na rysunku (b) widzimy 1000 niezależnych trajektorii tego procesu.
23
a
b
Rysunek 2.2: Realizacje geometrycznego ruchu Browna (a) pojedyncza realizacja, (b) 1000 niezależnych realizacji
Dla tak wygenerowanych trajektorii sprawdzimy, czy wartość procesu w chwili T ma rozkład
lognormalny. Na początku utworzymy histogram 1000 wartości SS0t . Chcemy nanieś na niego także
krzywą gęstości rozkładu lognormalnego, więc dla otrzymanych wartości SS0t znajdujemy wartość
oczekiwaną oraz odchylenie standardowe takie, aby zmienne miały rozkład lognormalny. Dla takich
parametrów generujemy krzywą gęstości. Na poniższym rysunku widzimy histogram otrzymanych
wartości wraz z krzywą gęstości rozkładu lognormalnego. Ponieważ wykresy nakładają się na siebie
możemy założyć, że rozwiązanie równania różniczkowego ma rozkład lognormalny.
Rysunek 2.3: Histogram wraz z krzywą gęstości rozkładu lognormalnego dla wartości
ST
S0
Aby mieć pewność, że zmienna ta ma rozkład lognormalny przeprowadzimy test statystyczny.
Będzie to test Shapiro-Wilka, który sprawdza normalność rozkładu. Za poziom istotności przyjmujemy α = 0, 05 oraz badamy następujące hipotezy:
H0 : zmienna ma rozkład normalny
24
Ha : zmienna nie ma rozkładu normalnego.
Aby użyć tego testu musimy najpierw zlogarytmować otrzymane wcześniej wartości
ST
S0
. Zanim
przejdziemy do wyników testu, stworzymy histogram zlogarytmowanych wartości wraz z krzywą
gęstości rozkładu normalnego o parametrach dopasowanych do naszych wartości. Krzywa i histogram pokrywają się, co pozwala nam twierdzić, że jest to rozkład normalny.
Rysunek 2.4: Histogram wraz z krzywą gęstości rozkładu normalnego dla wartości ln SST0
Dla potwierdzenia poniżej prezentujemy wyniki testu Shapiro-Wilka. Otrzymaliśmy p-wartość
równą 0, 4738, jest ona większa od przyjętego poziomu istotności. Nie mamy zatem podstaw do
odrzucenia hipotezy zerowej mówiącej o normalności rozkładu. Potwierdziliśmy tym, że geometryczny ruch Browna ma rozkład lognormalny.
Rysunek 2.5: Wynik testu Shapiro-Wilka dla badanej próbki
Kod z programu R generujący wszystkie powyższe wykresy znajduje się w załączniku 4.
25
Rozdział 3
Operacja produktowa ∗ dla kopuł
i proces Markowa
3.1
Operacja produktowa ∗
Wprowadzimy teraz definicję operacji produktowej * na kopułach, która to wykorzystuje zdefiniowane wcześniej pochodne cząstkowe.
Definicja 17. [2]
Niech A, B ∈ C. Operacja produktowa * z A i B jest funkcją A ∗ B : I 2 → I określoną następująco
Z
∀x,y∈[0,1]
(A ∗ B)(x, y) =
1
A,2 (x, t)B,1 (t, y)dt.
(3.1)
0
Z pokazanej wcześniej Własności 3. wiemy, że kopuły A i B są funkcjami ciągłymi, zatem całka
w powyższej definicji istnieje. Kolejne twierdzenie gwarantuje nam, że tak zdefiniowana operacja
produktowa jest kopułą.
Twierdzenie 5. [2]
A ∗ B ∈ C.
Dowód. [2] Mamy wykazać, że produkt A ∗ B jest kopułą, zatem musimy sprawdzić warunki na
2-kopułę.
Niech C = A ∗ B oraz niech x, ξ, y, η ∈ [0, 1] spełniają zależności 0 ≤ x ≤ ξ ≤ 1 i 0 ≤ y ≤ η ≤ 1.
Jako pierwsze wykażemy spełnienie warunków brzegowych a następnie warunku monotoniczności.
1. (Warunki brzegowe)
• ∀x,y∈[0,1]
C(0, y) = C(x, 0) = 0
Z
C(0, y)
=
(A ∗ B)(0, y) =
1
A,2 (0, t)B,1 (t, y)dt
0
Z
1
0 · B,1 (t, y)dt = 0,
=
0
26
Z
C(x, 0)
=
(A ∗ B)(x, 0) =
1
A,2 (x, t)B,1 (t, 0)dt
0
Z
1
A,2 (x, t) · 0dt = 0.
=
0
• ∀x,y∈[0,1]
C(x, 1) = x
i
C(1, y) = y
1
Z
C(x, 1)
=
(A ∗ B)(x, 1) =
A,2 (x, t)B,1 (t, 1)dt
0
1
Z
A,2 (x, t) · 1dt = A(x, t)|10 = A(x, 1) − A(x, 0)
=
0
=
x − 0 = x,
=
(A ∗ B)(1, y) =
Z
C(1, y)
1
A,2 (1, t)B,1 (t, y)dt
0
1
Z
1 · B,1 (t, y)dt = B(t, y)|10 = B(1, y) − B(0, y)
=
0
=
y − 0 = y.
Wykazaliśmy, że warunki brzegowe są spełnione.
2. (Warunek monotoniczności)
Musimy wykazać, że
∀x,y,ξ,η∈[0,1];x≤ξ;y≤η
C(x, y)
+
C(x, y) + C(ξ, η) − C(x, η) − C(ξ, y) ≥ 0,
C(ξ, η) − C(x, η) − C(ξ, y) =
(A ∗ B)(x, y) + (A ∗ B)(ξ, η) − (A ∗ B)(x, η) − (A ∗ B)(ξ, y)
Z 1
Z 1
=
A,2 (x, t)B,1 (t, y)dt +
A,2 (ξ, t)B,1 (t, η)dt +
=
0
Z
0
1
−
Z
1
A,2 (x, t)B,1 (t, η)dt −
0
Z
A,2 (ξ, t)B,1 (t, y)dt
0
1
(−A,2 (x, t) [B,1 (t, η) − B,1 (t, y)] + A,2 (ξ, t) [B,1 (t, η) − B,1 (t, y)]) dt
=
0
Z
1
[A,2 (ξ, t) − A,2 (x, t)] [B,1 (t, η) − B,1 (t, y)] dt
=
0
Z
=
0
1
[A(ξ, t) − A(x, t)],2 [B(t, η) − B(t, y)],1 dt.
Z (1.14) oraz (1.15) mamy, że funkcje podcałkowe są nieujemne zatem otrzymujemy
C(x, y)
+
C(ξ, η) − C(x, η) − C(ξ, y) ≥ 0.
Zatem wykazaliśmy, że warunek monotoniczności dla operacji * dla kopuł jest spełniony.
Warunki na kopułę są spełnione, zatem A ∗ B ∈ C.
Dla n > 2 definicję operacji * możemy uogólnić. W takim przypadku definicja ta brzmi następująco:
Definicja 18. (Produkt ?) [2]
27
Niech A będzie m-kopułą oraz niech B będzie n-kopułą. Produkt ? jest funkcją
A ? B : [0, 1]m+n−1 → [0, 1] określoną następująco
Z
xm
A ? B(x1 , . . . , xm+n−1 ) =
A,m (x1 , . . . , xm−1 , ξ)B,1 (ξ, xm+1 , . . . , xm+n−1 )dξ.
(3.2)
0
W przypadku, gdy n = m = 2 pomiędzy produktami ? i ∗ zachodzi następująca relacja:
A ∗ B(x, y) = A ? B(x, 1, y),
A ? B jest (m+n-1)-kopułą.
3.2
Operacja produktowa ∗ a proces Markowa
W tym podrozdziale przedstawimy twierdzenie, które łączy procesy Markowa z funkcjami kopuł. Gdy będziemy używać oznaczenia Ft będziemy mieli na myśli dystrybuantę FXt , natomiast
Cst oznaczać będzie kopułę CXs Xt .
Niech X oraz Y będą zmiennymi losowymi zdefiniowanymi na tej samej przestrzeni probabilistycznej oraz niech C oznacza ich kopułę. Kolejne twierdzenie łączy pochodne cząstkowe kopuł
z dystrybuantami warunkowymi postaci E(IX<x |Y ) oraz E(IY <y |X).
Twierdzenie 6. [2]
Jeżeli rzeczywiste zmienne losowe X i Y mają kopułę C i ciągłe dystrybuanty brzegowe FX i FY ,
to
∀x∈R
E(IX≤x |Y )(ω) = C,2 (FX (x), FY (Y (ω)))
prawie na pewno
(3.3)
∀y∈R
E(IY ≤y |X)(ω) = C,1 (FX (X(ω)), FY (y))
prawie na pewno.
(3.4)
oraz
Uwaga 1. Jeżeli założymy, że zmienne losowe X i Y mają dystrybuanty ciągłe i ściśle rosnące to
zachodzi
P (X ≤ x|Y = y) = C,2 (FX (x), FY (y))
czyli, że prawdopodobieństwa warunkowe są pochodnymi cząstkowymi kopuł.
Dowód uwagi 1.
P (X ≤ x|Y = y)
=
=
=
=
=
lim P (X ≤ x|y < Y ≤ y + ∆y)
∆y→0
P (X ≤ x, y < Y ≤ y + ∆y)
P (y < Y ≤ y + ∆y)
P (X ≤ x, Y ∈ (−∞, y + ∆y]\(−∞, y])
lim
∆y→0
P (Y ∈ (−∞, y + ∆y]\(−∞, y])
P (X ≤ x, Y ≤ y + ∆y) − P (X ≤ x, Y ≤ y)
lim
∆y→0
P (Y ≤ y + ∆y) − P (Y ≤ y)
FXY (x, y + ∆y) − FXY (x, y)
lim
∆y→0
FY (y + ∆y) − FY (y)
lim
∆y→0
28
korzystając w tym momencie z twierdzenia Sklar’a oraz wprowadzając oznaczenie
∆y = FY (y + ∆y) − FY (y) otrzymujemy
P (X ≤ x|Y = y)
=
=
=
=
C(FX (x), FY (y + ∆y)) − C(FX (x), FY (y))
∆y→0
FY (y + ∆y) − FY (y)
C(FX (x), FY (y) + ∆y) − C(FX (x), FY (y))
lim
∆y→0
∆y
∂
C(FX (x), FY (y))
∂FY (y)
C,2 (FX (x), FY (y)).
lim
Przejdźmy teraz do dowodu twierdzenia.
Dowód twierdzenia 6. [2]
Dowód przeprowadzimy dla przypadku ciągłych dystrybuant, pełny dowód można znaleźć w [2].
Wykażemy tylko pierwsze równanie z twierdzenia, czyli równanie (3.3). Równanie (3.4) dowodzi
się w sposób analogiczny.
Niech σ(Y ) oznacza σ-algebrę generowaną przez zmienną losową Y. Ponieważ funkcja
ω → C,2 (FX (x), FY (Y (ω))) jest funkcją mierzalną względem σ(Y ) to musimy pokazać, że dla
każdego zbioru A należącego do tej σ-algebry oraz dla każdego x zachodzi:
Z
Z
C,2 (FX (x), FY (Y (ω)))dP (ω)) =
A
IX≤x (ω))dP (ω)).
(3.5)
A
Powyższą równość wystarczy wykazać dla A postaci A = Y −1 ((−∞, a]). Czyli
Z
Z
C,2 (FX (x), FY (Y ))dP
a
C,2 (FX (x), FY (ξ))dFY (ξ)
=
−∞
A
stosując teraz podstawienie FY (ξ) = η oraz pamiętając o założeniu o ciągłości dystrybuanty FY
otrzymujemy
Z
a
Z
C,2 (FX (x), FY (ξ))dFY (ξ)
FY (a)
C,2 (FX (x), η)dη
=
−∞
0
F (a)
= C(FX (x), η)|0 Y
= C(FX (x), FY (a)) − C(FX (x), 0)
= C(FX (x), FY (a)) − 0
= FX,Y (x, a)
Z
=
IX≤x IY ≤a dP
ZΩ
=
IX≤x dP.
A
Zatem otrzymaliśmy równość (3.5), czyli równanie (3.3) zachodzi.
Poniższy lemat wykorzystamy w dowodzie kolejnego twierdzenia, które łączy produkt * i procesy Markowa.
Lemat 3. [2]
29
Niech A i B będą kopułami. Wtedy dla prawie wszystkich x,
∂
∂x
1
Z
Z
A,1 (t, y)B,2 (x, t)dt =
0
1
A,1 (t, y)B,1 (x, dt).
(3.6)
0
Dowód tego lematu można znaleźć w [2].
Jak już wcześniej wspomnieliśmy proces stochastyczny możemy nazwać procesem Markowa, gdy
proces ten spełnia własność Markowa. Własność tę możemy także nazwać własnością warunkowej
niezależności i dla przypomnienia jest ona postaci
E(IXt ≤λ |Xt1 , . . . , Xtn ) = E(IXt ≤λ |Xtn ).
(3.7)
Poniższe twierdzenie daje nam warunek przedstawiony w języku kopuł, który jest równoważny do
równania Champmana-Kołmogorowa. Twierdzenie to daje nam także interpretację operacji *.
Twierdzenie 7. [2]
Niech Xt , t ∈ T będzie rzeczywistym procesem stochastycznym oraz dla każdego s, t ∈ T niech Cst
oznacza kopułę dla zmiennych losowych Xs i Xt . Następujące warunki są równoważne:
1. Prawdopodobieństwa przejść P (s, x, t, A) = P (Xt ∈ A|Xs = x) procesu spełniają równanie
Chapmana-Kołmogorowa
Z
∞
P (s, x, t, A) =
P (u, ξ, t, A)P (s, x, u, dξ)
(3.8)
−∞
dla każdego zbioru borelowskiego A, dla każdego s < t;
s, t ∈ T , dla każdego u ∈ (s, t) ∩ T
oraz dla prawie wszystkich x ∈ R.
2. Dla każdego s, u, t ∈ T spełniających s < u < t,
Cst = Csu ∗ Cut .
(3.9)
Dowód.
Dowód przeprowadzimy zakładając, że zmienne losowe procesu są ciągłe.
(2) ⇒ (1)
Zakładamy, że dla każdego s, u, t ∈ T spełniających zależność s < u < t zachodzi Cst = Csu ∗ Cut .
Zauważmy, że ponieważ dla każdego s < t i dla prawie każdego x odwzorowanie A → P (s, x, t, A)
jest miarą probabilistyczną, wystarczy sprawdzić równanie Chapmana-Kołmogorowa (3.8) dla zbiorów borelowskich A, w postaci A = (−∞, a), czyli σ{A = (−∞, a)} = BR . Dla takich zbiorów
otrzymujemy
P (s, x, t, A)
= P (s, x, t, (−∞, a))
= P (Xt ∈ (−∞, a)|Xs = x),
zbiór {Xt ∈ (−∞, a)} możemy także zapisać w postaci {ω : Xt (ω) < a}, czyli
P (Xt ∈ (−∞, a)|Xs = x)
30
=
E(IXt <a |Xs = x),
natomiast wykorzystując w tym momencie równanie (3.3) mamy
E(IXt <a |Xs = x)
= Cst,1 (Fs (Xs (ω), Ft (a)))
= Cst,1 (Fs (x), Ft (a)).
Zatem korzystając z Twierdzenia 6. otrzymujemy
P (s, x, t, A) = Cst,1 (Fs (x), Ft (a)) prawie na pewno.
(3.10)
Dla zbiorów A w postaci A = (−∞, a) oraz dla prawie wszystkich x otrzymujemy
Z
∞
Z
P (u, ξ, t, A)P (s, x, u, dξ)
∞
Cut,1 (Fu (ξ), Ft (a))Csu,1 (Fs (x), Fu (dξ))
=
−∞
−∞
Z 1
Cut,1 (η, Ft (a))Csu,1 (Fs (x), dη),
=
0
podstawiając teraz Fs (x) = ζ oraz korzystając z Lematu 3 mamy
1
Z
Cut,1 (η, Ft (a))Csu,1 (Fs (x), dη)
=
0
=
∂
∂ζ
Z
1
Cut,1 (η, Ft (a))Csu,2 (ζ, η)dη|ζ=Fs (x)
0
∂
∂Fs (x)
Z
1
Csu,2 (Fs (x), η)Cut,1 (η, Ft (a))dη,
0
wykorzystując w tym miejscu definicję operacji * otrzymujemy
∂
∂Fs (x)
1
Z
Csu,2 (Fs (x), η)Cut,1 (η, Ft (a))dη
=
0
=
∂
(Csu ∗ Cut )(Fs (x), Ft (a))
∂Fs (x)
(Csu ∗ Cut ),1 (Fs (x), Ft (a))
= Cst,1 (Fs (x), Ft (a))
= P (s, x, t, A).
Równanie (3.8) zostało wykazane, czyli dowód w tą stronę został zakończony.
(1) ⇒ (2)
Aby udowodnić twierdzenie w tą stronę zakładamy, że równanie Chapmana-Kołmogorowa (3.8)
zachodzi. Zatem korzystając z tego co udowodniliśmy powyżej, a mianowicie z równości (3.10) dla
prawie wszystkich x otrzymujemy
Z
∞
P (u, ξ, t, A)P (s, x, u, dξ) = P (s, x, t, a) = Cst,1 (Fs (x), Ft (a)).
−∞
Więc z (3.9) otrzymujemy
Cst,1 (Fs (x), Ft (a)) = (Csu ∗ Cut ),1 (Fs (x), Ft (a)).
Zatem dowód twierdzenia został zakończony.
Powyższe twierdzenie pokazuje, że spełnienie równania Chapmana-Kołmogorowa jest warunkiem koniecznym ale nie wystarczającym na to aby badany proces był procesem Markowa. Można
jednak określić warunek wystarczający w języku kopuł, służy do tego kolejne twierdzenie.
Twierdzenie 8. [2]
Rzeczywisty proces stochastyczny Xt , t ∈ T jest procesem Markowa wtedy i tylko wtedy, gdy dla
31
wszystkich dodatnich liczb całkowitych n oraz dla wszystkich t1 , . . . , tn ∈ T spełniających tk <
tk+1 , k = 1, . . . , n − 1, zachodzi
Ct1 ...tn = Ct1 t2 ? Ct2 t3 ? · · · ? Ctn−1 tn ,
(3.11)
gdzie Ct1 ...tn jest kopułą z Xt1 , . . . , Xtn oraz Ctk tk+1 jest kopułą z Xtk oraz Xtk+1 .
Dowód twierdzenia można znaleźć w pracy Darsow’a [2].
Jak zauważył Darsow(1992) w swojej pracy, podejście przez niego przedstawione jest zupełnie
inne od standardowego podejścia do procesów Markowa.
Darsow opisał, że standardowe podejście polega na tym, że proces Markowa określa się poprzez określenie rozkładu początkowego Ft0 oraz ustalenie rodziny prawdopodobieństw przejść
P (s, x, t, A), która spełnia równanie Chapmana-Kołmogorowa. W podejściu tym, gdy będziemy
mieć prawdopodobieństwo przejść ustalone i zmienimy rozkład początkowy to konieczne będzie
zmienienie wszystkich rozkładów brzegowych.
Natomiast podejście oparte na kopułach jest podejściem alternatywnym i polega ono na tym,
że proces Markowa precyzujemy podając wszystkie rozkłady brzegowe oraz rodzinę kopuł, która
spełnia równanie (3.9). W podejściu tym, gdy zmienimy rozkład początkowy nie zmieniając kopuły
procesu, to nie ma to jakiegokolwiek wpływu na pozostałe rozkłady brzegowe.
3.3
Przykład: kopuła ruchu Browna
Zajmiemy się teraz przykładem konstrukcji kopuły dla znanego procesu Markowa, gdyż mając
taką kopułę można określić nowy proces oparty na tej rodzinie kopuł oraz o innych rozkładach
brzegowych. Zajmijmy się zatem konstrukcją takiej kopuły, gdzie procesem Markowa którego do
tego użyjemy będzie ruch Browna. Przykład ten jest opracowany w oparciu o [2], [14] i [11].
Niech Bt będzie procesem ruchu Browna oraz niech Φ oznacza dystrybuantę standardowego rozkładu normalnego. Dla ruchu Browna prawdopodobieństwo przejść jest postaci [11]
P (s, xs ; t, xt ) := P (Bt ≤ xt |Bs = xs ) = Φ
xt − xs
√
t−s
s < t, xs , xt ∈ R.
,
(3.12)
Z Twierdzenia 6 wiemy, że prawdopodobieństwo warunkowe jest pochodną kopuły. Otrzymujemy
zatem, że prawdopodobieństwo przejścia jest postaci
P (s, xs ; t, xt ) = Cst,1 (Fs (xs ), Ft (xt )),
gdzie Cst,1 oznacza kopułę od zmiennych losowych Bs i Bt , a Fs i Ft są ich odpowiednimi dystrybuantami brzegowymi. Mamy zatem wzór na pochodną kopuły w postaci
Cst,1 (Fs (xs ), Ft (xt )) = Φ
xt − xs
√
t−s
,
możemy więc wyznaczyć wzór na kopułę ruchu Browna. Dla 0 < s < t otrzymujemy:
Z
Cst (Fs (xs ), Ft (xt ))
=
xs
Cst,1 (Fs (z), Ft (xt ))dFs (z)
xt − z
Φ √
dFs (z).
t−s
−∞
−∞
Z xs
=
32
Zakładając, że B0 = 0 przyrost Bt − B0 ma rozkład N (0, t). W związku z tym rozkład brzegowy
xt
jest postaci Ft (xt ) = Φ( √
) dla t > 0. Podstawimy to do powyższego wzoru, potrzebujemy jeszcze
t
tylko wyznaczyć xs i xt , czyli
Ft (xt )
=
Φ−1 (Ft (xt ))
=
xt
=
xt
Φ( √ )
t
xt
√
t
√ −1
tΦ (Ft (xt )),
Analogicznie otrzymujemy xs . Dla uproszczenia Fs (xs ) oznaczymy przez u, a Ft (xt ) przez v. Zatem
otrzymujemy kopułę ruchu Browna w postaci
Z
Cst (u, v) =
√
u
Φ
0
√
tΦ−1 (v) − sΦ−1 (w)
√
dw.
t−s
W takim przypadku pochodną możemy zapisać
√
Cst,1 (u, v) = Φ
√
tΦ−1 (v) − sΦ−1 (u)
√
.
t−s
W związku z metodą konstrukcji otrzymaliśmy, że kopuła Cst (u, v) jest rodziną kopuł, która spełnia
równanie (3.9).
33
Rozdział 4
Konstrukcja procesów
stochastycznych opartych na
kopułach
Rozdział ten poświęcony jest konstrukcji procesów stochastycznych bazujących na kopułach. Przedstawimy procesy oparte na trzech kopułach: kopule ruchu Browna, kopule Claytona oraz kopule
Franka.
4.1
Metoda konstrukcji procesu
Opiszemy teraz sposób, w jaki tworzymy trajektorię procesu opartego na kopule. Z Twierdzenia 6
wiemy, że pochodna cząstkowa jest równa prawdopodobieństwu warunkowemu, czyli dla s < t
mamy
P (Xt ≤ y|Xs = x) = Cst,1 (FXs (x), FXt (y)).
Będziemy konstruować procesy Markowa, zatem wartość procesu w chwili przyszłej zależy tylko
od wartości procesu w chwili obecnej. Tak więc będąc w chwili s znamy aktualną wartość procesu,
wynosi ona x, oraz chcemy wyznaczyć wartość y w chwili t. Oznaczmy
u = FXs (x) ∈ [0, 1].
Wtedy wzór na kopułę możemy zapisać
Cst,1 (u, FXt (y)) = h(FXt (y)|u).
Natomiast, gdy dla FXt (y) użyjemy oznaczenia v, to powyższe równanie możemy zapisać
h(v|u) = Cst,1 (u, v).
Chcemy wyznaczyć przyszłą wartość procesu v w chwili t, czyli wystarczy wyznaczyć funkcję
odwrotną
v = h−1 (·|u).
34
Mając tak otrzymaną wartość v, wartość procesu w chwili t otrzymujemy z
−1 −1
y = FX
(h (·|u)).
t
Algorytm postępowania możemy określić następująco:
1. dyskretyzujemy czas ustalając krok d oraz ustalamy czas końcowy T, czyli tworzymy ciąg
0 = t0 < t1 < . . . < tn , n =
T
d,
2. dla t0 przyjmujemy wartość procesu x0 = 0,
3. dla ti , i = 1, . . . , n tworzymy ciąg wartości u1 , u2 , . . . , un , gdzie ui jest z rozkładu U [0, 1],
4. przyjmujemy wartość procesu x1 = u1 ,
5. dla i = 2, . . . , n wartość procesu xi wyznaczamy następująco xi = h−1 (ui |xi−1 ; ti−1 , ti ),
6. otrzymujemy ciąg wartości x0 , x1 , . . . , xn , gdzie xi ∼ U [0, 1],
−1
7. wartości yi , i = 1, . . . , n otrzymujemy z yi = FX
(xi ).
t
4.2
Proces ruchu Browna
Możemy teraz przejść do symulacji procesu. Proces ten oparty jest na kopule ruchu Browna,
którą wyznaczyliśmy w rozdziale 3.3. Aby wygenerować trajektorię procesu korzystamy z metody
przedstawionej w rozdziale 4.1. Jak już pokazaliśmy wcześniej pochodna kopuły ruchu Browna
jest postaci
√
Cst,1 (u, v) = Φ
√
tΦ−1 (v) − sΦ−1 (u)
√
.
t−s
We wprowadzonej metodzie korzystamy z prawdopodobieństwa warunkowego, zatem z postaci
pochodnej musimy wyznaczyć wartość v. Dla uproszczenia zapisu oznaczymy h(v|u) przez z. Zatem
przejdźmy do wyznaczenia funkcji odwrotnej h−1 (z|u)
√
√
tΦ−1 (v) − sΦ−1 (u)
√
t−s
√
√ −1
−1
−1
t − sΦ (z) =
tΦ (v) − sΦ (u)
√ −1
√
√
tΦ (v) =
t − sΦ−1 (z) + sΦ−1 (u)
r
r
t − s −1
s −1
−1
Φ (v) =
Φ (z) +
Φ (u)
t
t
!
r
r
t − s −1
s −1
v = Φ
Φ (z) +
Φ (u) .
t
t
z
=
Φ
√
Na poniższych wykresach prezentujemy realizacje procesów uzyskanych z kopuły ruchu Browna.
Pierwsza z trajektorii przedstawia proces kopuły ruchu Browna dla rozkładu brzegowego U [0, 1].
Druga trajektoria otrzymana jest, gdy jako rozkładu brzegowego użyliśmy standardowego rozkładu normalnego i trajektoria ta jest standardowym procesem Wienera. Trzeci wykres został
otrzymany, gdy za rozkład brzegowy przyjęliśmy rozkład wykładniczy Exp(1). Natomiast ostatni
√ √
otrzymaliśmy, gdy za rozkład brzegowy przyjęliśmy rozkład jednostajny na przedziale [− t, t].
35
Rysunek 4.1: Trajektorie procesów z kopuły ruchu Browna dla różnych rozkładów brzegowych: (a)
rozkład jednostajny
√ √ U [0, 1], (b) rozkład normalny N (0, 1), (c) rozkład wykładniczy Exp(1), (d)
rozkład U [− t, t]
√ √
Gdy procesu kopuły ruchu Browna o rozkładzie brzegowym U [− t, t] wygenerujemy 1000
realizacji to możemy zauważyć, że proces spełnia własność prawa iterowanego logarytmu. Prawo
iterowanego logarytmu jest postaci:
P ( lim sup √
t→∞
Wt
= 1) = 1.
2t ln ln t
Własność tę możemy zauważyć na poniższym rysunku.
36
√ √
Rysunek 4.2: rozkład U [− t, t]
Kod generujący powyższe procesy z programu R znajduje się w załączniku 5A.
4.3
Proces kopuły Franka
Jak wykazaliśmy w rozdziale 1.3.3 funkcja określająca kopułę Franka jest postaci
1
(e−θu − 1)(e−θv − 1)
CθF r (u, v) = − ln 1 +
,
θ
(e−θ − 1)
θ = (−∞, ∞)\{0}.
Aby otrzymać proces generowany przez kopułę Franka postępujemy według algorytmu przedstawionego w podrozdziale 4.1. Wyznaczymy zatem pochodną kopuły Franka względem pierwszego
argumentu
C,1 (u, v)
=
=
1
(e−θ − 1)
(e−θv − 1) −θu
− · −θ
·
·e
· (−θ)
θ (e − 1) + (e−θu − 1)(e−θv − 1) (e−θ − 1)
e−θu · (e−θv − 1)
.
(e−θ − 1) + (e−θu − 1)(e−θv − 1)
Z Twierdzenia 6 wiemy, że pochodna kopuły jest rozkładem warunkowym, czyli C,1 (u, v) = h(v|u).
Niech u będzie ustalone oraz niech będzie z rozkładu U [0, 1]. Aby wyznaczyć wartość v musimy
znaleźć funkcję odwrotną do C,1 (u, )˙ (dla uproszczenia zapisu oznaczmy C,1 (u, )˙ = z), czyli musimy
znaleźć h−1 (z|u). Zatem
z
=
z(e−θ − 1) + z(e−θu − 1)(e−θv − 1) =
z(e−θ − 1)
+ z(e−θu − 1) =
(e−θv − 1)
z(e−θ − 1)
=
e−θv − 1
=
ln e−θv
=
37
e−θu · (e−θv − 1)
(e−θ − 1) + (e−θu − 1)(e−θv − 1)
e−θu · (e−θv − 1)
e−θu
−θu
e
− z(e−θu − 1) (e−θv − 1)
z(e−θ − 1)
e−θu − z(e−θu − 1)
z(e−θ − 1)
+ 1)
ln( −θu
e
− z(e−θu − 1)
−θv
=
v
=
z(e−θ − 1)
+ 1)
e−θu − z(e−θu − 1)
z(e−θ − 1)
1
+ 1).
− ln( −θu
θ
e
− z(e−θu − 1)
ln(
Poniższe wykresy prezentują procesy otrzymane z kopuły Franka kolejno dla parametrów θ =
{0.2, 1, 5, 37}. Dla każdego θ prezentujemy trajektorie procesów otrzymane, gdy jako rozkład brzegowy użyliśmy standardowego rozkładu jednostajnego U [0, 1] i standardowego rozkładu normalnego
N (0, 1).
θ = 0, 2 :
Rysunek 4.3: Trajektoria procesu opartego na kopule Franka (θ = 0, 2) o rozkładzie brzegowym
(a) U [0, 1], (b) N (0, 1)
θ=1:
Rysunek 4.4: Trajektoria procesu opartego na kopule Franka (θ = 1) o rozkładzie brzegowym (a)
U [0, 1], (b) N (0, 1)
38
θ=5:
Rysunek 4.5: Trajektoria procesu opartego na kopule Franka (θ = 5) o rozkładzie brzegowym (a)
U [0, 1], (b) N (0, 1)
θ = 37 :
Rysunek 4.6: Trajektoria procesu opartego na kopule Franka (θ = 37) o rozkładzie brzegowym (a)
U [0, 1], (b) N (0, 1)
Kod z programu R generujący powyższe realizacje znajduje się w załączniku 5B.
4.4
Proces kopuły Claytona
Zgodnie z tym co wykazaliśmy w rozdziale 1.3.1 funkcja określająca kopułę Claytona jest postaci
1
CθCl (u, v) = max{(u−θ + v −θ − 1)− θ , 0},
39
θ = [−1, ∞)\{0}.
Przyjmując, że kopuła jest równa
1
CθCl (u, v) = (u−θ + v −θ − 1)− θ
wyznaczmy jej pochodną względem pierwszego argumentu
C,1 (u, v)
− 1 −1
1 −θ
u + v −θ − 1 θ · (−θ) · u−θ−1
θ
− 1+θ
θ
· u−(1+θ) .
u−θ + v −θ − 1
= −
=
Tak jak dla poprzednich procesów również tutaj dla uproszczenia zapisu zastosujemy oznaczenia
h(v|u) = z, zatem przejdźmy do wyznaczenia v
z
=
z · u(1+θ)
=
1+θ
u−θ + v −θ − 1 θ
=
u−θ + v −θ − 1
=
v −θ
=
v
=
− 1+θ
θ
u−θ + v −θ − 1
· u−(1+θ)
1
1+θ
(u−θ + v −θ − 1) θ
1
z · u(1+θ)
θ
− 1+θ
z · u(1+θ)
θ
− 1+θ
z · u(1+θ)
− u−θ + 1
− θ1
θ
− 1+θ
(1+θ)
−θ
z·u
−u +1
.
Korzystając z metody z rozdziału 4.1 numerycznie wygenerujemy proces kopuły Claytona. Na
poniższych wykresach prezentujemy otrzymane procesy kolejno dla parametrów θ = {0.2, 1, 5, 50}.
Dla każdej wartości parametru θ pokazujemy, jak wygląda proces dla jednostajnego rozkładu
brzegowego oraz dla standardowego rozkładu normalnego. Im większa wartość parametru θ tym
większa zależność pomiędzy rozkładami brzegowymi.
θ = 0, 2 :
Rysunek 4.7: Trajektoria procesu opartego na kopule Claytona (θ = 0, 2) o rozkładzie brzegowym
(a) U [0, 1], (b) N (0, 1)
40
θ=1:
Rysunek 4.8: Trajektoria procesu opartego na kopule Claytona (θ = 1) o rozkładzie brzegowym
(a) U [0, 1], (b) N (0, 1)
θ=5:
Rysunek 4.9: Trajektoria procesu opartego na kopule Claytona (θ = 5) o rozkładzie brzegowym
(a) U [0, 1], (b) N (0, 1)
θ = 50 :
41
Rysunek 4.10: Trajektoria procesu opartego na kopule Claytona (θ = 50) o rozkładzie brzegowym
(a) U [0, 1], (b) N (0, 1)
Kod z programu R generujący powyższe realizacje znajduje się w załączniku 5C.
42
Rozdział 5
Modelowanie rynku z użyciem
procesu kopuły Browna
W rozdziale tym pokażemy zastosowanie procesu opartego na kopule, a konkretnie na kopule ruchu
Browna. Wycenimy opcje europejską i binarną barierową używając tego właśnie procesu i porównamy otrzymane wyniki z wynikami otrzymanymi przy użyciu procesu Wienera.
Rynek finansowy złożony jest z wielu rodzajów aktywów finansowych, które najprościej możemy podzielić na instrumenty bazowe i na instrumenty pochodne. Do instrumentów bazowych
zaliczamy akcje, obligacje, wartość indeksu giełdowego czy wysokość stopy procentowej. Natomiast
do instrumentów pochodnych, inaczej derywatów, należą instrumenty zależne od cen instrumentów
bazowych, a więc są to opcje, swapy, opcje na wysokość stopy procentowej czy kontrakty terminowe: future i forward. My zajmiemy się opisaniem podstaw teorii dotyczącej opcji. Zacznijmy
zatem od krótkiego wprowadzenia co to jest opcja i jakie są jej rodzaje.
5.1
Opcje
Opcja jest to instrument pochodny, którego instrumentem bazowym jest akcja. Możemy wyróżnić
dwa typy opcji: opcję kupna i opcję sprzedaży (opracowane na podstawie [4]).
Opcja kupna (ang. call option) jest to opcja, która daje jej posiadaczowi prawo (nie obowiązek) zakupu aktywów, na które opiewa ta opcja, w ustalonym lub przed ustalonym dniem, po
ustalonej cenie.
Natomiast opcja sprzedaży (ang. put option) jest to opcja, która daje jej posiadaczowi prawo
sprzedaży aktywów określonych przez opcję w ustalonym lub przed ustalonym dniu, po określonej
cenie.
Datę wygaśnięcia opcji (ang. expiration date) oznaczamy poprzez T , natomiast jej cenę wykonania (ang. exercise price) przez K.
Ze względu na czas wykonania opcje możemy podzielić na opcje europejskie i amerykańskie.
Różnica pomiędzy tymi opcjami jest taka, że opcja amerykańska może zostać wykonana w dowolnym czasie przed datą wygaśnięcia, natomiast opcja europejska może zostać wykonana tylko
w dniu wygaśnięcia. W związku z tym podziałem większość opcji, które są notowane na giełdach
są to opcje amerykańskie.
W momencie zakupu opcji nabywca płaci wystawcy za możliwość jej wykonania, zapłatę taką
nazywamy premią i oznaczamy przez D. Mówimy także, że nabywca opcji zajmuje pozycję długą
(ang. long position), z kolei sprzedawca zajmuje pozycję krótką (ang. short position). Możemy
43
zatem wyróżnić cztery rodzaje uczestników rynku opcji, czyli:
• kupujący opcję kupna (long call),
• sprzedający opcję kupna (short call),
• kupujący opcję sprzedaży (long put),
• sprzedający opcję sprzedaży (short put).
Profile wypłat wraz z wypłatami dla poszczególnych uczestników znajdują się na poniższych wykresach.
Rysunek 5.1: Profile wypłat opcji giełdowych
5.2
Model Blacka-Scholesa
Jednym z najpopularniejszych a co za tym idzie i najprostszym modelem wyceny opcji giełdowych
jest model Blacka-Scholesa. Model ten opiera się na przedstawionym wcześniej procesie stochastycznym jakim jest geometryczny ruch Browna.
Założenia jakie stosuje się przy tym modelu mogą się nieznacznie różnić, my przyjmujemy założenia
użyte w [4]. Brzmią one następująco:
1. ceny akcji kształtują się geometrycznym ruchem Browna, ze stałymi µ i σ,
2. dopuszcza się krótką sprzedaż,
3. nie uwzględnia się kosztów transakcyjnych i podatków; wszystkie papiery wartościowe są
podzielne,
4. akcje nie przynoszą dywidend w czasie trwania dyratywu,
5. nie ma możliwości arbitrażu wolnego od ryzyka,
6. obrót papierami wartościowymi jest ciągły,
44
7. stopa procentowa r jest wolna od ryzyka oraz jest stała w okresie żywotności opcji.
Powiedzmy jeszcze co oznacza brak możliwości arbitrażu na rynku. Brak możliwości arbitrażu
oznacza, że inwestor nie ma możliwości dokonania inwestycji przynoszącej zysk bez ryzyka straty.
Niech (Ω, F, P ) będzie przestrzenią probabilistyczną, niech W będzie procesem Wienera, a
F = (Ft )0≤t≤T = FtW = σ{Ws , s ≤ t} filtracją. Aby wycenić instrument finansowy w modelu
Blacka-Scholesa wprowadzamy miarę martyngałową Q. Przypomijmy, że S̃t jest postaci
S̃t = S0 exp((r −
σ2
)t − σ W̃t ).
2
Definicja 19. [5]
Miarę probabilistyczną Q na (Ω, FT ) nazywamy miarą martyngałową, gdy Q ∼ P i S̃ jest Qmartyngałem lokalnym.
Miarę o tej własności definiujemy w następującym twierdzeniu.
Twierdzenie 9. [5]
Miara probabilistyczna Q o gęstości
dQ
= exp
dP
1
r−µ
WT −
σ
2
r−µ
σ
2 !
T
jest miarą martyngałową, dla której proces S̃ jest Q-martyngałem o dynamice
dS̃t = σ S̃t W̃t ,
S̃0 = s
rozwiązanie jest postaci S̃t = St e−rT , zaś W̃t = Wt −
r−µ
σ
(5.1)
jest procesem Wienera względem Q i
filtracji F.
Uwaga 2. [5]
a) Warunek (5.1) możemy przedstawić w równoważnej postaci
˜ t.
dSt = rSt dt + σSt dW
(5.2)
b) Z (5.2) wynika, że przy mierze martyngałowej Q proces cen ma postać
St = S0 exp(σ W̃t + (r −
σ2
)t).
2
Formuła Blacka-Scholesa służąca do wyceny europejskiej opcji kupna oraz europejskiej opcji
sprzedaży (w obu przypadkach akcje nie wypłacają dywidend) w chwili 0 określona jest następującymi równaniami [4]:
dla opcji kupna:
C
=
S0 N (d1 ) − Ke−rT N (d2 )
=
e−rT E Q ((S˜T erT − K, 0)+ )
=
e−rT E Q (max(S˜T erT − K, 0)),
45
oraz dla opcji sprzedaży:
P
= Ke−rT N (−d2 ) − S0 N (−d1 )
= e−rT E Q ((K − S̃T erT , 0)+ )
= e−rT E Q (max(K − S̃T erT , 0)),
gdzie d1 i d2 wyznaczmy następująco:
ln( SK0 ) + (r +
d1 =
σT
ln( SK0 ) + (r −
d2 =
σT
σ2
2 )T
σ2
2 )T
√
= d1 − σ T .
N (x) oznacza wartość dystrybuanty standardowego rozkładu normalnego w punkcie x, S0 oznacza
cenę akcji w chwili początkowej, K jest to cena wykonania opcji, r jest to wolna od ryzyka stopa
procentowa, σ oznacza zmienność cen akcji oraz T jest to czas wykonania opcji.
Możemy jeszcze określić warunki monotoniczności cen opcji w zależności od wartości ceny
wykonania. Są one przedstawione w poniższej uwadze.
Uwaga 3. [5]
Niech na rynku bez możliwości arbitrażu C0 (K) (odpowiednio P0 (K)) oznacza cenę opcji kupna
(odpowiednio sprzedaży) z ceną wykonania K. Wtedy
1. K1 ≤ K2 ⇒ C0 (K1 ) ≥ C0 (K2 )
2. K1 ≤ K2 ⇒ P0 (K1 ) ≤ P0 (K2 ).
5.3
Wycena opcji europejskiej
W tym podrozdziale zajmiemy się wyceną opcji europejskiej w chwili t = 0. Wyznaczymy wartość
opcji kupna i sprzedaży na trzy sposoby. Pierwszą metodą będzie użycie wzorów Blacka-Scholesa,
drugą obliczenie wartości oczekiwanej, gdy użyjemy procesu Wienera. Natomiast trzecim sposobem
będzie obliczenie wartości oczekiwanej, gdy zamiast procesu Wienera użyjemy procesu kopuły
√ √
ruchu Browna dla rozkładów brzegowych U [− at, at]. Wartość parametru a powinna być taka,
żeby proces ten miał taką samą wariancję jak proces Wienera, czyli V ar(Xt ) = t. Dla rozkładu
jednostajnego U [a, b] wariancja wynosi
V arXt =
(b − a)2
,
12
zatem
√
√
( at + at)2
12√
(2 at)2
=
t
=
12t
a =
3.
Będziemy zatem badać wycenę opcji dla procesu kopuły ruchu Browna dla rozkładów brzegowych
√ √
U [− 3t, 3t]. Opiszemy teraz jak otrzymamy wartości wycen.
46
Pierwszą metodą jaką użyjemy będzie zastosowanie wzorów Blacka-Scholesa zdefiniowanych
w rozdziale 5.2. Do tak otrzymanych wartości będziemy porównywać wartości otrzymane za pomocą dwóch kolejnych metod, które teraz opiszemy. Sposób wyliczenia wyceny dla obu przebiega
tak samo, jedyną różnicą jest używany w nich proces. W jednej z nich używamy procesu Wienera,
natomiast w drugiej procesu kopuły ruchu Browna otrzymanego tak jak w podrozdziale 4.2 dla
√ √
rozkładu U [− 3t, 3t]. Przejdźmy zatem do opisu algorytmu postępowania.
1. ustalamy liczbę realizacji oraz parametry początkowe,
2. dla każdej realizacji tworzymy trajektorię procesu Wienera (kopuły ruchu Browna),
3. dla każdej trajektorii odczytujemy wartość procesu w chwili końcowej T,
4. dla każdej realizacji wyznaczamy cenę akcji w chwili T ze wzoru
2
σ
S˜T = S0 exp(− T + σ W˜T ),
2
5. dla każdej realizacji dyskontujemy cenę akcji
ST = S˜T · erT ,
6. wyznaczamy wartość oczekiwaną dla opcji kupna ze wzoru
e−rT E Q ((S˜T erT − K, 0)+ ) = e−rT E Q (max(S˜T erT − K, 0)),
oraz dla opcji sprzedaży
e−rT E Q ((K − S̃T erT , 0)+ ) = e−rT E Q (max(K − S̃T erT , 0)).
Przejdźmy zatem do przykładu wyceny.
Przykład.
Wyznaczymy wartość opcji europejskiej kupna i sprzedaży akcji trzema wspomnianymi sposobami
dla opcji rocznej i 10-cio letniej. Cena akcji w chwili obecnej wynosi S0 = 62, natomiast cena
wykonania wynosi K1 = 60. Przyjmujemy zmienność ceny na poziomie 20% oraz roczną stopę
procentową równą 10%. Porównamy także wyniki, gdy cena wykonania będzie wynosić K2 = 61.
Poniżej przedstawiamy wyniki jakie otrzymaliśmy w programie R, gdzie C (P) oznacza wartość wyceny opcji kupna (sprzedaży) otrzymanej za pomocą wzorów Blacka-Scholesa, C_wiener
(P_wiener) oznacza wartość wyceny opcji kupna (sprzedaży) dla metody z użyciem procesu Wienera, natomiast C_brown (P_brown) wartość opcji kupna (sprzedaży) dla metody z użyciem
procesu kopuły ruchu Browna. Prezentujemy wyniki kolejno dla opcji rocznej i 10-cio letniej.
Dla T = 1 otrzymaliśmy:
47
Rysunek 5.2: Wycena rocznej opcji europejskiej, dla S0 = 62 oraz odpowiednio K1 = 60 i K2 = 61
Dla T = 10 otrzymaliśmy:
Rysunek 5.3: Wycena 10-cio letniej opcji europejskiej, dla S0 = 62 oraz odpowiednio K1 = 60 i
K2 = 61
Możemy zauważyć, że wartości otrzymane dla procesu Wienera i procesu kopuły ruchu Browna
są zbliżone do wartości otrzymanych za pomocą wzorów Blacka-Scholesa. Z powyższych wyników
widzimy także, że dla obu T wartości wyceny opcji kupna dla niższej ceny wykonania K są większe.
Natomiast dla opcji sprzedaży dla większej wartości K wycena opcji jest większa. Stąd ceny opcji
są monotoniczne.
Kod programu użyty do tej wyceny znajduje się w załączniku 6A.
48
5.4
Wycena opcji binarnej barierowej
Przejdziemy teraz do kolejnego rodzaju opcji, a mianowicie do przykładu opcji egzotycznej jakim
jest opcja binarna barierowa. Możemy powiedzieć, że opcja taka zależy od całej trajektorii ceny,
a nie tylko od wartości w chwili T. W naszym przypadku będziemy wyceniać tak zwaną opcję
in, czyli taką która zaczyna działać w momencie, gdy osiągnie wartość bariery. Zatem opcja
binarna barierowa jest to taka opcja, która wypłaca 1 w chwili T, gdy w czasie [0, T ] trajektoria
procesu przekroczy wartość ustalonej bariery a. Natomiast, gdy w całym okresie żywotności opcji
jej wartość nie przekroczy ustalonej bariery, funkcja ta nie wypłaca nic. Stąd funkcję wypłaty
możemy zapisać w postaci
(
1l{MT ≥a} =
1,
MT ≥ a > S0
0,
MT < a,
gdzie
MT = sup St = sup S̃t ert
0≤t≤T
0≤t≤T
oraz jak już wcześniej podaliśmy cena opcji w chwili t, 0 ≤ t ≤ T wynosi
σ2
S̃t = S0 exp − t + σ W̃t .
2
(5.3)
Przejdźmy zatem do wyceny takiej opcji.
Wycenimy wartość opcji kupna wyznaczając wartość oczekiwaną funkcji wypłaty na dwa sposoby, gdy użyjemy procesu Wienera oraz procesu kopuły ruchu Browna dla rozkładów brzegowych
√ √
U [− 3t, 3t]. Dla obu procesów algorytm postępowania przy wyznaczaniu wyceny jest taki sam,
używamy tylko innego procesu. Zatem algorytm postępowania przy wycenie takiej opcji jest następujący:
1. ustalamy liczbę realizacji oraz parametry początkowe,
2. dla każdej realizacji wyznaczamy trajektorię procesu Wienera (procesu ruchu Browna),
3. dla każdej realizacji i dla każdego t ∈ [0, T ] wartość procesu w chwili t wstawiamy do wzoru
na cenę opcji, czyli
S̃t = So exp(−
σ2
t + σ W̃t ),
2
4. dla każdej realizacji i dla każdego t wyznaczamy zdyskontowaną wartość ceny, czyli
St = S̃t ert , .
5. dla każdej trajektorii wyznaczamy jej supremum, czyli
MT = sup St = sup S̃t ert ,
0≤t≤T
0≤t≤T
6. dla każdej trajektorii sprawdzamy, czy wartość MT jest większa od przyjętej bariery a,
7. gdy MT ≥ a to w chwili T wypłata z danej opcji wynosi 1, gdy MT < a to w chwili T
wypłata wynosi 0,
8. dla wszystkich realizacji sumujemy otrzymane wypłaty i dzielimy przez liczbę realizacji, czyli
mamy wartość oczekiwaną
E Q 1l{MT ≥a} ,
49
Dla porównania wyników opcję taką możemy także wycenić używając rozkładu łącznego zmiennych losowych ST oraz sup0≤t≤T St . Zajmiemy się przypadkiem, gdy proces Xt jest procesem
Wienera z dryfem, czyli proces Xt jest postaci
Xt = µt + W̃t .
Dla procesu Xt będziemy używać oznaczenia
MTX = sup Xt .
0≤t≤T
Wówczas
Q(MT ≥ a)
= Q( sup St ≥ a)
0≤t≤T
= Q( sup S̃t ert ≥ a)
0≤t≤T
= Q( sup S0 exp((r −
0≤t≤T
przyjmując
µ=
σ2
)t + σ W̃t ) ≥ a),
2
σ
r
−
σ
2
otrzymujemy
Q(MT ≥ a)
=
Q(S0 sup exp(σ(µt + W̃t )) ≥ a)
0≤t≤T
=
Q(S0 sup exp(σXt ) ≥ a)
0≤t≤T
=
a
)
S0
a
Q(exp(σ sup Xt ) ≥
)
S
0
0≤t≤T
a
)
Q(exp(σMTX ) ≥
S0
a
1
Q(MTX ≥ ln ).
σ S0
Q( sup exp(σXt ) ≥
0≤t≤T
=
=
=
Z [7] wiemy, że rozkład łączny (XT , MTX ) względem miary Q i w przypadku dwóch barier b i c
(c > 0, b ≤ c) jest postaci
P (XT < b, MTX < c) = Φ
b − µT
√
T
− e2µc Φ
b − 2c − µT
√
T
.
My będziemy badali wycenę opcji z jedną barierą zatem, gdy przyjmiemy b = c otrzymujemy
zależność
XT ≤ MTX < c,
wtedy rozkład łączny możemy zapisać
Q(XT ≤ c, MTX < c)
=
=
Q(MTX < c)
c − µT
−c − µT
2µc
√
√
Φ
−e Φ
.
T
T
Zatem możemy sformułować twierdzenie
50
Twierdzenie 10. [7]
Wartość wyceny opcji binarnej barierowej typu in z jedną barierą a wynosi
Q
E 11{MT ≥a} =
gdzie c =
1
σ
Q(MTX
≥ c) = 1 − Φ
c − µT
√
T
+
2µc
Φ
−c − µT
√
T
,
(5.4)
ln Sa0 .
Przejdźmy teraz do przykładu wyceny.
Przykład.
Wyznaczymy wartość binarnej barierowej opcji kupna akcji dwoma sposobami dla T = 1 i dla
dwóch wartości barier. Cena akcji w chwili obecnej wynosi S0 = 20, natomiast bariera raz wynosi
a = 23, a raz a = 27. Przyjmujemy zmienność ceny σ na poziomie 20% oraz roczną stopę procentową równą r = 10%.
1. Gdy bariera wynosiła a = 23 dla 1000 trajektorii zdyskontowane ceny akcji St
(t = 0.001, 0.002, . . . , 1) dla obu procesów kształtowały się jak na poniższych wykresach.
a
b
Rysunek 5.4: Trajektorie zdyskontowanych cen akcji, bariera
= 23. (a) proces Wienera, (b)
√ a√
proces kopuły ruchu Browna dla rozkładów brzegowych U [− 3t, 3t]
Dla takich trajektorii otrzymaliśmy następujące wyniki.
Wycena opcji, gdy użyliśmy procesu Wienera wyniosła
Q
EW
1l{MT ≥a} = 0, 607
√ √
oraz gdy użyliśmy procesu kopuły ruchu Browna z rozkładem brzegowym U [− 3t, 3t] :
Q
EB
1l{MT ≥a} = 0, 651.
Dla porównania wyznaczymy teraz wartość wyceny opcji otrzymaną z rozkładu łącznego.
Dla naszych danych otrzymujemy µ = 0.4 oraz
c=
1
a
ln
= 0, 6988097.
σ S0
51
Podstawiając wszystkie dane do wzoru (5.4) otrzymujemy
Q(MTX ≥ c) = 0, 6202772.
2. Dla bariery a = 27 otrzymaliśmy następujące wykresy i wyniki. Na poniższych wykresach widzimy dla 1000 realizacji wartości zdyskontowanych cen akcji St , gdzie t = 0.001, 0.002, . . . , 1.
a
b
Rysunek 5.5: Trajektorie zdyskontowanych cen akcji, bariera
= 27. (a) proces Wienera, (b)
√ a√
proces kopuły ruchu Browna dla rozkładów brzegowych U [− 3t, 3t]
Wycena opcji, gdy użyliśmy procesu Wienera wyniosła
Q
EW
1l{MT ≥a} = 0, 225
√ √
oraz gdy użyliśmy procesu kopuły ruchu Browna z rozkładem brzegowym U [− 3t, 3t] :
Q
EB
1l{MT ≥a} = 0, 242.
Dla porównania wyznaczymy wartość wyceny opcji otrzymaną z rozkładu łącznego. Dla
naszych danych otrzymujemy µ = 0.4 oraz
c=
1
a
ln
= 1, 500523.
σ S0
Podstawiając dane do wzoru (5.4) otrzymujemy
Q(MTX ≥ c) = 0, 2308205.
Dla obu barier widzimy, że otrzymane wartości wycen są bliskie sobie, jak również są zbliżone
do wartości otrzymanych z rozkładu łącznego. Możemy także zauważyć, że przy wyższej wartości
bariery od której opcja zaczyna działać jej wycena jest niższa.
Kod programu użyty do tej wyceny znajduje się w załączniku 6B.
52
Rozdział 6
Podsumowanie
W pracy przedstawiliśmy podstawowe informacje dotyczące kopuł, wykazaliśmy ich własności oraz
udowodniliśmy najważniejsze twierdzenie w teorii kopuł - twierdzenie Sklar’a. Zapoznaliśmy się
także z operacją produktową ∗ dla kopuł i przy jej wykorzystaniu udało nam się udowodnić twierdzenie łączące procesy Markowa z kopułami. Wprowadziliśmy definicje procesu Wienera oraz
geometrycznego ruchu Browna oraz udało nam się wygenerować trajektorie tych procesów. Przedstawiliśmy także sposób tworzenia oraz przykłady symulacji procesów Markowa opartych na trzech
kopułach: kopule ruchu Browna, kopule Claytona oraz kopule Franka. Najważniejszym co udało
nam się pokazać jest jednak zastosowanie w finansach procesu opartego na kopule. Sprawdziliśmy
jak zachowuje się rozwiązanie równania stochastycznego (2.2), gdy zmieniliśmy źródło losowości,
czyli jakie wartości wycen opcji otrzymamy, gdy do modelowania zamiast procesu Wienera użyjemy
procesu kopuły ruchu Browna. Aby zachować podobieństwo do procesu Wienera tak dobraliśmy
rozkład brzegowy procesu kopuły ruchu Browna, aby oba procesy miały taką samą wariancję.
Z przeprowadzonych symulacji dla procesu kopuły ruchu Browna otrzymaliśmy wartości wycen
zbliżone do tych otrzymanych dla procesu Wienera, zarówno dla opcji europejskiej jak i binarnej
barierowej.
53
Dodatek A
Załącznik - rozkłady
prawdopodobieństwa
Poniżej prezentujemy rozkłady prawdopodobieństwa użyte w pracy [6].
• Rozkład normalny, jednowymiarowy N (m, σ 2 ) :
−(x−m)2
dystrybuanta dla N (0, 1) :
ϕm,σ (x) = σ√12π e 2σ2
Rx
z2
Φ(x) = −∞ √12π e 2 dz,
parametry:
m ∈ R, σ ∈ (0, ∞),
momenty:
EX = m, V ar(X) = σ 2 .
gęstość:
• Rozkład jednostajny U [a, b], a, b ∈ R, a < b :
gęstość:
dystrybuanta:
g(x) =
1
b−a I[a,b] (x),
P (X ≤ t) =





momenty:
EX =
a+b
2 ,V
x ∈ R,
t≤a
0,
t−a
b−a ,
t ∈ (a, b)
t ≥ b,
1,
ar(X) =
(b−a)2
12 .
• Rozkład wykładniczy Exp(λ) :
gęstość:
dystrybuanta:
g(x) = λe−λx I(0,∞) (x),
(
0,
P (X ≤ t) =
−λt
1−e ,
parametry:
λ ∈ (0, ∞),
momenty:
EX = λ1 , V ar(X) =
54
1
λ2 .
t≤0
t > 0,
Dodatek B
Załącznik - kody programów
B.1
Załącznik 1
Kody z programu R tworzące powierzchnię oraz wykresy konturowe dla ograniczeń Frécheta (A górne ograniczenie, B - dolne ograniczenie) oraz kopuły niezależnej (C).
• (A) Kopuła minimum - górne ograniczenie Frécheta
par(mfrow=c(1,2))
m=10
n=m+1
l=1/m
x=1:n
y=1:n
x[1]=0
y[1]=0
z=matrix(1:n,nrow=n,ncol=n)
z[1,]=0
z[,1]=0
for(i in 2:n){
x[i]=x[i-1]+l
for(j in 2:n){
y[j]=y[j-1]+l
z[i,j]=min(x[i],y[j])
}
}
#wykres powierzchni
persp(x,y,z,xlim=c(0,1),ylim=c(0,1),zlim=c(0,1), theta=-20,phi=20)
#wykres poziomic
contour(x,y,z,xlim=c(0,1),ylim=c(0,1))
• (B) Kopuła maximum - dolne ograniczenie Frécheta
par(mfrow=c(1,2))
m=10
n=m+1
55
l=1/m
x=1:n
y=1:n
x[1]=0
y[1]=0
z=matrix(1:n,nrow=n,ncol=n)
z[1,]=0
z[,1]=0
for(i in 2:n){
x[i]=x[i-1]+l
for(j in 2:n){
y[j]=y[j-1]+l
z[i,j]=max(x[i]+y[j]-1,0)
}
}
#wykres powierzchni
persp(x,y,z,xlim=c(0,1),ylim=c(0,1),zlim=c(0,1), theta=-20,phi=20)
#wykres poziomic
contour(x,y,z,xlim=c(0,1),ylim=c(0,1))
• (C) Kopuła niezależna
par(mfrow=c(1,2))
m=10
n=m+1
l=1/m
x=1:n
y=1:n
x[1]=0
y[1]=0
z=matrix(1:n,nrow=n,ncol=n)
z[1,]=0
z[,1]=0
for(i in 2:n){
x[i]=x[i-1]+l
for(j in 2:n){
y[j]=y[j-1]+l
z[i,j]=x[i]*y[j]
}
}
#wykres powierzchni
persp(x,y,z,xlim=c(0,1),ylim=c(0,1),zlim=c(0,1), theta=-20,phi=20)
#wykres poziomic
contour(x,y,z,xlim=c(0,1),ylim=c(0,1))
56
B.2
Załącznik 2
Kody użyte do otrzymania wykresów gęstości oraz wykresów prób losowych dla kopuł Claytona
(A), Gumbela (B) oraz Franka (C).
• (A) Kopuła Claytona θ = 5
library(copula)
par(mfrow=c(1,2))
#utworzenie kopuły Claytona o parametrze theta=5 dla dwóch
#
wymiarów i jednostajnych rozkładów brzegowych
clayton = claytonCopula(5, dim = 2)
#wykres gęstości dla kopuły Claytona
persp(clayton,dCopula)
#losowanie 1000-elemetowej próby z kopuły Claytona
losowe = rCopula(1000, clayton)
#wyświetlenie tej próby na wykresie
plot(losowe)
• (B) Kopuła Gumbela θ = 5
library(copula)
par(mfrow=c(1,2))
#utworzenie kopuły Gumbela o parametrze theta=5 dla dwóch
#
wymiarów i jednostajnych rozkładów brzegowych
gumbel = gumbelCopula(5, dim = 2)
#wykres gęstości dla kopuły Claytona
persp(gumbel,dCopula)
#losowanie 1000-elemetowej próby z kopuły Gumbela
losowe = rCopula(1000, gumbel)
#wyświetlenie tej próby na wykresie
plot(losowe)
• (C) Kopuła Franka θ = 5
library(copula)
par(mfrow=c(1,2))
#utworzenie kopuły Franka o parametrze theta=5 dla dwóch
#
wymiarów i jednostajnych rozkładów brzegowych
frank = frankCopula(5, dim = 2)
57
#wykres gęstości dla kopuły Claytona
persp(frank,dCopula)
#losowanie 1000-elemetowej próby z kopuły Gumbela
losowe = rCopula(1000, frank)
#wyświetlenie tej próby na wykresie
plot(losowe)
B.3
Załącznik 3
Kod użyty do symulacji standardowego procesu Wienera (procesu ruchów Browna).
liczba_realizacji=100
n=1000 #liczba przedziałów
T=1 #czas końcowy
d=T/n #długość przedziału
czas=seq(0,T,d) #wektor czasu, punkty w których wyznaczamy wartości procesu
#macierz w którą będziemy wpisywać wartości procesu Wienera dla
# konkretnej realizacji oraz konkretnego czasu
W=array(1:n,dim=c(liczba_realizacji,n+1))
W[,1]=0 #wartość początkowa procesu, z definicji
plot(czas, W[1,], type="n", ylim=c(-3,3),main="Realizacja procesu Wienera")
for(i in 1:liczba_realizacji){
for(j in 2:(n+1)){
#wyliczamy wartości procesu w poszczególnych punktach
W[i,j]=W[i,j-1]+sqrt(d)*rnorm(1)
}
# rysujemy trajektorie procesów
lines(czas,W[i,],type="l", col=rgb(runif(1),runif(1),runif(1)))
}
B.4
Załącznik 4
Kod użyty do symulacji geometrycznego ruchu Browna.
library(MASS)
par(mfrow=c(2,2))
liczba_realizacji=100
mi=0.15
sigma=0.3
n=1000 #liczba przedziałów
T=1 #czas końcowy
58
d=T/n #długość przedziału
czas=seq(0,T,d) #wektor poszczególnych czasów
S=1:(n+1) #wektor dla wartości geometrycznego ruchu Browna
S[1]=1
#wartość początkowa, dowolna
wartosc=1:liczba_realizacji #wektor dla wartości procesów w chwili T
plot(czas, S, type="n", ylim=c(S[1]-2*sigma*S[1],S[1]+S[1]*5*sigma),
main="Realizacje geometrycznego ruchu Browna")
for(i in 1:liczba_realizacji){
for(j in 2:(n+1)){
S[j]=S[j-1]+mi*S[j-1]*d+sigma*S[j-1]*sqrt(d)*rnorm(1)
}
wartosc[i]=S[n+1]/S[1]
lines(czas,S,type="l", col=rgb(runif(1),runif(1),runif(1)))
}
#a - dopasowuje wartości średniej i odchylenia standardowego do
# rozkładu logarytmiczno-normalnego
a= fitdistr(wartosc,"lognormal")
#tworzymy histogram wartości procesów w chwili T
hist(wartosc,freq=FALSE,breaks=25,ylim=c(0,3))
#nanosimy na histogram krzywą gęstości rozkładu lognormalnego
# z parametrami a
curve(dlnorm(x,meanlog=a$estimate["meanlog"],sdlog=a$estimate["sdlog"]),
add=TRUE,col="blue")
#logarytmujemy wartości procesów w chwili T
logarytm_wartosci=log(wartosc)
#b - dopasowuje wartości średniej i odchylenia standardowego
# do rozkładu normalnego
b=fitdistr(logarytm_wartosci,"normal")
#tworzymy histogram logarytmów wartości procesów w chwili T
hist(logarytm_wartosci, freq=FALSE,breaks=25,ylim=c(0,3))
#nanosimy na histogram krzywą gęstości rozkładu normalnego z
# parametrami b
curve(dnorm(x,mean=b$estimate["mean"],sd=b$estimate["sd"]),
add=TRUE,col="red")
#test Shapiro-Wilka dla zmiennej logarytm_wartosci sprawdzający
# normalność rozkładu
shapiro.test(logarytm_wartosci)
59
B.5
Załącznik 5
Kod użyty do symulacji procesu z użyciem kopuły ruchu Browna (A), kopuły Franka (A) i kopuły
Claytona (B) .
• (A) Proces kopuły ruchu Browna
rm(list=ls())
par(mfrow=c(2,2))
liczba_realizacji=20
n=1000 #liczba przedziałów
T=1 #czas końcowy
d=T/n #długość przedziału
czas=seq(0,T,d) #wektor czasów
#u-macierz wartości z standardowego rozkładu jednostajnego
u=array(1:10,dim=c(liczba_realizacji,n+1))
for(i in 1:liczba_realizacji){
u[i,]=runif(n+1)
}
#x-macierz wartości procesu kopuły ruchu Browna, dla jednostajnego
#rozkładu brzegowego, przyjmujemy wartość 0 w chwili t_0=0, oraz
#wartość z rozkładu jednostajnego dla chwili t_1
x=array(1:(n+1), dim=c(liczba_realizacji,n+1))
for(i in 1:liczba_realizacji){
x[i,1]=0
x[i,2]=u[i,2]
}
#tworzymy proces kopuły ruchu Browna dla każdej realizacji oraz wykres
#tych trajektorii
plot(czas,x[1,],type="n",ylim=c(0,1),main="Proces kopuły Browna")
for(i in 1:liczba_realizacji){
for(j in
3:(n+1)){
v=pnorm(sqrt((czas[j]-czas[j-1])/czas[j])*qnorm(u[i,j])+
+sqrt(czas[j-1]/czas[j])*qnorm(x[i,j-1]))
x[i,j]=v
}
lines(czas,x[i,],type="l",col=rgb(runif(1),runif(1),runif(1)))
}
#w - wartości procesu ruchu Browna, gdy za rozkład brzegowy przyjmiemy
#standardowy rozkład normalny
w=array(1:(n), dim=c(liczba_realizacji,n+1))
plot(czas,w[1,],type="n",ylim=c(-3,3),
main="Proces kopuły Browna-rozkład normalny")
for(i in 1:liczba_realizacji){
60
for(j in 1:(n+1)){
w[i,j]=sqrt(czas[j])*qnorm(x[i,j])
}
lines(czas,w[i,],type="l",col=rgb(runif(1),runif(1),runif(1)))
}
#w - wartości procesu ruchu Browna, gdy za rozkład brzegowy przyjmiemy
#rozkład wykładniczy
w=array(1:(n), dim=c(liczba_realizacji,n+1))
plot(czas,w[1,],type="n",ylim=c(-3,10),
main="Proces kopuły Browna-rozkład wykładniczy")
for(i in 1:liczba_realizacji){
for(j in 1:(n+1)){
w[i,j]=qexp(x[i,j])
}
lines(czas,w[i,],type="l",col=rgb(runif(1),runif(1),runif(1)))
}
#w - wartości procesu ruchu Browna, gdy za rozkład brzegowy przyjmiemy
#rozkład jednostajny na przedziale [-sqrt(t),sqrt(t)]
w=array(1:(n), dim=c(liczba_realizacji,n+1))
plot(czas,w[1,],type="n",ylim=c(-3,3),
main="Proces kopuły Browna-rozkład jednostajny")
for(i in 1:liczba_realizacji){
for(j in 1:(n+1)){
w[i,j]=2*x[i,j]*sqrt(czas[j])-sqrt(czas[j])
}
lines(czas,w[i,],type="l",col=rgb(runif(1),runif(1),runif(1)))
}
• (B) Proces kopuły Franka
rm(list=ls())
par(mfrow=c(2,1))
liczba_realizacji=1
n=1000 #liczba przedziałów
theta=5 #max=37
T=1 #czas końcowy
d=T/n #długość przedziału
czas=seq(0,T,d) #wektor czasu na odcinku [0,T] z krokiem d
#u - macierz wartości z rozkładu jednostajnego
u=array(1:10,dim=c(liczba_realizacji,n+1))
for(i in 1:liczba_realizacji){
u[i,]=runif(n+1)
}
61
#x - macierz wartości procesu
x=array(1:(n+1), dim=c(liczba_realizacji,n+1))
for(i in 1:liczba_realizacji){
x[i,1]=0
x[i,2]=u[i,2]
}
#proces kopuły Franka, rozkład brzegowy - jednostajny
plot(czas,x[1,],type="n",ylim=c(0,1),
main="Proces kopuły Franka,theta=5")
for(i in 1:liczba_realizacji){
for(j in 3:(n+1)){
v=-1/theta*log((u[i,j]*(exp(-theta)-1))/(exp(-theta*x[i,j-1])+
-u[i,j]*(exp(-theta*x[i,j-1])-1))+1)
x[i,j]=v
}
lines(czas,x[i,],type="l",col=rgb(runif(1),runif(1),runif(1)))
}
#proces kopuły Franka, rozkład brzegowy - NORMALNY
w=array(1:(n), dim=c(liczba_realizacji,n+1))
plot(czas,w[1,],type="n",ylim=c(-2,3),
main="Proces kopuły Franka, N(0,1), theta=5")
for(i in 1:liczba_realizacji){
for(j in 1:(n+1)){
w[i,j]=sqrt(czas[j])*qnorm(x[i,j])
}
lines(czas,w[i,],type="l",col=rgb(runif(1),runif(1),runif(1)))
}
• (C) Proces kopuły Claytona
rm(list=ls())
par(mfrow=c(2,1))
liczba_realizacji=1
n=1000 #liczba przedziałów
theta=5 #max=37
T=1 #czas końcowy
d=T/n #długość przedziału
czas=seq(0,T,d) #wektor czasu na odcinku [0,T] z krokiem d
#u - macierz wartości z rozkładu jednostajnego
u=array(1:10,dim=c(liczba_realizacji,n+1))
for(i in 1:liczba_realizacji){
u[i,]=runif(n+1)
}
62
#x - macierz wartości procesu
x=array(1:(n+1), dim=c(liczba_realizacji,n+1))
for(i in 1:liczba_realizacji){
x[i,1]=0
x[i,2]=u[i,2]
}
#proces kopuły Claytona, rozkład brzegowy - jednostajny
plot(czas,x[1,],type="n",ylim=c(0,1),
main="Proces kopuły Claytona,theta=5")
for(i in 1:liczba_realizacji){
for(j in 3:(n+1)){
v=((1)/((u[i,j]*x[i,j-1]^(1+theta))^(-theta/(1+theta))+
-x[i,j-1]^(-theta)+1))^(1/theta)
x[i,j]=v
}
lines(czas,x[i,],type="l",col=rgb(runif(1),runif(1),runif(1)))
}
#proces kopuły Claytona, rozkład brzegowy - NORMALNY
w=array(1:(n), dim=c(liczba_realizacji,n+1))
plot(czas,w[1,],type="n",ylim=c(-2,3),
main="Proces kopuły Claytona, N(0,1), theta=5")
for(i in 1:liczba_realizacji){
for(j in 1:(n+1)){
w[i,j]=sqrt(czas[j])*qnorm(x[i,j])
}
lines(czas,w[i,],type="l",col=rgb(runif(1),runif(1),runif(1)))
}
B.6
Załącznik 6
Poniżej znajdują się kody programów użytych do wyceny opcji europejskiej (A) i opcji binarnej
barierowej (B).
• (A) Wycena opcji europejskiej
par(mfrow=c(2,2))
liczba_realizacji=100
#parametry dla modelu
sigma=0.2
r=0.1 #stopa procentowa wolna od ryzyka
S_0=62 #cena początkowa
K=60 #cena wykonania lub K=61
n=1000 #liczba przedziałów
63
T=1 #czas końcowy lub T=5/12 lub T=10
d=T/n #długość przedziału
czas=seq(0,T,d)
######
#wyznaczamy cenę opcji - standardowo
#konstruujemy realizacje procesu Wienera (tyle co liczba_realizacji)
#oraz wykres tych realizacji
W=1:(n+1) #wektor wartości procesu
W[1]=0
wartosc_wienera=1:liczba_realizacji #wektor wartości procesu w chwili T
plot(czas, W, type="n", ylim=c(-5,5),main="Realizacja procesu Wienera")
for(i in 1:liczba_realizacji){
for(j in 2:length(W)){
#obliczamy wartość procesu w kolejnych punktach
W[j]=W[j-1]+sqrt(d)*rnorm(1)
}
wartosc_wienera[i]=W[length(W)]
lines(czas,W,type="l", col=rgb(runif(1),runif(1),runif(1)))
}
wartosc_wienera #wartości procesów w chwili T
#wyliczamy wartość S_T=S~_T*e^{rT} dla każdego procesu
S_T=1:liczba_realizacji
S_t=1:liczba_realizacji
for(i in 1:liczba_realizacji){
S_t[i]=S_0*exp(-sigma^2/2*T+sigma*wartosc_wienera[i])
S_T[i]=exp(r*T)*S_0*exp(-sigma^2/2*T+sigma*wartosc_wienera[i])
}
#wyznaczamy wartość funkcji f(S_T)=(S_T-K)+=max{S_T-K,0}
f=1:liczba_realizacji
g=1:liczba_realizacji
for(i in 1:liczba_realizacji){
f[i]=max(S_T[i]-K,0)
g[i]=max(K-S_T[i],0)
}
#obliczamy wartość oczekiwaną
suma=0
suma1=0
for(i in 1:liczba_realizacji){
suma=suma+f[i]
suma1=suma1+g[i]
C_wiener=exp(-r*T)*suma/liczba_realizacji
P_wiener=exp(-r*T)*suma1/liczba_realizacji
64
}
C_wiener
P_wiener
######
#wyznaczamy cenę opcji - wzór Blacka-Scholesa
#dla porównania cena wyliczona za pomocą wzoru Blacka-Scholesa
C=S_0*pnorm((log(S_0/K)+(r+sigma^2/2)*T)/(sigma*sqrt(T)))+
-K*exp(-r*T)*pnorm((log(S_0/K)+(r-sigma^2/2)*T)/(sigma*sqrt(T)))
P=K*exp(-r*T)*pnorm(-((log(S_0/K)+(r-sigma^2/2)*T)/(sigma*sqrt(T))))+
-S_0*pnorm(-((log(S_0/K)+(r+sigma^2/2)*T)/(sigma*sqrt(T))))
C
P
######
#wyznaczamy cenę opcji - w miejscu procesu Wienera używamy procesu kopuły
#ruchu Browna dla rozkładu brzegowego U[-sqrt(3t),sqrt(3t)]
#(taka sama wariancja jak proces Wienera)
#konstruujemy realizacje procesu kopuły ruchu Browna
#(tyle co liczba_realizacji) oraz wykres tych realizacji
#tworzymy wektor z wartościami z rozkładu jednostajnego
u=array(1:10,dim=c(liczba_realizacji,n+1))
for(i in 1:liczba_realizacji){
u[i,]=runif(n+1)
}
#tworzymy wektor z wartościami procesu kopuły Browna
x=array(1:(n+1), dim=c(liczba_realizacji,n+1))
for(i in 1:liczba_realizacji){
x[i,1]=0
x[i,2]=u[i,2]
}
plot(czas,x[1,],type="n",ylim=c(0,1),main="Proces kopuły Browna")
for(i in 1:liczba_realizacji){
for(j in 3:(n+1)){
v=pnorm(sqrt((czas[j]-czas[j-1])/czas[j])*qnorm(u[i,j])+
+sqrt(czas[j-1]/czas[j])*qnorm(x[i,j-1]))
x[i,j]=v
}
lines(czas,x[i,],type="l",col=rgb(runif(1),runif(1),runif(1)))
}
65
#konstruujemy proces kopuły ruchu Browna z rozkładem
#brzegowym U[-sqrt(3t),sqrt(3t)]
w=array(1:(n), dim=c(liczba_realizacji,n+1))
wartosc_brown=1:liczba_realizacji
plot(czas,w[1,],type="n",ylim=c(-3,3))
for(i in 1:liczba_realizacji){
for(j in 1:(n+1)){
w[i,j]=qunif(x[i,j],min=-sqrt(3*czas[j]),max=sqrt(3*czas[j]))
}
lines(czas,w[i,],type="l",col=rgb(runif(1),runif(1),runif(1)))
wartosc_brown[i]=w[i,n+1]
}
wartosc_brown
#wartości procesów w chwili T
#wyliczamy wartość S_T=S~_T*e^{rT} dla każdego procesu
S_T=1:liczba_realizacji
for(i in 1:liczba_realizacji){
S_T[i]=exp(r*T)*S_0*exp(-sigma^2/2*T+sigma*wartosc_brown[i])
}
#wyznaczamy wartość funkcji f(S_T)=(S_T-K)+=max{S_T-K,0}
f=1:liczba_realizacji
g=1:liczba_realizacji
for(i in 1:liczba_realizacji){
f[i]=max(S_T[i]-K,0)
g[i]=max(K-S_T[i],0)
}
#obliczamy wartość oczekiwaną
suma=0
suma1=0
for(i in 1:liczba_realizacji){
suma=suma+f[i]
C_brown=exp(-r*T)*suma/liczba_realizacji
suma1=suma1+g[i]
P_brown=exp(-r*T)*suma1/liczba_realizacji
}
C_brown
P_brown
#wyświetlamy otrzymane wartości oraz K i T dla danej symulacji
K
T
C
C_wiener
66
C_brown
P
P_wiener
P_brown
• (B) Wycena opcji binarnej barierowej
par(mfrow=c(2,2))
liczba_realizacji=1000
#parametry dla modelu
sigma=0.2 #zmienność ceny
r=0.1 #stopa procentowa
S_0= 20 #cena początkowa
a=27 #bariera
n=1000 #liczba przedziałów
T=1 #czas końcowy
d=T/n #długość przedziału
czas=seq(0,T,d)
#konstruujemy realizacje procesu Wienera (tyle co liczba_realizacji)
#oraz wykres tych realizacji
W=array(1:(n), dim=c(liczba_realizacji,n+1)) #macierz wartości procesu
W[,1]=0
plot(czas, W[1,], type="n", ylim=c(-5,5),main="Realizacja procesu Wienera")
for(i in 1:liczba_realizacji){
for(j in 2:(n+1)){
#obliczamy wartość procesu w kolejnych punktach
W[i,j]=W[i,j-1]+sqrt(d)*rnorm(1)
}
lines(czas,W[i,],type="l", col=rgb(runif(1),runif(1),runif(1)))
}
#wyznaczamy wartość ceny w chwili t oraz wartość ceny zdyskontowanej
#dla procesu Wienera
S_TT=array(1:(n), dim=c(liczba_realizacji,n+1)) #S_T z falką
S_T=array(1:(n), dim=c(liczba_realizacji,n+1)) #S_T
supremum=1:liczba_realizacji
plot(czas, S_T[1,], type="n", ylim=c(S_0-10,S_0+30))
for(i in 1:liczba_realizacji){
for(j in 1:(n+1)){
S_TT[i,j]=S_0*exp((-(sigma^2)/2)*czas[j]+sigma*W[i,j])
S_T[i,j]=S_TT[i,j]*exp(r*czas[j])
}
supremum[i]=max(S_T[i,]) #wyznaczamy supremum dla każdej trajektorii
67
lines(czas,S_T[i,],type="l", col=rgb(runif(1),runif(1),runif(1)))
abline(h=a) #dodajemy prostą, która oznacza barierę
}
M_T=supremum
M_T
#liczymy wartość oczekiwaną, czyli wycenę opcji
suma=0
for(i in 1:liczba_realizacji){
if(M_T[i]>=a) suma=suma+1
}
EX=suma/liczba_realizacji
EX #wynik gdy użyliśmy procesu Wienera
############## drugi sposób, używamy procesu kopuły ruchu Browna
#konstruujemy realizacje procesu kopuły ruchu Browna
#(tyle co liczba_realizacji) oraz wykres tych realizacji
#tworzymy wektor z wartościami z rozkładu jednostajnego
u=array(1:10,dim=c(liczba_realizacji,n+1))
for(i in 1:liczba_realizacji){
u[i,]=runif(n+1)
}
#tworzymy wektor z wartościami procesu kopuły Browna
x=array(1:(n+1), dim=c(liczba_realizacji,n+1))
for(i in 1:liczba_realizacji){
x[i,1]=0
x[i,2]=u[i,2]
}
for(i in 1:liczba_realizacji){
for(j in 3:(n+1)){
v=pnorm(sqrt((czas[j]-czas[j-1])/czas[j])*qnorm(u[i,j])+
+sqrt(czas[j-1]/czas[j])*qnorm(x[i,j-1]))
x[i,j]=v
}
}
#konstruujemy proces kopuły ruchu Browna z rozkładem brzegowym
#U[-sqrt(3t),sqrt(3t)]
w=array(1:(n), dim=c(liczba_realizacji,n+1))
plot(czas,w[1,],type="n",ylim=c(-3,3))
68
for(i in 1:liczba_realizacji){
for(j in 1:(n+1)){
w[i,j]=qunif(x[i,j],min=-sqrt(3*czas[j]),max=sqrt(3*czas[j]))
}
lines(czas,w[i,],type="l",col=rgb(runif(1),runif(1),runif(1)))
}
#wyznaczamy wartość ceny w chwili t oraz wartość ceny zdyskontowanej
#dla procesu kopuły ruchu Browna z rozkładem
#brzegowym U[-sqrt(3t),sqrt(3t)]
S_TT2=array(1:(n), dim=c(liczba_realizacji,n+1)) #S_T z falką
S_T2=array(1:(n), dim=c(liczba_realizacji,n+1))
supremum2=1:liczba_realizacji
plot(czas, S_T2[1,], type="n", ylim=c(S_0-10,S_0+30))
for(i in 1:liczba_realizacji){
for(j in 1:(n+1)){
S_TT2[i,j]=S_0*exp((-(sigma^2)/2)*czas[j]+sigma*w[i,j])
S_T2[i,j]=S_TT2[i,j]*exp(r*czas[j])
}
supremum2[i]=max(S_T2[i,]) #wyznaczamy supremum dla każdej trajektorii
lines(czas,S_T2[i,],type="l", col=rgb(runif(1),runif(1),runif(1)))
abline(h=a)
}
M_T2=supremum2
supremum2
#liczymy wartość oczekiwaną, czyli wycenę opcji
suma2=0
for(i in 1:liczba_realizacji){
if(M_T2[i]>=a) suma2=suma2+1
}
EX2=suma2/liczba_realizacji
EX2 #wynik wyceny, gdy użyliśmy procesu kopuły ruchu Browna
#obliczenie wartości wyceny, gdy korzystamy z rozkładu łącznego
mi=r/sigma-sigma/2
mi
c=1/sigma*log(a/S_0)
c
rozklad=1-pnorm((c-mi*1)/sqrt(T))+exp(2*mi*c)*pnorm((-c-mi*1)/sqrt(T))
rozklad
69
Spis rysunków
1.1
Wykres powierzchni i konturu górnego ograniczenia Frécheta . . . . . . . . . . . .
6
1.2
Wykres powierzchni i konturu dolnego ograniczenia Frécheta . . . . . . . . . . . . .
6
1.3
Wykres powierzchni i konturu kopuły niezależnej . . . . . . . . . . . . . . . . . . .
7
1.4
Kopuła Claytona (a) wykres gęstości, (b) próba losowa 1000 elementowa . . . . . .
17
1.5
1.6
Kopuła Gumbela (a) wykres gęstości, (b) próba losowa 1000 elementowa . . . . . .
Kopuła Franka (a) wykres gęstości, (b) próba losowa 1000 elementowa . . . . . . .
18
19
2.1
Realizacje jednowymiarowego procesu Wienera . . . . . . . . . . . . . . . . . . . .
22
2.2
Realizacje geometrycznego ruchu Browna (a) pojedyncza realizacja, (b) 1000 nieza-
2.3
Histogram wraz z krzywą gęstości rozkładu lognormalnego dla wartości
2.4
Histogram wraz z krzywą gęstości rozkładu normalnego dla wartości ln
leżnych realizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST
S0
ST
S0
24
. . . .
24
. . . . .
25
2.5
Wynik testu Shapiro-Wilka dla badanej próbki . . . . . . . . . . . . . . . . . . . .
25
4.1
Trajektorie procesów z kopuły ruchu Browna dla różnych rozkładów brzegowych: (a)
4.2
rozkład jednostajny U [0, 1], (b) rozkład normalny N (0, 1), (c) rozkład wykładniczy
√ √
Exp(1), (d) rozkład U [− t, t] . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
√ √
rozkład U [− t, t] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3
Trajektoria procesu opartego na kopule Franka (θ = 0, 2) o rozkładzie brzegowym
4.4
Trajektoria procesu opartego na kopule Franka (θ = 1) o rozkładzie brzegowym (a)
(a) U [0, 1], (b) N (0, 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
U [0, 1], (b) N (0, 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5
Trajektoria procesu opartego na kopule Franka (θ = 5) o rozkładzie brzegowym (a)
4.6
Trajektoria procesu opartego na kopule Franka (θ = 37) o rozkładzie brzegowym
U [0, 1], (b) N (0, 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(a) U [0, 1], (b) N (0, 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7
Trajektoria procesu opartego na kopule Claytona (θ = 0, 2) o rozkładzie brzegowym
4.8
Trajektoria procesu opartego na kopule Claytona (θ = 1) o rozkładzie brzegowym
(a) U [0, 1], (b) N (0, 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(a) U [0, 1], (b) N (0, 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9
36
37
38
38
39
39
40
41
Trajektoria procesu opartego na kopule Claytona (θ = 5) o rozkładzie brzegowym
(a) U [0, 1], (b) N (0, 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
4.10 Trajektoria procesu opartego na kopule Claytona (θ = 50) o rozkładzie brzegowym
(a) U [0, 1], (b) N (0, 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
5.1
Profile wypłat opcji giełdowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.2
Wycena rocznej opcji europejskiej, dla S0 = 62 oraz odpowiednio K1 = 60 i K2 = 61 48
70
5.3
5.4
5.5
Wycena 10-cio letniej opcji europejskiej, dla S0 = 62 oraz odpowiednio K1 = 60 i
K2 = 61 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
Trajektorie zdyskontowanych cen akcji, bariera a = 23. (a) proces Wienera, (b)
√ √
proces kopuły ruchu Browna dla rozkładów brzegowych U [− 3t, 3t] . . . . . . .
51
Trajektorie zdyskontowanych cen akcji, bariera a = 27. (a) proces Wienera, (b)
√ √
proces kopuły ruchu Browna dla rozkładów brzegowych U [− 3t, 3t] . . . . . . .
52
71
Bibliografia
[1]
Cherubini U., Gobbi F.,Mulinacci S., Romagnoli S., Dynamic Copula Methods in Finance,
Wiley, 2012, s.49-66.
[2]
Darsow W.F., Nguyen B., Olsen E.T., Copulas and Markov processes, Illinois Journal of
Mathematics, Vol. 36, Nr 4, 600-642, 1992
[3]
Fichtenholz G.M., Rachunek Różniczkowy i Całkowy, tom I, Wyd. Naukowe PWN, 2007,
s.256-257.
[4]
Hull J.C., Option, Futures and other derivatives, 7th Edition, Pearson Education Inc., 2009,
s.1-19, 259-309.
[5]
Jakubowski J., Modele matematyczne rynków instrumentów pochodnych I, Uniwersytet Warszawski, 2011, mst.mimuw.edu.pl/wyklady/ip1/wyklad.pdf, data dostępu: 20.05.2014.
[6]
Jakubowski J., Sztencel R., Wstęp do teorii prawdopodobieństwa, SCRIPT, 2004, s.64, 117119, 221-222, 304-305.
[7]
Jakubowski J., Palczewski A., Rutkowski M., Stettner Ł., Matematyka finansowa: Instrumenty pochodne, Wydawnictwo Naukowo-Techniczne, 2003, s.72-95, 173-195.
[8]
Lamberton D., Lapeyre B., Introduction to Stochastic Calculus Applied to Finance, Chapman
& Hall, 1996, s.165-167.
[9]
Łojasiewicz S., Wstęp do teorii funkcji rzeczywistych, PWN, 1976, s.158.
[10] McNeil A.J., Frey R., Embrechts P., Quantitative Risk Management: Concepts, Techniques &
Tools, Princeton University Press, 2005, s.184-192, 494-495.
[11] Nelsen R.B., An Introduction to Copula, Springer, 2006, s.7-24, 109-135, 244-249.
[12] Plucińska A., Pluciński E., Probabilistyka: Rachunek Prawdopodobieństwa, Statystyka Matematyczna, Procesy stochastyczne, Wydawnictwo Naukowo-Techniczne, 2000, s.321-326.
[13] Pumi G., Lopes S.R.C., Simulation of Univariate Times Series Using Copulas, Federal Univerity of Rio Grande do Sul, 2010.
[14] Schmitz V., Copulas and Stochastic Processes, der Rheinish-Westfalischen Technischen Hochschule Aachen, 2003, doktorat.
72

Similar documents