background image

Metoda Monte Carlo

Rafał Kucharski

kucharski@math.us.edu.pl

www.math.us.edu.pl/rk

Szkoła Letnia Matematyki Finansowej, Tarnów 2012

background image

John was assisted by Henry, a foreign quant whose English was

incomprehensable, but who was believed to be at least equally com-
petent in risk-management methods. John knew no math, he relied
on Henry. (. . . ) Henry was a graduate student in Operations Rese-
arch when John hired him. His specialty was a field called Compu-
tational Finance, which, as its name indicates, seems to focus solely
on running computer programs overnight. Henry’s income went from
$50,000 to $600,000 in three years.

Nassim Nicholas TalebFooled by Randomness

background image

Zaczynamy od prostej funkcji. . .

(x) = 4 (1 − x)

0.0

0.2

0.4

0.6

0.8

1.0

0.0

0.2

0.4

0.6

0.8

1.0

background image

Iterujemy. . .

x

0

= 0.1,

x

n+1

(x

n

),

= 1, . . . , 1000

0

200

400

600

800

1000

0.0

0.2

0.4

0.6

0.8

1.0

background image

Ciąg deterministyczny zachowuje się jak losowy!

Histogram (arcus sinus)

0.0

0.2

0.4

0.6

0.8

1.0

0

50

100

150

200

background image

Generowanie liczb losowych

• liczby prawdziwie losowe (true random numbers)

• liczby pseudo-losowe (pseudo-random numbers)

• liczby quasi-losowe (quasi-random numbers)

background image

Liczby prawdziwie losowe:

• rzut monetą, rzut kostką, koło ruletki,

• zachowanie człowieka lub jego efekty: ruchy myszką komputerową,

kliknięcia na klawiaturze, ruch głowic twardego dysku,

• zjawiska fizyczne których nieprzewidywalność sięga praw mechaniki

kwantowej: rozkład radioaktywny, szum termiczny, szum radiowy

• zdjęcia chmur, ”Lava lamps”

background image

Liczby quasi-losowe:

• quasi-random numbers, low discrepancy numbers)

• regularne – nielosowość widoczna ”gołym okiem”,

• bardziej równomierne niż ciągi pseudolosowe,

• dają mniejszy błąd – lepsze tempo zbieżności,

• najbardziej popularne: ciągi Haltona, ciągi Sobola,

• metoda Quasi-Monte Carlo.

background image

Halton

Sobol

background image

Liczby pseduo-losowe

Własności generatorów liczb pseudolosowych

(RNG random number generators)

• okresowość (pełny okres daje rozkład jednostajny),

• odtwarzalność, powtarzalność (reproducibility),

• szybkość,

• przenośność (portability),

• losowość.

background image

Generator liniowy kongruencyjny:

• Ustalamy liczbę całkowitą (duża, najlepiej pierwsza, np. 2

32

− 1).

• Wybieramy a, b ∈ {01, . . . , M − 1}.

• Wybieramy ziarno x

0

∈ {01, . . . , M − 1}.

• x

i

= (ax

i−1

b) mod = 12, . . .

• U

i

x

i

/M ∈ [01].

Inne popularne generatory:

• Fibonacciego: x

n

:= x

n−1

x

n−2

(mod m),

• multiple recursive generatorsx

n

:= a

1

x

n−1

· · · a

k

x

n−k

(mod m),

• bitowe (w tym feedback shift registers),

• inwersyjne: x

n

:= ax

1

n−1

b.

Zobacz w R: ?RNG

background image

Fakt. Niech F będzie dystrybuantą ciągłą i ściśle rosnącą.
Jeśli U ∼ U 
[01], to F

1

