MATLAB Language
Applications financières
Recherche…
Random Walk
Voici un exemple qui affiche 5 marches aléatoires unidimensionnelles de 200 étapes:
y = cumsum(rand(200,5) - 0.5);
plot(y)
legend('1', '2', '3', '4', '5')
title('random walks')
Dans le code ci-dessus, y
est une matrice de 5 colonnes, chacune de longueur 200. Étant donné que x
est omis, la valeur par défaut est le nombre de lignes de y
(équivalent à l'utilisation de x=1:200
comme axe des x). De cette manière, la fonction de plot
trace plusieurs vecteurs y sur le même vecteur x, chacun utilisant automatiquement une couleur différente.
Mouvement brownien géométrique univarié
La dynamique du mouvement brownien géométrique (GBM) est décrite par l’équation différentielle stochastique suivante:
Je peux utiliser la solution exacte pour le SDE
générer des chemins qui suivent un GBM.
Compte tenu des paramètres quotidiens pour une simulation d'un an
mu = 0.08/250;
sigma = 0.25/sqrt(250);
dt = 1/250;
npaths = 100;
nsteps = 250;
S0 = 23.2;
on peut obtenir le mouvement brownien (BM) W
partir de 0 et l'utiliser pour obtenir le GBM à 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);
Qui produit les chemins
plot(Y)