MATLAB Language
Aplicaciones financieras
Buscar..
Caminata aleatoria
El siguiente es un ejemplo que muestra 5 recorridos aleatorios unidimensionales de 200 pasos:
y = cumsum(rand(200,5) - 0.5);
plot(y)
legend('1', '2', '3', '4', '5')
title('random walks')
En el código anterior, y
es una matriz de 5 columnas, cada una de 200 de longitud. Como se omite x
, el valor predeterminado es los números de fila de y
(equivalente a usar x=1:200
como el eje x). De esta manera, la función de plot
traza múltiples vectores y contra el mismo vector x, cada uno usando un color diferente automáticamente.
Movimiento Browniano Geométrico Univariable
La dinámica del Movimiento Browniano Geométrico (GBM) se describe mediante la siguiente ecuación diferencial estocástica (SDE):
Puedo usar la solución exacta para el SDE
para generar rutas que siguen un GBM.
Dados parámetros diarios para una simulación de un año.
mu = 0.08/250;
sigma = 0.25/sqrt(250);
dt = 1/250;
npaths = 100;
nsteps = 250;
S0 = 23.2;
podemos obtener el Brownian Motion (BM) W
partir de 0 y utilizarlo para obtener el GBM a partir de 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);
Lo que produce los caminos.
plot(Y)