MATLAB Language
Applicazioni finanziarie
Ricerca…
Camminata casuale
Di seguito è riportato un esempio che visualizza 5 percorsi casuali monodimensionali di 200 passaggi:
y = cumsum(rand(200,5) - 0.5);
plot(y)
legend('1', '2', '3', '4', '5')
title('random walks')
Nel codice precedente, y
è una matrice di 5 colonne, ciascuna della lunghezza 200. Poiché x
è omesso, per impostazione predefinita i numeri di riga di y
(equivalente all'utilizzo di x=1:200
come asse x). In questo modo la funzione di plot
traccia più vettori di Y contro lo stesso vettore x, ognuno con un colore diverso automaticamente.
Moto mariano geometrico univariato
Le dinamiche del Geometric Brownian Motion (GBM) sono descritte dalla seguente equazione differenziale stocastica (SDE):
Posso usare la soluzione esatta per l'SDE
per generare percorsi che seguono un GBM.
Dati parametri giornalieri per una simulazione di un anno
mu = 0.08/250;
sigma = 0.25/sqrt(250);
dt = 1/250;
npaths = 100;
nsteps = 250;
S0 = 23.2;
possiamo ottenere il Brownian Motion (BM) W
partire da 0 e usarlo per ottenere il GBM a partire da 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);
Che produce i percorsi
plot(Y)