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.

parcelle de marche aléatoire

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:

entrer la description de l'image ici

Je peux utiliser la solution exacte pour le SDE

entrer la description de l'image ici

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)

entrer la description de l'image ici



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow