MATLAB Language
Finansiella applikationer
Sök…
En spontan promenad
Följande är ett exempel som visar 5 endimensionella slumpmässiga promenader på 200 steg:
y = cumsum(rand(200,5) - 0.5);
plot(y)
legend('1', '2', '3', '4', '5')
title('random walks')
I koden ovan är y
en matris på 5 kolumner, vardera med längd 200. Eftersom x
är utelämnad, är det standardvärdena för y
(motsvarande att använda x=1:200
som x-axeln). På så sätt plot
plottar flera y-vektorer mot samma x-vektor, var och en använder automatiskt en annan färg.
Univariat geometrisk brownisk rörelse
Dynamiken i den geometriska browniska rörelsen (GBM) beskrivs med följande stokastiska differentiella ekvation (SDE):
Jag kan använda den exakta lösningen på SDE
för att generera sökvägar som följer en GBM.
Givet dagliga parametrar för en årslång simulering
mu = 0.08/250;
sigma = 0.25/sqrt(250);
dt = 1/250;
npaths = 100;
nsteps = 250;
S0 = 23.2;
vi kan få Brownian Motion (BM) W
från 0 och använda den för att få GBM från S0
% BM
epsilon = randn(nsteps, npaths);
W = [zeros(1,npaths); sqrt(dt)*cumsum(epsilon)];
% GBM
t = (0:nsteps)'*dt;
Y = bsxfun(@plus, (mu-0.5*sigma.^2)*t, sigma*W);
Y = S0*exp(Y);
Som producerar vägarna
plot(Y)
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow