MATLAB Language
Aplikacje finansowe
Szukaj…
Losowy spacer
Oto przykład, który wyświetla 5 jednowymiarowych losowych spacerów po 200 kroków:
y = cumsum(rand(200,5) - 0.5);
plot(y)
legend('1', '2', '3', '4', '5')
title('random walks')
W powyższym kodzie y
jest matrycą 5 kolumn, każda o długości 200. Ponieważ x
jest pominięte, domyślnie przyjmuje numery wierszy y
(równoważne użyciu x=1:200
jako osi x). W ten sposób funkcja plot
wykreśla wiele wektorów y względem tego samego wektora x, każdy automatycznie używa innego koloru.
Jednorodny geometryczny ruch Browna
Dynamikę geometrycznego ruchu Browna (GBM) opisuje następujące równanie różniczkowe stochastyczne (SDE):
Mogę użyć dokładnego rozwiązania SDE
do generowania ścieżek zgodnych z GBM.
Podane parametry dzienne dla rocznej symulacji
mu = 0.08/250;
sigma = 0.25/sqrt(250);
dt = 1/250;
npaths = 100;
nsteps = 250;
S0 = 23.2;
możemy uzyskać ruch Browna (BM) W
zaczynający się od 0 i użyć go do uzyskania GBM począwszy od 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);
Który tworzy ścieżki
plot(Y)
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow