Matematyka finansowa w pakiecie Matlab Wykład 6. Wycena opcji — modele ciągłe, metoda Monte Carlo Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK Kurs letni dla studentów studiów zamawianych na kierunku „Matematyka w ekonomii i finansach” Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 1/31 Ciągłe modele rynku Dotychczas rozważaliśmy dyskretne modele rynku. Transakcji można było dokonywać tylko w określonych momentach, a ceny instrumentów zmieniały się w sposób skokowy. Modele dyskretne są jednak tylko pewnym przybliżeniem prawdziwego rynku. Wykresy cen akcji, które znamy z gazet i telewizji nie przypominają wykorzystywanych przez nas drzewek dwumianowych. W rzeczywistości ceny zmieniają się w sposób ciągły, a nie skokowy. Wiemy też, że transakcje na giełdzie mogą być wykonywane w dowolnej chwili, a nie np. tylko o pełnych godzinach. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 2/31 Proces Wienera Głównym narzędziem wykorzystywanym do modelowania ewolucji cen akcji są procesy stochastyczne. Procesem stochastycznym nazywamy rodzinę zmiennych losowych {Xt }t∈T określonych na wspólnej przestrzeni probabilistycznej. Najczęściej parametr t interpretujemy jako czas, a T = R+ lub T = [0, T ]. Jednym z najważniejszych procesów stochastycznych jest proces Wienera nazywany także ruchem Browna. Proces Wienera to proces określony na przestrzeni probabilistycznej (Ω, F, P) spełniający następujące warunki: proces startuje z 0, tzn. W0 = 0 z prawdopodobieństwem 1, jest procesem o przyrostach niezależnych, tzn. Wt − Ws i Wv − Wu są niezależnymi zmiennymi losowymi dla 0 < s < t < u < v , jego przyrosty mają rozkład normalny Wt − Ws ∼ N (0, t − s) dla wszystkich 0 < s < t, jest procesem o ciągłych trajektoriach. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 3/31 Modelowanie ceny akcji W 1900 roku Louis Bachelier w swojej rozprawie doktorskiej Théorie de la spéculation zaproponował, żeby cenę akcji modelować za pomocą procesu postaci St = S0 + µt + σWt , gdzie µ ∈ R, σ > 0, a Wt jest procesem Wienera. Praca Bacheliera była bardzo nowatorska i została doceniona dopiero po wielu latach. W 1965 roku Paul Samuelson, zaproponował żeby do modelowania cen akcji wykorzystać geometryczny proces Wienera, tzn. proces określony wzorem 1 2 St = S0 exp µ − σ t + σWt , 2 gdzie µ ∈ R, σ > 0, a Wt jest procesem Wienera. Współczynnik µ nazywamy dryfem, odzwierciedla on pewne stałe tendencje zmian akcji, współczynnik σ określa zmienność cen akcji. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 4/31 Model Blacka-Scholesa Rozważmy rynek idealny, na którym funkcjonuje jeden instrument ryzykowny (akcja) o cenie zadanej wzorem 1 St = S0 exp µ − σ 2 t + σWt , 2 oraz jeden instrument pozbawiony ryzyka (obligacja, rachunek bankowy) o cenie Bt = e rt , gdzie r > 0. Model ten nazywamy modelem Blacka-Scholesa. Jego nazwa pochodzi od Fishera Blacka i Myrona Scholesa, którzy w 1973 roku podali wzór na cenę sprawiedliwą europejskiej opcji kupna w tym modelu i skonstruowali odpowiednią strategię zabezpieczającą. W tym samym roku Robert C. Merton uogólnił ten wzór na przypadek akcji wypłacającej dywidendę. W 1997 roku Scholes i Merton otrzymali za te wyniki Nagrodę Nobla w dziedzinie ekonomii (Black zmarł w 1995 roku). Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 5/31 Wzór Blacka-Scholesa Black i Scholes pokazali, że cena sprawiedliwa w chwili t 6 T europejskiej opcji kupna o cenie wykonania K i terminie wykonania T (na akcję niepłacącą dywidendy) zadana jest wzorem: Ct = St Φ(d+ ) − Ke −r (T −t) Φ(d− ), (1) gdzie 2 ln St + (r + σ2 )(T − t) √ , d+ = K σ T −t 2 ln St + (r − σ2 )(T − t) √ d− = K , σ T −t a Φ(x) jest wartością dystrybuanty standardowego rozkładu normalnego w punkcie x. Wzór ten nazywamy wzorem Blacka-Scholesa. Korzystając z parytetu kupna-sprzedaży, możemy łatwo otrzymać wzór na cenę europejskiej opcji sprzedaży Pt = −St Φ(−d+ ) + Ke −r (T −t) Φ(−d− ), Zauważmy, że ceny opcji kupna ani opcji sprzedaży nie zależą od dryfu µ. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 6/31 Wzór Blacka-Scholesa Wzór Blacka-Scholesa można wyprowadzić różnymi metodami. Black i Scholes doszli do niego, rozwiązując pewne równanie różniczkowe cząstkowe Alternatywne podejście polega na skonstruowaniu pewnej miary probabilistycznej Q nazywanej miarą martyngałową, takiej, że cena instrumentu finansowego jest zdyskontowaną wartością oczekiwaną funkcji wypłaty tego instrumentu względem miary Q, tzn: C0 = e −rT E Q f (ST ). Miara taka istnieje, jeżeli na rynku nie ma możliwości arbitrażu. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 7/31 Wzór Blacka-Scholesa Dynamikę ceny akcji względem miary Q opisuje wzór 1 2 St = S0 exp r − σ t + σ W̃t , 2 gdzie W̃t jest procesem Wienera względem miary Q. Dryf µ został zastąpiony przez wolną od ryzyka stopę procentową r . Cena europejskiej opcji kupna wynosi więc: C0 = e −rT E Q (ST − K )+ + 1 2 −rT Q =e E S0 exp r − σ T + σ W̃T − K . 2 W powyższym wzorze tylko W̃T jest zmienną losową, pozostałe wielkości są deterministyczne. Ponieważ W̃T ∼ N (0, T ), to wykonując kilka standardowych przekształceń, możemy otrzymać wzór Blacka-Scholesa. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 8/31 Cena opcji lookback w modelu Blacka-Scholesa W przypadku, gdy funkcja wypłaty ma bardziej skomplikowaną postać, wyprowadzenie wzoru na cenę instrumentu staje się trudne. Rozważmy na przykład europejską opcję kupna typu lookback o funkcji wypłaty fT (St ) = (ST − mint∈[0,T ] St )+ . Wówczas wzór na cenę sprawiedliwą przyjmuje postać: ln(St /m) + r+ (T − t) ln(m/St ) − r+ (T − t) σ2 √ √ Ct =St Φ − St Φ 2r σ T −t σ T −t ln(St /m) + r− (T − t) −r (T −t) √ − me Φ σ T −t 2(T −t)σ−2 2 m ln(m/St ) + r− (T − t) −r (T −t) σ √ + St e , 2r St σ T −t gdzie m = mint∈[0,T ] St , r+ = r + 12 σ 2 , r− = r − 21 σ 2 . Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 9/31 Model Blacka-Scholesa w Matlabie Pakiet Financial Derivatives Toolbox zawiera funkcję pozwalającą wyznaczać ceny europejskich opcji kupna i sprzedaży w modelu BlackaScholesa. Price = optstockbybls(RateSpec, StockSpec, Settle, Maturity, OptSpec, Strike) gdzie RateSpec — obiekt zawierający strukturę opisującą ewolucję stopy procentowej, tworzymy ją za pomocą funkcji intenvset, StockSpec — struktura opisująca parametry akcji, tworzymy ją za pomocą funkcji stockspec, Settle — termin wyceny opcji, Maturity — termin wygaśnięcia opcji, OptSpec — typ opcji: ’Call’ lub ’Put’, Strike — cena wykonania opcji. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 10/31 Model Blacka-Scholesa w Matlabie — przykład Załóżmy, że aktualna cena akcji (na dzień 1 lipca 2010) wynosi 100. Współczynnik zmienności σ = 0,2, a roczna stopa procentowa r = 0,1. Wyznaczymy cenę europejskiej opcji kupna o cenie wykonania K = 100 i terminie wykonania 1 lipca 2011. >> RateSpec = intenvset(’Compounding’, -1, ’Rates’, 0.1, ’StartDates’, ’1-Jul-2010’, ’EndDates’, ’1-Jul-2011’); >> StockSpec = stockspec(0.2, 100); >> Price = optstockbybls(RateSpec, StockSpec, ’1-Jul-2010’, ’1-Jul-2011’, ’Call’, 100) Price = 13.2697 Oprócz standardowych opcji kupna i sprzedaży możemy również wyceniać opcje binarne typu asset-or-nothing — funkcja assetbybls, lub typu cash-or-nothing — funkcja cashbybls. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 11/31 Model Blacka-Scholesa w Matlabie Omówione funkcje nie są zbyt proste w użyciu, wymagają wcześniejszego zdefiniowania struktur StockSpec i RateSpec. Pakiet Financial Toolbox zawiera funkcję blsprice, za pomocą której możemy wyznaczyć cenę opcji w bardziej przyjazny sposób. [Call, Put] = blsprice(Price, Strike, Rate, Time, Volatility, Yield) Price — cena początkowa instrumentu bazowego, Strike — cena wykonania opcji, Rate — roczna stopa procentowa, Time — czas do wygaśnięcia opcji (w latach), Volatility — zmienność instrumentu bazowego, Yield — parametr opcjonalny, jest to stopa dywidendy płaconej przez akcję (zakłada się, że dywidenda jest płacona w sposób ciągły). Funkcja zwraca ceny europejskich opcji kupna i sprzedaży. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 12/31 Model Blacka-Scholesa w Matlabie — przykład Sprawdźmy, czy blspricedaje taki sam wynik jak funkcja optstockbybls. > > [Call, Put] = blsprice(100, 100, 0.1, 1, 0.2) Call = 13.2697 Put = 3.7534 Widzimy, że cena opcji kupna jest identyczna jak poprzednio. Funkcja ta jest bardzo wygodna w użyciu, jeżeli okres między terminem kupna opcji a terminem wygaśnięcia wyraża się w pełnych latach lub w prostych ułamkach. Jeżeli te dwa terminy są dowolne, to warto się zastanowić, czy łatwiej będzie przeliczyć okres między nimi na lata, czy wykorzystać funkcję optstockbybls. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 13/31 Aproksymacja modelu ciągłego modelami dwumianowymi Poznaliśmy dwa modele wyceny opcji: dyskretny model Coxa-Rossa-Rubinsteina (CRR) oparty na drzewach dwumianowych oraz ciągły model Blacka-Scholesa (BS) oparty na geometrycznym procesie Wienera. Powstaje naturalne pytanie o związki między tymi modelami. Czy jeżeli będziemy zwiększali liczbę poziomów drzewa dwumianowego, to czy model CRR będzie w jakimś sensie zbiegał do modelu BS i cena opcji w modelu CRR będzie się zbliżać do ceny opcji w modelu BS? Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 14/31 Aproksymacja modelu ciągłego modelami dwumianowymi Rozważmy ciąg modeli CRR skonstruowany w następujący sposób. Dzielimy przedział czasu [0, T ] na n równych części i zakładamy, że transakcji możemy dokonywać tylko w chwilach tk = kT n dla k = 0, 1, . . . , n. Ustalmy r > 0 i σ > 0 i określamy rn , an i bn wzorami T 1 + rn = e r n , 1 + an = e 1 + bn = e −σ σ q q T n T n , . Zakładamy, że dynamikę cen instrumentu pozbawionego ryzyka opisują równania: Btn0 = B0n = 1, Btnj = Btnj−1 (1 + rn ). Nietrudno zauważyć, że dla wszystkich t ∈ [0, T ] lim Btn = e rt n→∞ Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 15/31 Aproksymacja modelu ciągłego modelami dwumianowymi Cena instrumentu ryzykownego wyraża się wzorem Stn0 = S0n = s > 0, Stnj = Stnj−1 Ujn , gdzie Ujn to niezależne zmienne losowe o rozkładzie dwupunktowym P(Ujn = 1 + bn ) = pn , P(Ujn = 1 + an ) = 1 − pn . Prawdopodobieństwo pn wzrostu ceny akcji zadajemy przez r n − an pn = . bn − an Wówczas, korzystając z centralnego twierdzenia granicznego, można pokazać, że dla wszystkich t ∈ [0, T ] ciąg Stn zbiega według rozkładu do σ2 St = S0 exp r− t + σZ , 2 gdzie Z ∼ N (0, t). Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 16/31 Aproksymacja modelu ciągłego modelami dwumianowymi Wynika stąd, że przy przejściu z n do nieskończoności ciąg modeli CRR zbiega (według rozkładu) do modelu Blacka-Scholesa. Korzystając z powyższych rozważań, możemy udowodnić, że jeżeli Ctn jest ceną sprawiedliwą europejskiej opcji kupna w n-tym modelu CRR, to cena ta zbiega do ceny określonej wzorem Blacka-Scholesa. Fakt ten jest również prawdziwy dla cen innych rodzajów opcji, w tym dla opcji zależnych od trajektorii. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 17/31 Potwierdzenie doświadczalne Spróbujemy potwierdzić doświadczalnie, że ceny w modelu CRR zbiegają (wraz ze wzrostem liczby poziomów drzewa) do cen w modelu BS. Umiemy już budować drzewa CRR i wyceniać opcje w oparciu o nie przy pomocy Matlaba. Możemy łatwo napisać funkcję > > MyCRRCallPrice(S0, K, r, t0, T, sigma, n) która będzie wyznaczać cenę europejskiej opcji kupna w oparciu o model CRR. Ostatni parametr tej funkcji określa liczbę poziomów drzewa (innymi słowy dokładność aproksymacji). Załóżmy, że S0 = 100 (na dzień 1 lipca 2010), σ = 0,15, a r = 0,1. Rozważmy europejska opcje kupna o cenie wykonania K = 90 i terminie wykonania T = 1 lipca 2011. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 18/31 Potwierdzenie doświadczalne Wyznaczmy najpierw prawdziwą cenę Blacka-Scholesa. > > blsprice(100, 90, 0.1, 1, 0.15) ans = 19.0947 Cena tej opcji w modelu CRR dla n = 10, 100, 1000 to > > MyCRRCallPrice(100, 90, 0.1, ’01-Jul-2010’, ’01-Jul-2011’, 0.15, 10) ans = 19.0601 > > MyCRRCallPrice(100, 90, 0.1, ’01-Jul-2010’, ’01-Jul-2011’, 0.15, 100) ans = 19.0984 > > MyCRRCallPrice(100, 90, 0.1, ’01-Jul-2010’, ’01-Jul-2011’, 0.15, 1000) ans = 19.0944 Bartosz Ziemkiewicz finansowa pakiecie Widzimy, że wraz ze wzrostem n Matematyka cena zbliża się wdo cenyMatlab 19/31 Potwierdzenie doświadczalne Widzimy, że wraz ze wzrostem n cena zbliża się do ceny Blacka-Scholesa. Dla n = 1000 błąd pojawia się dopiero na czwartym miejscu po przecinku. Zależność błędu od dokładności aproksymacji przedstawia rysunek. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 20/31 Metody Monte Carlo W przypadku opcji o skomplikowanej funkcji wypłaty, znalezienie ceny może być trudne niezależnie od tego, czy korzystamy z dwumianowego modelu CRR czy ciągłego modelu Blacka-Scholesa. Metodami Monte Carlo nazywamy klasę metod, które do numerycznego rozwiązywania złożonych zagadnień wykorzystują generowane komputerowo liczby pseudolosowe odpowiadające możliwym parametrom wejściowym badanego układu (opisanego modelem matematycznym). Idee tej metody przedstawili w latach 40. XX wieku naukowcy pracujący w laboratorium w Los Alamos przy projekcie Manhattan: Stanisław Ulam, John von Neumann, Enrico Fermi i Nicholas Metropolis. Metody Monte Carlo stosowane są w różnych dziedzinach, przy projektowaniu eksperymentów fizycznych (np. doświadczeń z cząstkami elementarnymi), modelowaniu procesów fizycznych (np. powstawania struktur we wszechświecie itp.), bądź zjawisk ekonomicznych. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 21/31 Metody Monte Carlo Nie ma jednej metody Monte Carlo. Nazwa ta opisuje szeroką klasę różnych metod. Ogólny schemat ich działania jest jednak podobny. Należy określić przestrzeń możliwych wyników doświadczenia, powtórzyć doświadczenie określoną liczbę razy, przeprowadzić odpowiednie obliczenia (deterministyczne) na wynikach poszczególnych doświadczeń, zebrać wyniki pojedynczych obliczeń i przedstawić końcowy rezultat. W matematyce metody Monte Carlo stosujemy między innymi do obliczania całek, w szczególności wielowymiarowych, w których obszar całkowania ma skomplikowany kształt. Pewnego rodzaju całką jest również wartość oczekiwana zmiennej losowej. Ideę działania metody Monte Carlo pokażemy właśnie na przykładzie obliczania wartości oczekiwanej. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 22/31 Metody Monte Carlo, a wartość oczekiwana Załóżmy , że mamy całkowalną zmienną losową X i chcemy wyznaczyć jej wartość oczekiwaną EX . Jeżeli umiemy wygenerować ciąg niezależnych zmiennych losowych X1 , X2 , . . . , Xn o takim samym rozkładzie jak rozkład zmiennej X , to z mocnego prawa wielkich liczb wynika, że X1 + X2 + . . . + Xn = EX . n→∞ n lim Oznacza, to że dobrym oszacowaniem wartości oczekiwanej jest średnia z pewnej (odpowiednio dużej) liczby elementów ciągu. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 23/31 Wycena opcji metodą Monte Carlo Pokazaliśmy wcześniej, że cena opcji w modelu Blacka-Scholesa jest zdyskontowaną wartością oczekiwaną jej funkcji wypłaty fT względem pewnej miary probabilistycznej Q, tzn. C0 = e −rT E Q fT (St ). Aby skorzystać z metody Monte Carlo, musimy wygenerować odpowiednio dużą liczbę trajektorii procesu ceny akcji St i obliczyć wartość funkcji wypłaty dla każdej z tych trajektorii. Na koniec obliczymy średnią wartość funkcji wypłaty i zdyskontujemy ją. Otrzymana wartość powinna być zbliżona do sprawiedliwej ceny opcji. Jakość tego przybliżenia zależy od liczby symulacji i jakości używanego generatora liczb losowych. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 24/31 Wycena opcji metodą Monte Carlo Nie jesteśmy w stanie wygenerować wartości procesu ceny akcji w każdym punkcie z przedziału [0, T ]. Możemy jedynie symulować go w skończonej liczbie punktów 0 = t0 < t1 < . . . < tn = T i przyjąć, że funkcja wypłaty zależy tylko od wartości cen akcji w tych punktach. Po przeprowadzeniu n symulacji cenę opcji wyznaczamy ze wzoru " n # X −rT 1 k k k C0 = e f (St0 , St1 , . . . , Stn ) . n k=1 Jest to kolejne potencjalne źródło niedokładności w wycenie. Jeżeli np. wypłata opcji zależy od maksymalnej ceny akcji w przedziale [0, T ], to może się zdarzyć, że cena osiąga maksimum w punkcie różnym od tych, w których symulujemy proces St . Należy więc odpowiednio dobrać odległości pomiędzy punktami t0 , t1 , . . . tn . Jeżeli będą zbyt duże, to wynik będzie niedokładny, jeżeli zbyt małe, to obliczenia będą trwały za długo. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 25/31 Wycena opcji metodą Monte Carlo Spróbujemy teraz wyznaczyć za pomocą metody Monte Carlo cenę europejskiej opcji kupna o funkcji wypłaty fT = (ST − K )+ . Przypomnijmy, że w modelu Blacka-Scholesa cenę akcji modelujemy za pomocą geometrycznego procesu Wienera, tzn. 1 2 St = S0 exp r − σ t + σWt , 2 gdzie Wt jest standardowym procesem Wienera względem miary Q. Pokazaliśmy wcześniej , że + 1 2 −rT Q C0 = e E S0 exp r − σ T + σWT − K . 2 Jedyną losową wielkością w tym wzorze jest WT . Z własności procesu Wienera wiemy, że WT ∼ N (0, T ). Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 26/31 Wycena opcji metodą Monte Carlo Cena europejskiej opcji kupna zależy tylko od ceny akcji w chwili T , nie musimy więc generować całej trajektorii procesu cen. Wystarczy generować wartości tego procesu w chwili T . Wystarczy więc wygenerować ciąg niezależnych zmiennych losowych X1 , X2 , . . . , Xn o takim samym rozkładzie N (0, T ) i wyznaczyć cenę opcji z wzoru: " n + # X 1 1 C0 = e −rT S0 exp r − σ 2 T + σXk − K . n 2 k=1 Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 27/31 Wycena opcji metodą Monte Carlo Oto prosta funkcja wyznaczająca ceny europejskiej opcji kupna o zadanych parametrach za pomocą metody Monte Carlo. function C = my_montecarlo(S0,K,r,T,sigma,n) % generujemy n zmiennych losowych o rozkładzie N(0,T) X = sqrt(T) * randn(1,n); % obliczamy wartosci funkcji wypłaty w chwili T % dla wszystkich wartosci zmiennej X f = max(S0*exp( (r-0.5*sigma^2) * T + sigma * X) - K,0); % obliczamy średnią wartość funkcji wypłaty i ją dyskont. C = exp(-r*T) * mean(f); Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 28/31 Wycena opcji metodą Monte Carlo Sprawdzimy działanie funkcji dla S0 = 100, K = 90, r = 0,1, T = 1 i σ = 0,15. Obliczymy najpierw dokładną cenę Blacka-Scholesa. > > blsprice(100, 90, 0.1, 1, 0.15) ans = 19.0947 Ustalmy liczbę symulacji n na 10 000 i wywołajmy kilka razy funkcję. > > my_montecarlo(100, 90, 0.1, 1, 0.15,10000) ans = 19.1307 > > my_montecarlo(100, 90, 0.1, 1, 0.15,10000) ans = 19.1841 > > my_montecarlo(100, 90, 0.1, 1, 0.15,10000) ans = 19.2360 Widzimy, że błąd wynosi około 0,1 – 0,15. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 29/31 Wycena opcji metodą Monte Carlo Spróbujmy zwiększyć liczbę symulacji do 1 000 000. > > my_montecarlo(100, 90, 0.1, 1, 0.15,1000000) ans = 19.1000 > > my_montecarlo(100, 90, 0.1, 1, 0.15,1000000) ans = 19.0843 > > my_montecarlo(100, 90, 0.1, 1, 0.15,1000000) ans = 19.1121 Po 100-krotnym zwiększeniu liczby symulacji błąd zmniejszył się około 10-krotnie do 0,01 – 0,02. Jest to charakterystyczna cecha metod Monte Carlo — n-krotne zwiększenie liczby symulacji powoduje około √ n-krotne zmniejszenie wielkości błędu. Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 30/31 Wycena opcji metodą Monte Carlo Spróbujemy teraz znaleźć cenę sprawiedliwą opcji typu lookback o funkcji wypłaty f (St ) = (ST − min St )+ . t∈[0,T ] Jest to opcja zależna od trajektorii i do wyznaczenia jej ceny będziemy potrzebować całych trajektorii procesu St . Wyznaczanie ceny możemy podzielić na kilka etapów: Piszemy funkcję generującą trajektorie procesu Wienera Wt . Korzystając z tej funkcji generujemy trajektorie procesu cen akcji. Dla każdej wygenerowanej trajektorii wyznaczamy wartość opcji w chwili T . Po wygenerowaniu liczby trajektorii obliczamy średnią wartość opcji. Dyskontujemy tę średnią i uzyskujemy cenę opcji (przybliżoną). Bartosz Ziemkiewicz Matematyka finansowa w pakiecie Matlab 31/31