0} sa nazýva Wienerov proces, ak
) - W(t)
majú normálne rozdelenie s nulovou strednou hodnotou a s disperziou
,
t1
...
tn sú prírastky
Wti+1 - Wti nezávislé náhodné premenné s parametrami podľa predchádzajúceho bodu,
,2
, . . ., kde
je dostatočne malý časový krok.
, (k + 1)
] je náhodná premenná s nulovou strednou hodnotou
a varianciou
.
%------------------------------- % SIMULACIA WIENEROVHO PROCESU %------------------------------- T=1; % do casu T dt=0.001; % casovy krok dt t=(0:dt:T); % vektor casov, v ktorych generujeme hodnoty procesu n=length(t); w(1)=0; % Wienerov proces zacina z nuly for i=1:n-1 % prvu hodnotu mame, potrebujeme zvysnych n-1 dw=sqrt(dt)*randn; % prirastok dw; randn ~ N(0,1) => dw ~ N(0,dt) w(i+1)=w(i)+dw; % nova hodnota = povodna + prirastok end; plot(t,w); % vykreslime priebeh
%---------------------------------- % SIMULACIA WIENEROVHO PROCESU II. %---------------------------------- T=1; % do casu T dt=0.001; % casovy krok dt t=(0:dt:T); % vektor casov, v ktorych generujeme hodnoty procesu n=length(t); dw=sqrt(dt)*randn(n-1,1); % vektor prirastkov - nezavisle N(0,dt) w=[0;cumsum(dw)]; % zaciname z nuly, dalej kumulativne sucty dw plot(t,w); % vykreslime priebeh
Ak je parameter
nulový, grafom je priamka. Pre nenulovú hodnotu
sa k tomuto lineárnemu trendu pridávajú náhodné fluktuácie.
s=load('goog.txt');
dt=1/252; % denne data, cas sa v modeli pocita v rokoch
Priebeh ceny je nasledovný:
n=length(s); for i=1:n-1 v(i)=log(s(i+1)/s(i)); end; % alebo vektorovo namiesto cyklu: % v=log(s(2:n)./s(1:n-1));
a
miDelta=mean(v); % odhad mi*dt s2Delta=var(v); % odhad (sigma^2)*dt
a
:
mi=miDelta/dt; % odhad parametra mi sigma=sqrt(s2Delta/dt); % odhad parametra sigma
>> mi
mi =
0.3225
>> sigma
sigma =
0.2877
a že derivát má v čase expirácie T hodnotu
.
(resp. odúročená stredná hodnota, ak úroková miera nie je nulová). Derivát nie je jednoduchá "stávka", v ktorej dostaneme
, pričom S má určité pravdepodobnostné rozdelenie. Máme totiž možnosť obchodovať aj so samotnou akciou.
máme
, kde r je bezriziková úroková miera. Volatilita
zostáva rovnaká.
platí:
:
% PARAMETRE mi=0.35; % parameter z geom. BP sigma=0.30; % parameter z geom. BP s0=150; % aktualna cena akcie E=175; % expiracna cena opcie tau=1/2; % tau = T-t = cas do expiracie, t.j. pol roka r=0.01 % bezrizikova urokova miera, t.j. 1 percento
Z=randn; % N(0,1) wT=sqrt(tau)*Z; % Wienerov proces v case T % v RN miere, preto "r-0.5*sigma^2" namiesto "mi" sT=s0*exp((r-0.5*sigma^2)*tau+sigma*wT); % akcia v case T vT=max(0,sT-E); % opcia v case T
N=10000; % pocet simulacii sum=0; % pomocna premenna na vypocet priemeru for i=1:N % ------------------------- % z predchadzajuceho bodu: Z=randn; wT=sqrt(tau)*Z; sT=s0*exp((r-0.5*sigma^2)*tau+sigma*wT); vT=max(0,sT-E); % ------------------------- sum=sum+vT; priemer=sum/i; % priemer z prvych i hodnot cena(i)=exp(-r*tau)*priemer; % aprox. na zaklade prvych i hodnot end;
plot(cena); hold on; vPresne=4.8572; plot(vPresne*ones(1,N),'r');Ukážka výstupu:
t), t. j. maximum Wienerovho procesu na intervale [0,t].
.
= 0.30,
= 0.25
a že dnešná cena akcie je 150 USD.