Metoda Monte Carlo
Transkrypt
Metoda Monte Carlo
Metoda Monte Carlo Rafał Kucharski [email protected] www.math.us.edu.pl/rk Szkoła Letnia Matematyki Finansowej, Tarnów 2012 John was assisted by Henry, a foreign quant whose English was incomprehensable, but who was believed to be at least equally competent in risk-management methods. John knew no math, he relied on Henry. (. . . ) Henry was a graduate student in Operations Research when John hired him. His specialty was a field called Computational 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 Taleb, Fooled by Randomness Zaczynamy od prostej funkcji. . . 0.0 0.2 0.4 0.6 0.8 1.0 f (x) = 4 x (1 − x) 0.0 0.2 0.4 0.6 0.8 1.0 Iterujemy. . . xn+1 = f (xn), n = 1, . . . , 1000 0.0 0.2 0.4 0.6 0.8 1.0 x0 = 0.1, 0 200 400 600 800 1000 Ciąg deterministyczny zachowuje się jak losowy! 0 50 100 150 200 Histogram (arcus sinus) 0.0 0.2 0.4 0.6 0.8 1.0 Generowanie liczb losowych • liczby prawdziwie losowe (true random numbers) • liczby pseudo-losowe (pseudo-random numbers) • liczby quasi-losowe (quasi-random numbers) 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” 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. Halton Sobol 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ść. Generator liniowy kongruencyjny: • Ustalamy liczbę całkowitą M (duża, najlepiej pierwsza, np. 232 − 1). • Wybieramy a, b ∈ {0, 1, . . . , M − 1}. • Wybieramy ziarno x0 ∈ {0, 1, . . . , M − 1}. • xi = (axi−1 + b) mod M , i = 1, 2, . . . • Ui = xi/M ∈ [0, 1]. Inne popularne generatory: • Fibonacciego: xn := xn−1 + xn−2 (mod m), • multiple recursive generators: xn := a1xn−1 + · · · + ak xn−k (mod m), • bitowe (w tym feedback shift registers), • inwersyjne: xn := ax−1 n−1 + b. Zobacz w R: ?RNG Fakt. Niech F będzie dystrybuantą ciągłą i ściśle rosnącą. Jeśli U ∼ U[0, 1], to F −1(U ) jest zmienną losową o dystrybuancie F . P (F −1(U ) ¬ x) = P (F (F −1(U )) ¬ F (x)) = P (U ¬ F (x)) = F (x), x ∈ R. Definicja. Dla dowolnej dystrybuanty F : R → [0, 1] uogólniona funkcja odwrotna F − : [0, 1] → [−∞, ∞] dana jest wzorem F −(u) = inf{x : F (x) u}. Fakt. Niech F będzie dowolną dystrybuantą. Jeśli U ∼ U[0, 1], to F −(U ) jest zmienną losową o dystrybuancie F . Wniosek: Wystarcza nam generowanie liczb o rozkładzie jednostajnym. Zadanie. Wygeneruj liczby o poniższych rozkładach za pomocą transformacji odwrotnej z rozkładu jednostajnego. • rozkład Cauchy’ego: F (x) = 21 + π1 arc tg(x), • rozkład wykładniczy: F (x) = 1 − exp(−x), x 0, √ • rozkład arcusa sinusa: F (x) = π2 arc sin( x), 0 ¬ x ¬ 1, (czas w jakim proces Wienera osiąga maksimum na przedziale [0, 1]), • rozkład Rayleigh’a: F (x) = 1 − e−2x(x−b), x b, (maksimum procesu Wienera na [0, 1] pod warunkiem W1 = b), Rozkłady dyskretne: • Chcemy wygenerować zmienną X o rozkładzie P skupionym na zbiorze N, • Wyznaczamy liczby p0 = P(X ¬ 0), p1 = P(X ¬ 1), p2 = P(X ¬ 2), . . . • Gdy rozkład jest skupiony na zbiorze nieskończonym, poprzestajemy na pk dostatecznie bliskim 1, np. pk = 0.99999. • X = k, jeśli pk−1 < U < pk , gdzie U ∼ U[0, 1]. Czasem przeszukiwanie od k = 0 może być nieefektywne. Przykładowo: dla P ois(100) większość obserwacji leży w (70, 130), zatem warto rozpocząć sprawdzanie od p70. Rozkład normalny: • Proste przybliżenie: X = zmiennymi losowymi (iid), 12 i=1 Ui P − 6, gdzie Ui ∼ U[0, 1] są niezależnymi • Box-Muller: U1, U2 ∼ U[0, 1], iid, r X1 = −2 log(U1) cos(2πU2), • Marsaglia-Bray: while (X > 1) losuj U1, U2 ∼ U[0, 1] U1 ← 2U1 − 1, U2 ← 2U2 − 1 X ← U12 + U22 r Y ← −2 log(X)/X Z1 ← U 1 Y , Z2 ← U 2 Y return Z1, Z2. r X2 = −2 log(U1) sin(2πU2). • Wielowymiarowy rozkład normalny Nd(µ, Σ): – Niech Σ = AAT (np. rozkład Cholesky’ego), X ∼ Nd(0, Id), – Wówczas AX ∼ Nd(0, Σ), AX + µ ∼ Nd(µ, Σ). Dodatek: algorytm rozkładu Cholesky’ego dla macierzy dodatnio określonej: A ← 0 (macierz d × d) for j = 1, . . . , d for i = j, . . . , d vi ← Σij for k = 1, . . . , j − 1 vi ← vi − Ajk Aik √ Aij ← vi/ vj return A. W przypadku d = 2 macierz korelacji ma postać 1 ρ , ρ 1 a jej macierz Cholesky’ego przybiera formę: 1 0 √ . ρ 1 − ρ2 Możemy zatem zapisać powyższy algorytm następująco: • Wylosuj X1, X2 ∼ N (0, 1), niezależne, √ • Oblicz Y1 = X1, Y2 = ρX1 + 1 − ρ2X2. Istotnie, wówczas E(Y1) = E(Y2) = 0, Var(Y1) = Var(X1) = 1, Var(Y2) = ρ2 Var(X1) + (1 − ρ2) Var(X2) = 1, r cov(Y1, Y2) Corr(Y1, Y2) = r = cov(X1, ρX1 + 1 − ρ2X2) = Var(Y1) Var(Y2) r = cov(X1, ρX1) + cov(X1, 1 − ρ2X2) = ρ Zadanie. Wygeneruj wektory liczb X, Y o rozkładzie normalnym standardowym, dla których współczynnik korelacji ρ(X, Y ) = 0.6. 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 g takiej, że – f i g mają takie same nośniki (g(x) > 0 ⇐⇒ f (x) > 0), – istnieje M , że f (x)/g(x) ¬ M dla wszystkich x, • Algorytm: 1. generuj Y ∼ g, U ∼ U[0, 1], 1 f (Y ) · , to X = Y ; w przeciwnym wypadku wróć do 1. 2. jeśli U ¬ M g(Y ) • Powyższy algorytm działa również w przypadku wielowymiarowym. Zadanie. Używając metody akceptuj-odrzuć wygeneruj liczby z rozkładu o gęstości: f (x) ∝ exp(−x2/2){sin(6x)2 + 3 cos(x)2 sin(4x)2 + 1}. • Narysuj f (x) i znajdź takie M , że f (x) ¬ M g(x), 2 √ gdzie g(x) = exp(−x /2)/ 2π jest gęstością rozkładu normalnego. Możesz użyć funkcji optimise, aby znaleźć najmniejszą wartość M . • Oszacuj stałą normalizującą. • Porównaj histogram ze znormalizowaną gęstością. Rozkłady warunkowe: • X ma dystrybuantę F , • Chcemy wygenerować X pod warunkiem a ¬ X ¬ b, • V = F (a) + (F (b) − F (a)) · U , gdzie U ∼ U[0, 1], • F −(V ) ma pożądany rozkład, Zadanie (Probabilistyka, A. i E. Plucińscy, str. 228, Zadanie 15). Twierdzenie (Probabilistyka, A. i E. Plucińscy, str. 223, Twierdzenie Lapunowa 4.9). Niech {Xn} będzie ciągiem niezależnych zmiennych losowych i niech dla n = 1, 2, . . . będzie σn2 = E((Xn − mn)2) > 0, bn = E(|Xn − mn|3), r √ Cn = σ12 + · · · + σn2 , Bn = 3 b1 + · · · + bn, mn = E(Xn), n 1 X (Xk − mk ), Un = Cn k=1 Fn(u) = P (Un < u). n Jeśli limn→∞ B Cn = 0, to dla każdego u 1 Z u −x2/2 √ lim F (u) = e dx, n→∞ n 2π −∞ czyli ciąg losowy {Un} jest zbieżny według dystrybuant do zmiennej losowej o rozkładzie normalnym N (0, 1). Proces Wienera • W0 = 0 p.n., trajektorie t 7→ Wt są ciągłe p.n. • przyrosty Wt1 , Wt2 − Wt1 , . . . , Wtn − Wtn−1 są niezależne, • Wt − Ws ∼ N (0, t − s), 0 ¬ s ¬ t, Symulacja trajektorii procesu Wienera • Chcemy symulować wartości (W (t1), . . . , W (tn)) w ustalonym zbiorze punktów 0 < t1 < · · · < tn. • Niech Z1, . . . , Zn będą niezależnymi zmiennymi losowymi N (0, 1), • Dla standardowego ruchu Browna W (0) = 0 oraz √ W (ti+1) − W (ti) = ti+1 − ti · Zi+1, i = 0, . . . , n − 1. 0.0 0.2 0.4 0.6 time 0.8 1.0 −2.0 −1.5 −1.0 −0.5 BM 0.0 0.5 Wielowymiarowy proces Wienera • Proces W (t) = (W1(t), . . . , Wd(t)) jest standardowym d-wymiarowym ruchem Browna , gdy jego współrzędne Wi(t) są standardowymi jednowymiarowymi ruchami Browna oraz Wi i Wj są niezależne dla i 6= j. • Niech µ ∈ Rd oraz Σ ∈ Rd×d będzie dodatnio określoną macierzą. Proces X nazywamy ruchem Browna z dryfem µ i kowariancją Σ, jeśli X ma ciągłe trajektorie o niezależnych przyrostach X(t + s) − X(s) ∼ N (tµ, tΣ). Proces X 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 N (δtµ, δtΣ), a jeśli δt jest ustalone problem redukuje się do losowania z rozkładu N (µ, Σ) (co już potrafimy). 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 • Jeśli X ∼ U[0, 1] oraz h : [0, 1] → R, to wartość oczekiwana zmiennej h(X) jest równa całce: Z 1 E[h(X)] = I(h) = 0 h(x) dx. • Podobnie w przypadku wielowymiarowym: X ∼ U[0, 1]d oraz h : [0, 1]d → R E[h(X)] = I(h) = Z [0,1]d h(x) dx. • Z drugiej strony, przyjmując 1 IN (h) = N N X n=1 h(xn), gdzie xn są niezależnymi realizacjami X, mamy E[IN (h)] = E[h(X)] = I(h) (nieobciążoność) oraz z MPWL lim IN (h) = E[h(X)] = I(h). N →∞ • Ponadto Var(IN (h)) = N 1 X 1 Var h(x ) = Var h(X). k N 2 k=1 N • 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(N ) ⇒ jeśli chcemy zwiększyć dokładność 10-krotnie, musimy zwiekszyć ilość próbek i czas obliczeń 100-krotnie. Model Blacka-Scholesa (1973) Ceny akcji modeluje geometryczny proces Wienera: St = S0 exp (µ − 1 2 2 σ )t + σWt , lub równoważnie: ln(St) = ln(S0) + (µ − 12 σ 2)t + σWt, 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 St ma rozkład lognormalny, tzn. zmienna ln(St) ma rozkład normalny. Wzory Blacka-Scholesa • Cena europejskiej opcji kupna: C = StΦ(d1(St, τ )) − Ke−rτ )Φ(d2(St, τ )), • Cena europejskiej opcji sprzedaży: P = Ke−rτ Φ(−d2(St, τ )) − StΦ(−d1(St, τ )), • gdzie τ = T − t, funkcja Φ jest dystrybuantą standardowego rozkładu normalnego oraz ln(s/K) + (r + σ 2/2)τ √ d1(s, τ ) = , σ τ √ ln(s/K) + (r − σ 2/2)τ √ d2(s, τ ) = d1(s, τ ) − σ τ = . σ τ • Uwaga: cena opcji nie zależy od µ. Wycena opcji niezależnych od trajektorii • Instrumenty finansowe wyceniamy korzystajac z wzoru Π0(X) = B0EQ[X/BT ], gdzie Q jest miarą neutralną wobec ryzyka, Bt – ceną w chwili t instrumentu wolnego od ryzyka (numeraire) oraz X jest wypłatą z danego instrumentu w chwili T . • Cena akcji w modelu Blacka-Scholesa względem miary neutralnej wobec ryzyka, dane są wzorem: 1 St = S0 exp (r − σ 2)t + σWt . 2 • Zmienna losowa WT ma rozkład normalny o średniej 0 i wariancji T . √ • Możemy przyjąć WT = T Y , gdzie Y ∼ N (0, 1). • Wypłata z europejskiej opcji call wynosi X = f (ST ) = (ST − K)+, a dla europejskiej opcji put X = g(ST ) = (K − ST )+. gdzie K jest ceną wykonania. • Cena instrumetu wolnego od ryzyka (obligacja) to Bt = exp(rt), t ∈ [0, T ]. • Cenę opcji wyznaczamy jako wartość oczekiwaną V = EQ[f (ST )/BT ] = exp(−rT ) gdzie Z 1 0 f (ST )dU, √ 1 2 ST = S0 exp((r − σ )T + σ T Y ) 2 oraz Y = Φ−1(U ) ∼ N (0, 1), U ∼ U[0, 1]. • W praktyce: – Losujemy N niezależnych realizacji zmiennych o rozkładzie normalnym Y (1), . . . , Y (N ), (1) (N ) – Obliczamy ceny akcji w chwili wykonania ST , . . . , ST kolejno wylosowanych próbek, dla – Obliczamy zdyskontowane wypłaty z opcji: (1) (N ) exp(−rT )f (ST ), . . . , exp(−rT )f (ST ), – Wyznaczamy cenę opcji jako zdyskontowaną wartość oczekiwaną: 1 Π0(X) = N N X i=1 (i) exp(−rT )f (ST ). Zadanie. Oblicz ceny opcji dla r = 0.05, σ = 0.2, T = 1, S0 = 110, K = 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 N , tak by powyższy przedział miał szerokość 0.01. Wycena opcji zależnych od trajektorii • Dla t2 > t1 mamy 1 St2 = St1 exp (r − σ 2)(t2 − t1) + σ(Wt2 − Wt1 ) 2 (1) (N ) • Losujemy N niezależnych trajektorii ceny St,T , . . . , St,T na przedziale [t, T ], • Dla log-normalnego procesu ceny akcji i równoodległych chwil ti+1 − ti = δt, i = 0, . . . , n − 1, mamy Sti+1 √ 1 2 = Sti exp((r − σ )δt + σ δtZi), 2 gdzie Zi ∼ N (0, 1). • Obliczamy wypłatę V (n) na każdej trajektorii n = 1, . . . , N , • Ceną opcji jest Π0 = exp(−rT ) N1 PN n=1 V (n) . Przykład: opcja azjatycka (asian option) • Europejska opcja call na średnią cenę M akcji o wypłacie 1 X= T T X t=1 + St − K , gdzie St 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ę M akcji o wypłacie 1 X= M M X i=1 + ST,i − K , gdzie ST,i jest ceną i-tej akcji w chwili T . Redukcja wariancji • antithetic variables (metoda odbić lustrzanych) – Losujemy 2 próbki, X1 i X2, z tego samego rozkładu. – Wariancja wynosi h(X1) + h(X2) 1 = [Var(h(X1) + cov(h(X1), h(X2))], ε = Var 2 2 – Jeśli h(X1) i h(X2) są niezależne to ε = 21 Var(h(X1), – Jeśli h(X1) i h(X2) będą ujemnie skorelowane, to ε < 21 Var(h(X1), – Jeśli X1, X2 ∼ U[0, 1] ujemną korelację uzyskujemy przyjmując X2 = φ(X1), gdzie φ : [0, 1] → [0, 1] jest funkcją malejącą oraz φ(X1) ∼ U[0, 1]; 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, • control variate – Chcemy obliczyć E(X) (np. cena amerykańskiej opcji call), – Wiemy o zmiennej losowej Y , której E(Y ) znamy, a która jest w pewnym sensie bliska E(X) (np. cena europejskiej opcji call) – Przyjmujemy Z = X − Y + E(Y ), 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 x = IN (X), y = IN (Y ), model popełnia błąd ε = y − E(Y ) dla zmiennej Y , zakładamy, że dla zmiennej X popełnia ten sam błąd, lepsze oszacowanie dla X to: x − ε = x − y + E(Y ). – Metodę można „dostroić” ∗ dla θ ∈ R definiujemy Zθ = X + θ(E(Y ) − Y ) ∗ w dalszym ciągu E(Zθ ) = E(X) oraz Var(Zθ ) = Var(X) − 2θ cov(X, Y ) + θ2 Var(Y ) ) ∗ wariancja jest najmniejsza dla θmin = cov(X,Y Var(Y ) , ∗ wielkość cov(X, Y ) zwykle nie jest znana, ale można ją oszacować – metodą MC (nie jest potrzebna duża dokładność) • importance sampling (metodę najlepiej wyjaśnić na przykładzie) – chcemy wycenić opcję call (X = (ST − 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 F (x) = P (ST ¬ x), G(x) = P (ST ¬ x|ST > K) oraz k = P (ST > K) = 1 − F (K). Wówczas dla x K mamy G(x) = P (K<ST ¬x) P (ST >K) = P (ST ¬x)−P (ST ¬K) P (ST >K) = F (x)−1 k + 1. – Stąd G−1(u) = F −1(1 + k(u − 1)), u ∈ (0, 1). – Jeśli Z jest losowane z rozkładu o dystrybuancie G, to E[X] = P (ST ¬ K) · E[X|ST ¬ K] + P (ST > K) · E[X|ST > K] = = (1 − k) · 0 + k · E[Z] = k · E[Z]. – Podejście ogólne: zakładamy, że losowana zmienna pochodzi z rozkładu o gęstości f , – 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 Ef (h(X)) = Z h(x)f (x) dx = Z h(x) f (x) f (X) g(x) dx = Eg (h(X) ), g(x) g(X) a funkcja podcałkowa w ostatniej całce ma małą wariancję. Metody symulacji procesów stochastycznych • symulacja dokładnego rozwiązania, • symulacja z prawdopodobieństwa przejścia, • przybliżanie dynamiki, 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 X0 = x0, • Dla i = 1, . . . , N losujemy trajektorię (W (ti) oraz obliczamy Xi = G(ti, {W (t1), . . . , W (ti)}). Przykład: w modelu Blacka-Scholesa dS(t) = r dt + σ dW (t) rozwiązanie ma postać: S(t) = S(0) exp((r − σ 2/2)t + σW (t)). Symulacja z prawdopodobieństwa przejścia Możemy stosować, gdy znamy prawdopodobieństwa przejścia procesu między dwoma dowolnymi momentami czasu. • Ustalamy X0 = x0. • Dla i = 1, . . . , N losujemy Xi ∼ p(ti, · ; ti−1, Xi−1) (rozkład prawdopodobieństwa Xi w chwili ti pod warunkiem, że proces ma wartość Xi−1 w chwili ti−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ą µ(t; s, x) = β + e −α(t−s) (x − β), σ2 (1 − e−2α(t−s)). σ(t; s, x) = 2α 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 √ Xi+1 = Xi + µ(ti, Xi)∆t + σ(ti, Xi) ∆tZi gdzie Zi ∼ N (0, 1). • Ustalamy X0 = x0, • Dla i = 0, . . . , N − 1 losujemy Zi i obliczamy Xi+1 jak w (∗∗). • Otrzymane w schemacie Eulera rozwiązania są zbieżne do prawdziwego: ∀T > 0, ∃C = C(T ) E( sup |X N (t) − X(t)|2) ¬ C × ∆t. t∈[0,T ] (∗∗) • przyrosty czasu nie muszą być równe (∆t = ti+1 − ti). • dla Zi = 2Bi − 1, gdzie Bi mają rozkład Bernoulliego z p = 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ń: r dr(t) = α(µ − r(t)) dt + v(t) dWt1, r dv(t) = β(µ̄ − v(t)) dt + σ v(t) dWt2 gdzie r jest modelowaną stopą procentową, a v jej ciągłą zmiennością. Dyskretyzacja ma postać: √ ri+1 = ri + α(µ − ri)∆t + vi∆tZi1, √ vi+1 = vi + β(µ̄ − vi)∆t + σ vi∆tZi2 gdzie (Zi1, Zi2) ∼ N (0, Σi), a Σi = cov(dW 1, dW 2). Literatura [1] R. Seydel, Tools for Computational Finance, Springer 2006. [2] G. Fusai, A. Roncoroni, Implementing Models in Quantative Finance: Methods 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.