Z Skrypty dla studentów Ekonofizyki UPGOW
m (→Rozwiązanie analityczne) |
m (→Rozwiązanie analityczne) |
||
Linia 56: | Linia 56: | ||
<math>d \log(X(t)) = (\mu-\frac{1}{2}\sigma^2) dt + \sigma d W(t)\,</math>. | <math>d \log(X(t)) = (\mu-\frac{1}{2}\sigma^2) dt + \sigma d W(t)\,</math>. | ||
- | Tak więc geometryczny proces Wienera jest równoważny procesowi Wienera z dryfem dla log(X(t)). Gęstośc pradwopodobieństwo przejścia ze stanu <math>x(t_0)</math> do <math>x(t)</math> w czasie <math>t-t_0</math> dla procesu Wienera z dryfem <math>Y(t)=log(X(t))</math> wynosi: | + | Tak więc geometryczny proces Wienera jest równoważny procesowi Wienera z dryfem dla <math>log(X(t))</math>. Gęstośc pradwopodobieństwo przejścia ze stanu <math>x(t_0)</math> do <math>x(t)</math> w czasie <math>t-t_0</math> dla procesu Wienera z dryfem <math>Y(t)=log(X(t))</math> wynosi: |
+ | |||
<math>P_y(y,t|y_0,t_0)= \frac{1}{\sqrt{2\pi\sigma^2 t}} e^{-\displaystyle\frac{(y-(\mu-1/2\sigma^2)^2}{2\sigma^2t}}</math> | <math>P_y(y,t|y_0,t_0)= \frac{1}{\sqrt{2\pi\sigma^2 t}} e^{-\displaystyle\frac{(y-(\mu-1/2\sigma^2)^2}{2\sigma^2t}}</math> | ||
+ | Korzystając ze reguł transformacji zmiennych losowych dla funkcji log, która jest różnowartościowa: | ||
+ | <math>P_y(y)=\frac{P_x(x)}{|g'(x)|}</math> | ||
+ | mamy: | ||
+ | <math>P_x(x)= \frac{P_y(log(x))}{|x|}</math> | ||
- | + | tak więc otrzymujemy formułę: | |
+ | :<math>P_x(x,t|x_0,t_0)= \frac{1}{\sqrt{2\pi\sigma^2 t x^2}} e^{-\displaystyle\frac{(log(x/x_0)-(\mu-1/2\sigma^2)^2}{2\sigma^2t}}</math> | ||
Wersja z 15:09, 8 maj 2010
Spis treści[ukryj] |
Geometryczny proces Wienera
Definicja
Geometryczny proces Wienera jest procesem losowym, który jest rozwiązaniem równania stochastycznego Ito:
.
Część deterministyczna część tego równania jest liniowa, podobnie jak w przypadku Ornsteina-Uhlenbecka. Rozwiązanie dla przypadku \sigma=0 wyraża się w postaci eksponencjalnej
x(t)\simeq e^{\mu t},
Symulacja numeryczna
Człon stochastyczny jest proporcjonalny o wartości procesu, czyli mamy do czynienia z tzw. "szumem multiplikatywnym". Ponieważ równanie jest w interpretacji Ito, moża je bezpośrednio rozwiązać numerycznie. Interpretacja Ito dla \sigma X(t) d W(t) oznacza, że w schemacie aproxymacyjnym bierzemy wartość procesu X(t) "przed skokiem". W takim przypadku możemy zastosować schemat numeryczny Eulera podobnie jak np. dla procesu Ornsteina-Uhlenbecka. Krok czasowy może być zapisany w postaci wektorowej jako:
x(:,i)=x(:,i-1) + mu*x(:,i-1)*h + sigma*sqrt(h)*x(:,i-1).*normrnd (0,1,M,1);
Jako warunek początkowy dla symulacji należy przyjąć wartość x>0. Łatwo zauważyć własność równania definiującego proces, że startując w x(0)=0 rozwiązaniem jest funkcja stała x(t)=0. Poniższy program generuje 20 trajektori geometrycznego procesu Wienera:
clear all close all N=400; M=20; T=14; h=T/N; clear x x=zeros(M,N); x(:,1)=1*ones(M,1); # log(1)=0 sigma=.1; mu=0.1; for i=2:N x(:,i)=x(:,i-1) + mu*x(:,i-1)*h + sigma*sqrt(h)*x(:,i-1).*normrnd (0,1,M,1); endfor plot((1:N)*h,x,'r-')
Rozwiązanie analityczne
Równanie definiujące geometryczny proces Wienera można przetransformować do równania na proces Wienera z dryfem. Transformacją jest:
Y=\log(X).
Łatwo to zauważyć dzieląc równanie przez x(t) i korzystając z faktu, że
d log(X)= dX/X
i korzystając z formuły Ito na dla funkcji log(x) otrzymujemy:
otrzymujemy:
d \log(X(t)) = (\mu-\frac{1}{2}\sigma^2) dt + \sigma d W(t)\,.
Tak więc geometryczny proces Wienera jest równoważny procesowi Wienera z dryfem dla log(X(t)). Gęstośc pradwopodobieństwo przejścia ze stanu x(t_0) do x(t) w czasie t-t_0 dla procesu Wienera z dryfem Y(t)=log(X(t)) wynosi:
P_y(y,t|y_0,t_0)= \frac{1}{\sqrt{2\pi\sigma^2 t}} e^{-\displaystyle\frac{(y-(\mu-1/2\sigma^2)^2}{2\sigma^2t}}
Korzystając ze reguł transformacji zmiennych losowych dla funkcji log, która jest różnowartościowa:
P_y(y)=\frac{P_x(x)}{|g'(x)|}
mamy:
P_x(x)= \frac{P_y(log(x))}{|x|}
tak więc otrzymujemy formułę:
P_x(x,t|x_0,t_0)= \frac{1}{\sqrt{2\pi\sigma^2 t x^2}} e^{-\displaystyle\frac{(log(x/x_0)-(\mu-1/2\sigma^2)^2}{2\sigma^2t}}

clear all close all N=100; M=20000; T=14; h=T/N; clear x x=zeros(M,N); x(:,1)=1*ones(M,1); # log(1)=0 sigma=.1; mu=0.1; for i=2:N x(:,i)=x(:,i-1) + mu*x(:,i-1)*h + sigma*sqrt(h)*x(:,i-1).*normrnd (0,1,M,1); endfor hold on for idx=1:4 n=5+(idx-1)*20; t=n/N*T xmax=5; h1=.1; hist(x(:,n),[0:h1:xmax],1/h1) fplot(@(xx) lognpdf(xx,(mu-0.5*sigma^2)*t,sigma*sqrt(t)),[0.0,xmax],200,'ro-') endfor hold off