(jest zmienną losową o dystrybuancie F .

(F

1

(¬ x) = ((F

1

()) ¬ F (x)) = (U ¬ F (x)) = (x), x ∈ R.

Definicja. Dla dowolnej dystrybuanty : R → [01] uogólniona funkcja odwrotna
F

: [01] → [−∞, ∞] dana jest wzorem

F

(u) = inf{x (x­ u}.

Fakt. Niech F będzie dowolną dystrybuantą.
Jeśli U ∼ U 
[01], to F

(jest zmienną losową o dystrybuancie F .

Wniosek: Wystarcza nam generowanie liczb o rozkładzie jednostajnym.

background image

Zadanie. Wygeneruj liczby o poniższych rozkładach za pomocą transformacji
odwrotnej z rozkładu jednostajnego.

• rozkład Cauchy’ego: (x) =

1
2

+

1

π

arc tg(x),

• rozkład wykładniczy: (x) = 1 − exp(−x), x ­ 0,

• rozkład arcusa sinusa: (x) =

2

π

arc sin(

x), 0 ¬ x ¬ 1,

(czas w jakim proces Wienera osiąga maksimum na przedziale [01]),

• rozkład Rayleigh’a: (x) = 1 − e

2x(x−b)

x ­ b,

(maksimum procesu Wienera na [01] pod warunkiem W

1

b),

background image

Rozkłady dyskretne:

• Chcemy wygenerować zmienną o rozkładzie P skupionym na zbiorze N,

• Wyznaczamy liczby p

0

= P(X ¬ 0), p

1

= P(X ¬ 1), p

2

= P(X ¬ 2), . . .

• Gdy rozkład jest skupiony na zbiorze nieskończonym, poprzestajemy na p

k

dostatecznie bliskim 1, np. p

k

= 0.99999.

• k, jeśli p

k−1

< U < p

k

, gdzie U ∼ U [01].

Czasem przeszukiwanie od = 0 może być nieefektywne.
Przykładowo: dla P ois(100) większość obserwacji leży w (70130),
zatem warto rozpocząć sprawdzanie od p

70

.

background image

Rozkład normalny:

• Proste przybliżenie: =



P

12

i=1

U

i



− 6, gdzie U

i

∼ U [01] są niezależnymi

zmiennymi losowymi (iid),

• Box-Muller: U

1

, U

2

∼ U [01], iid,

X

1

=

r

2 log(U

1

) cos(2πU

2

),

X

2

=

r

2 log(U

1

) sin(2πU

2

).

• Marsaglia-Bray:

while (X > 1)

losuj U

1

, U

2

∼ U [01]

U

1

← 2U

1

− 1, U

2

← 2U

2

− 1

X ← U

2

1

U

2

2

Y ←

r

2 log(X)/X

Z

1

← U

1

Z

2

← U

2

Y

return Z

1

, Z

2

.

background image

• Wielowymiarowy rozkład normalny N

d

(µ, Σ):

– Niech Σ = AA

T

(np. rozkład Cholesky’ego), X ∼ N

d

(0, I

d

),

– Wówczas AX ∼ N

d

(0Σ), AX µ ∼ N

d

(µ, Σ).

Dodatek: algorytm rozkładu Cholesky’ego dla macierzy dodatnio określonej:

A ← 0 (macierz d × d)

for = 1, . . . , d

for j, . . . , d

v

i

← Σ

ij

for = 1, . . . , j − 1

v

i

← v

i

− A

jk

A

ik

A

ij

← v

i

/

v

j

return A.

background image

W przypadku = 2 macierz korelacji ma postać


ρ

ρ 1


,

a jej macierz Cholesky’ego przybiera formę:


1

0

ρ

− ρ

2


.

Możemy zatem zapisać powyższy algorytm następująco:

• Wylosuj X

1

, X

2

∼ N (01), niezależne,

• Oblicz Y

1

X

1

Y

2

ρX

1

+

− ρ

2

X

2

.

Istotnie, wówczas E(Y

1

) = E(Y

2

) = 0, Var(Y

1

) = Var(X

1

) = 1,

Var(Y

2

) = ρ

2

Var(X

1

) + (1 − ρ

2

) Var(X

2

) = 1,

Corr(Y

1

, Y

2

) =

cov(Y

1

, Y

2

)

r

Var(Y

1

) Var(Y

2

)

= cov(X

1

, ρX

1

+

r

− ρ

2

X

2

) =

= cov(X

1

, ρX

1

) + cov(X

1

,

r

− ρ

2

X

2

) = ρ

background image

Zadanie. Wygeneruj wektory liczb Xo rozkładzie normalnym standardowym,
dla których współczynnik korelacji ρ(X, Y ) = 0.6.

background image

Metoda akceptuj-odrzuć (Accept-Reject)

• Chcemy generować liczby z rozkładu o gęstości f

(znanej z dokładnością do stałej multyplikatywnej),

• Potrzebujemy prostszej do symulacji gęstości takiej, że

– mają takie same nośniki (g(x⇐⇒ f (x0),

– istnieje , że (x)/g(x¬ M dla wszystkich x,

• Algorytm:

1. generuj Y ∼ gU ∼ U [01],

2. jeśli U ¬

1

M

·

()

g()

, to ; w przeciwnym wypadku wróć do 1.

• Powyższy algorytm działa również w przypadku wielowymiarowym.

background image

Zadanie. Używając metody akceptuj-odrzuć wygeneruj liczby z rozkładu
o gęstości:

(x∝ exp(−x

2

/2){sin(6x)

2

+ 3 cos(x)

2

sin(4x)

2

+ 1}.

• Narysuj (x) i znajdź takie , że

(x¬ M g(x),

gdzie g(x) = exp(−x

2

/2)/

2π jest gęstością rozkładu normalnego.

Możesz użyć funkcji optimise, aby znaleźć najmniejszą wartość .

• Oszacuj stałą normalizującą.

• Porównaj histogram ze znormalizowaną gęstością.

background image

Rozkłady warunkowe:

• ma dystrybuantę ,

• Chcemy wygenerować pod warunkiem a ¬ X ¬ b,

• (a) + ((b− F (a)) · U , gdzie U ∼ U [01],

• F

() ma pożądany rozkład,

background image

Zadanie (Probabilistyka, A. i E. Plucińscy, str. 228, Zadanie 15).

background image

Twierdzenie (Probabilistyka, A. i E. Plucińscy, str. 223, Twierdzenie Lapunowa
4.9)Niech {X

n

} będzie ciągiem niezależnych zmiennych losowych i niech dla

= 12, . . . będzie

m

n

= E(X

n

),

σ

2

n

= E((X

n

− m

n

)

2

0,

b

n

= E(|X

n

− m

n

|

3

),

C

n

=

r

σ

2

1

· · · σ

2

n

,

B

n

=

3

b

1

· · · b

n

,

U

n

=

1

C

n

n

X

k=1

(X

k

− m

k

),

F

n

(u) = (U

n

< u).

Jeśli lim

n→∞

B

n

C

n

= 0, to dla każdego u

lim

n→∞

F

n

(u) =

1

2π

Z

u

−∞

e

−x

2

/2

dx,

czyli ciąg losowy {U

n

} jest zbieżny według dystrybuant do zmiennej losowej o

rozkładzie normalnym N (01).

background image

Proces Wienera

• W

0

= 0 p.n., trajektorie t 7→ W

t

są ciągłe p.n.

• przyrosty W

t

1

, W

t

2

− W

t

1

, . . . , W

t

n

− W

t

n−1

są niezależne,

• W

t

− W

s

∼ N (0, t − s), 0 ¬ s ¬ t,

Symulacja trajektorii procesu Wienera

• Chcemy symulować wartości ((t

1

), . . . , W (t

n

)) w ustalonym zbiorze

punktów 0 < t

1

< · · · < t

n

.

• Niech Z

1

, . . . , Z

n

będą niezależnymi zmiennymi losowymi (01),

• Dla standardowego ruchu Browna (0) = 0 oraz

(t

i+1

− W (t

i

) =

t

i+1

− t

i

· Z

i+1

,

= 0, . . . , n − 1.

background image

0.0

0.2

0.4

0.6

0.8

1.0

−2.0

−1.5

−1.0

−0.5

0.0

0.5

time

BM

background image

Wielowymiarowy proces Wienera

• Proces (t) = (W

1

(t), . . . , W

d

(t)) jest standardowym d-wymiarowym

ruchem Browna , gdy jego współrzędne W

i

(t) są standardowymi

jednowymiarowymi ruchami Browna oraz W

i

W

j

są niezależne dla i 6j.

• Niech µ ∈ R

d

oraz Σ ∈ R

d×d

będzie dodatnio określoną macierzą.

Proces nazywamy ruchem Browna z dryfem µ i kowariancją Σ,
jeśli ma ciągłe trajektorie o niezależnych przyrostach

X(s− X(s∼ N (tµ, tΣ).

Proces nazywamy ruchem Browna o stałej kowariancji (Σ jest stała).

• Dla symulacji Monte Carlo ze skorelowanym ruchem Browna potrzebujemy

generować próbki o rozkładzie (δtµ, δtΣ), a jeśli δt jest ustalone problem
redukuje się do losowania z rozkładu (µ, Σ) (co już potrafimy).

background image
background image

Zaproponowana przez Stanisława Ulama w czasie projektu Manhattan, jako
sposób obliczania skomplikowanych całek pojawiających w modelowaniu reakcji
łańcuchowych. Rozwinięta przez J. von Neumanna, N. Metropolisa i innych.

Źródło: www.atomicarchive.com

background image

• Jeśli X ∼ U [01] oraz : [01] → R, to wartość oczekiwana zmiennej h(X)

jest równa całce:

E[h(X)] = I(h) =

Z

1

0

h(xdx.

• Podobnie w przypadku wielowymiarowym: X ∼ U [01]

d

oraz : [01]

d

→ R

E[h(X)] = I(h) =

Z

[0,1]

d

h(xdx.

• Z drugiej strony, przyjmując

I

N

(h) =

1

N

N

X

n=1

h(x

n

),

gdzie x

n

są niezależnymi realizacjami X, mamy

E[I

N

(h)] = E[h(X)] = I(h)

(nieobciążoność) oraz z MPWL

lim

N →∞

I

N

(h) = E[h(X)] = I(h).

background image

• Ponadto

Var(I

N

(h)) =

1

N

2

N

X

k=1

Var h(x

k

) =

1

N

Var h(X).

• Błąd metody Monte Carlo jest proporcjonalny do N

1/2

.

• Co ważniejsze, błąd Monte Carlo jest proporcjonalny do N

1/2

, niezależnie

od wymiaru!

• Błąd = O(N

1/2

)Czas = O()

jeśli chcemy zwiększyć dokładność

10-krotnie, musimy zwiekszyć ilość próbek i czas obliczeń 100-krotnie.

background image

Model Blacka-Scholesa (1973)

Ceny akcji modeluje geometryczny proces Wienera:

S

t

S

0

exp



(µ −

1
2

σ

2

)σW

t



,

lub równoważnie:

ln(S

t

) = ln(S

0

) + (µ −

1
2

σ

2

)σW

t

,

gdzie

• µ jest stopą aprecjacji (wyznacza trend ceny),

• σ jest współczynnikiem zmienności (volatility),

• parametry µσ > 0 są stałe (i deterministyczne),

• akcja nie wypłaca dywidendy,

• stała stopa procentowa wolna od ryzyka r,

W modelu B-S zmienna losowa S

t

ma rozkład lognormalny, tzn. zmienna ln(S

t

) ma

rozkład normalny.

background image

Wzory Blacka-Scholesa

• Cena europejskiej opcji kupna:

S

t

Φ(d

1

(S

t

, τ )) − Ke

−rτ )

Φ(d

2

(S

t

, τ )),

• Cena europejskiej opcji sprzedaży:

Ke

−rτ

Φ(−d

2

(S

t

, τ )) − S

t

Φ(−d

1

(S

t

, τ )),

• gdzie τ T − t, funkcja Φ jest dystrybuantą standardowego rozkładu

normalnego oraz

d

1

(s, τ ) =

ln(s/K) + (σ

2

/2)τ

σ

τ

,

d

2

(s, τ ) = d

1

(s, τ − σ

τ =

ln(s/K) + (r − σ

2

/2)τ

σ

τ

.

• Uwaga: cena opcji nie zależy od µ.

background image

Wycena opcji niezależnych od trajektorii

• Instrumenty finansowe wyceniamy korzystajac z wzoru

Π

0

(X) = B

0

E

Q

[X/B

T

],

gdzie Q jest miarą neutralną wobec ryzyka,
B

t

– ceną w chwili instrumentu wolnego od ryzyka (numeraire) oraz

jest wypłatą z danego instrumentu w chwili .

• Cena akcji w modelu Blacka-Scholesa względem miary neutralnej wobec

ryzyka, dane są wzorem:

S

t

S

0

exp

(r −

1

2

σ

2

)σW

t

.

• Zmienna losowa W

T

ma rozkład normalny o średniej 0 i wariancji .

• Możemy przyjąć W

T

=

T Y , gdzie Y ∼ N (01).

background image

• Wypłata z europejskiej opcji call wynosi

(S

T

) = (S

T

− K)

+

,

a dla europejskiej opcji put

g(S

T

) = (K − S

T

)

+

.

gdzie jest ceną wykonania.

• Cena instrumetu wolnego od ryzyka (obligacja) to

B

t

= exp(rt),

t ∈ [0, T ].

• Cenę opcji wyznaczamy jako wartość oczekiwaną

= E

Q

[(S

T

)/B

T

] = exp(−rT )

Z

1

0

(S

T

)dU,

gdzie

S

T

S

0

exp((r −

1

2

σ

2

)σ

T Y )

oraz = Φ

1

(∼ N (01), U ∼ U [01].

background image

• W praktyce:

– Losujemy niezależnych realizacji zmiennych o rozkładzie

normalnym Y

(1)

, . . . , Y

()

,

– Obliczamy ceny akcji w chwili wykonania S

(1)

T

, . . . , S

()

T

dla

kolejno wylosowanych próbek,

– Obliczamy zdyskontowane wypłaty z opcji:

exp(−rT )(S

(1)

T

), . . . , exp(−rT )(S

()

T

),

– Wyznaczamy cenę opcji jako zdyskontowaną wartość oczekiwaną:

Π

0

(X) =

1

N

N

X

i=1

exp(−rT )(S

(i)

T

).

Zadanie. Oblicz ceny opcji dla = 0.05, σ = 0.2, = 1, S

0

= 110, = 100.

Porównaj z wartościami dokładnymi (wzór Blacka-Scholesa). Wyznacz przedział
ufności, w którym prawdziwa wartość leży z prawdopodobieństwem 99.7%.
Wyznacz ilość próbek , tak by powyższy przedział miał szerokość 0.01.

background image

Wycena opcji zależnych od trajektorii

• Dla t

2

> t

1

mamy

S

t

2

S

t

1

exp

(r −

1

2

σ

2

)(t

2

− t

1

) + σ(W

t

2

− W

t

1

)

• Losujemy niezależnych trajektorii ceny S

(1)

t,T

, . . . , S

()

t,T

na przedziale [t, T ],

• Dla log-normalnego procesu ceny akcji i równoodległych chwil t

i+1

− t

i

δt,

= 0, . . . , n − 1, mamy

S

t

i+1

S

t

i

exp((r −

1

2

σ

2

)δt σ

δtZ

i

),

gdzie Z

i

∼ N (01).

• Obliczamy wypłatę V

(n)

na każdej trajektorii = 1, . . . , N ,

• Ceną opcji jest Π

0

= exp(−rT )

1

N

P

N

n=1

V

(n)

.

background image

Przykład: opcja azjatycka (asian option)

• Europejska opcja call na średnią cenę akcji o wypłacie

=

1

T

T

X

t=1

S

t

− K

+

,

gdzie S

t

jest ceną akcji w dniu t.

• Wielowymiarowy proces Wienera przydaje się przy wycenie opcji opartych o

kilka instrumentów bazowych.

Przykład: opcja koszykowa (basket option)

• Europejska opcja call na średnią cenę akcji o wypłacie

=

1

M

M

X

i=1

S

T,i

− K

+

,

gdzie S

T,i

jest ceną i-tej akcji w chwili .

background image

Redukcja wariancji

• antithetic variables (metoda odbić lustrzanych)

– Losujemy 2 próbki, X

1

X

2

, z tego samego rozkładu.

– Wariancja wynosi

ε = Var


h(X

1

) + h(X

2

)

2


=

1

2

[Var(h(X

1

) + cov(h(X

1

), h(X

2

))],

– Jeśli h(X

1

) i h(X

2

) są niezależne to ε =

1
2

Var(h(X

1

),

– Jeśli h(X

1

) i h(X

2

) będą ujemnie skorelowane, to ε <

1
2

Var(h(X

1

),

– Jeśli X

1

, X

2

∼ U [01] ujemną korelację uzyskujemy przyjmując

X

2

φ(X

1

), gdzie φ : [01] → [01] jest funkcją malejącą oraz

φ(X

1

∼ U [01]; np. φ(x) = 1 − x.

– Każdą wylosowaną próbkę możemy wykorzystać 2 razy!

– Uwaga: jeśli próbki losowane są z rozkładu symetrycznego

(np. normalnego), to X ∼ −X,

– Metoda daje dobre wyniki, gdy wypłata jest bliska liniowej,

background image

• control variate

– Chcemy obliczyć E(X) (np. cena amerykańskiej opcji call),

– Wiemy o zmiennej losowej , której E() znamy, a która jest w pewnym

sensie bliska E(X) (np. cena europejskiej opcji call)

– Przyjmujemy X − Y + E(), skąd E(Z) = E(X)

– Obliczamy E(X) symulując wartości zmiennej Z.

– Korzyść odniesiemy gdy: Var(Z) = Var(X − Y Var(X).

– Intuicję wynikającą z tej metody można stosować nie tylko dla MC:

∗ z modelu wynikają oszacowania I

N

(X), I

N

(),

∗ model popełnia błąd ε y − E() dla zmiennej ,
∗ zakładamy, że dla zmiennej popełnia ten sam błąd,

∗ lepsze oszacowanie dla to: x − ε x − y + E().

background image

– Metodę można „dostroić”

∗ dla θ ∈ R definiujemy

Z

θ

θ(E(− Y )

∗ w dalszym ciągu E(Z

θ

) = E(X) oraz

Var(Z

θ

) = Var(X− 2θ cov(X, Y ) + θ

2

Var()

∗ wariancja jest najmniejsza dla θ

min

=

cov(X,Y )

Var()

,

∗ wielkość cov(X, Y ) zwykle nie jest znana, ale można ją oszacować –

metodą MC (nie jest potrzebna duża dokładność)

background image

• importance sampling (metodę najlepiej wyjaśnić na przykładzie)

– chcemy wycenić opcję call (= (S

T

− K)

+

),

która jest głęboko out-of-the-money,

– większość wylosowanych próbek da zerową wypłatę, co jest stratą czasu

obliczeniowego,

– trzeba zatem losować tylko te trajektorie, które wniosą wkład do ceny

(zobacz slajd „Rozkłady warunkowe”),

– Niech (x) = (S

T

¬ x), G(x) = (S

T

¬ x|S

T

> K) oraz

(S

T

> K) = 1 − F (K). Wówczas dla x ­ K mamy

G(x) =

(K<S

T

¬x)

(S

T

>K)

=

(S

T

¬x)−P (S

T

¬K)

(S

T

>K)

=

(x)1

k

+ 1.

– Stąd G

1

(u) = F

1

(1 + k(u − 1)), u ∈ (01).

– Jeśli jest losowane z rozkładu o dystrybuancie G, to

E[X] = (S

T

¬ K· E[X|S

T

¬ K] + (S

T

> K· E[X|S

T

> K] =

= (1 − k· 0 + k · E[Z] = k · E[Z].

background image

– Podejście ogólne: zakładamy, że losowana zmienna pochodzi z rozkładu

o gęstości ,

– Zastąpimy tą gęstość przez g, która powinna być bliska f · h (gęstości

zmiennej h(X), którą całkujemy), wtedy

E

f

(h(X)) =

Z

h(x)(xdx =

Z

h(x)

(x)

g(x)

g(xdx = E

g

(h(X)

(X)

g(X)

),

a funkcja podcałkowa w ostatniej całce ma małą wariancję.

background image

Metody symulacji procesów stochastycznych

• symulacja dokładnego rozwiązania,

• symulacja z prawdopodobieństwa przejścia,

• przybliżanie dynamiki,

background image

Symulacja dokładnego rozwiązania,

Stosujemy, gdy znana jest jawna postać silnego rozwiązania SDE, to znaczy daje
się ono zapisać jako funkcjonał procesu Wienera: X(t) = G(t, W

[0,t]

).

• Ustalamy X

0

x

0

,

• Dla = 1, . . . , N losujemy trajektorię ((t

i

) oraz obliczamy

X

i

G(t

i

, {W (t

1

), . . . , W (t

i

)}).

Przykład: w modelu Blacka-Scholesa

dS(t) = r dt σ dW (t)

rozwiązanie ma postać:

S(t) = S(0) exp((r − σ

2

/2)σW (t)).

background image

Symulacja z prawdopodobieństwa przejścia

Możemy stosować, gdy znamy prawdopodobieństwa przejścia procesu między dwo-
ma dowolnymi momentami czasu.

• Ustalamy X

0

x

0

.

• Dla = 1, . . . , N losujemy

X

i

∼ p(t

i

, · t

i−1

, X

i−1

)

(rozkład prawdopodobieństwa X

i

w chwili t

i

pod warunkiem, że proces ma

wartość X

i−1

w chwili t

i−1

).

Przykład: w modelu terminowych stóp procentowych Vasicka

dr(t) = α(β − r(t)) dt σ dW (t),

proces r(t) ma rozkład normalny z warunkową średnią i wariancją

µ(ts, x) = β e

−α(t−s)

(x − β),

σ(ts, x) =

σ

2

2α

(1 − e

2α(t−s)

).

background image

Przybliżanie dynamiki

Dyskretyzujemy równanie różniczkowe, zamieniając je w równanie różnicowe.

dX(t) = µ(t, X(t)) dt σ(t, X(t)) dW (t)

()

Schemat Eulera

• Równanie () dyskretyzujemy do postaci

X

i+1

X

i

µ(t

i

, X

i

)∆σ(t

i

, X

i

)

tZ

i

(∗∗)

gdzie Z

i

∼ N (01).

• Ustalamy X

0

x

0

,

• Dla = 0, . . . , N − 1 losujemy Z

i

i obliczamy X

i+1

jak w (∗∗).

• Otrzymane w schemacie Eulera rozwiązania są zbieżne do prawdziwego:

∀T > 0, ∃C C() E( sup

t∈[0,T ]

|X

N

(t− X(t)|

2

¬ C × t.

background image

• przyrosty czasu nie muszą być równe (∆t

i+1

− t

i

).

• dla Z

i

= 2B

i

− 1, gdzie B

i

mają rozkład Bernoulliego z = 1/2, otrzymamy

rozwiązania zbiegające do oryginalnego w sensie słabym, co wystarcza, gdy
chcemy liczyć wartości oczekiwane regularnych funkcjonałów X.

Przykład: Model Fonga-Vasicka zadany jest układem równań:

dr(t) = α(µ − r(t)) dt +

r

v(tdW

1

t

,

dv(t) = β( ¯

µ − v(t)) dt σ

r

v(tdW

2

t

gdzie jest modelowaną stopą procentową, a jej ciągłą zmiennością. Dyskretyzacja
ma postać:

r

i+1

r

i

α(µ − r

i

)∆+

v

i

tZ

1

i

,

v

i+1

v

i

β( ¯

µ − v

i

)∆σ

v

i

tZ

2

i

gdzie (Z

1

i

, Z

2

i

∼ N (0Σ

i

), a Σ

i

= cov(dW

1

, dW

2

).

background image

Literatura

[1] R. Seydel, Tools for Computational Finance, Springer 2006.

[2] G. Fusai, A. Roncoroni, Implementing Models in Quantative Finance: Me-

thods and Cases, Springer 2008.

[3] P. Jackel, Monte Carlo Methods in Finance, Wiley 2002.

[4] C. P. Robert, G. Casella, Introducing Monte Carlo Methods with R, Springer

2010.