Z Skrypty dla studentów Ekonofizyki UPGOW
(→Geometryczny proces Wienera) |
(→Geometryczny proces Wienera) |
||
Linia 6: | Linia 6: | ||
- | Część deterministyczna część tego równania jest liniowa | + | Część deterministyczna część tego równania jest liniowa, podobnie jak w przypadku [[Ornsteina-Uhlenbecka]]. Rozwiązanie dla przypadku <math>\sigma=0</math> wyraża się w postaci eksponencjalnej |
<math>x(t)\simeq e^{\mu t}</math>, | <math>x(t)\simeq e^{\mu t}</math>, | ||
- | + | 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 <math>\sigma X(t) d W(t)</math> 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: | |
- | + | ||
- | Człon stochastyczny jest proporcjonalny o wartości procesu, czyli mamy do czynienia z "szumem multiplikatywnym". | + | |
+ | <source lang='matlab'> | ||
+ | x(:,i)=x(:,i-1) + mu*x(:,i-1)*h + sigma*sqrt(h)*x(:,i-1).*normrnd (0,1,M,1); | ||
+ | </source> | ||
Wersja z 14:35, 8 maj 2010
Geometryczny proces Wienera
Geometryczny proces Wienera jest procesem losowym, który jest rozwiązaniem równania stochastycznego Ito:
\(dX(t) = \mu X(t) dt + \sigma X(t) d W(t)\,\).
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}\),
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);
\(f_y(y)=\frac{f_x(x_1)}{|g'(x_1)|}+...+ \frac{f_x(x_n)}{|g'(x_n)|}\)
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-')
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