Zoeken…


Willekeurige wandeling

Het volgende is een voorbeeld dat 5 eendimensionale willekeurige wandelingen van 200 stappen weergeeft:

y = cumsum(rand(200,5) - 0.5);

plot(y)
legend('1', '2', '3', '4', '5')
title('random walks')

In de bovenstaande code is y een matrix van 5 kolommen, elk met een lengte van 200. Omdat x wordt weggelaten, wordt standaard de rijnummers van y (equivalent aan het gebruik van x=1:200 als de x-as). Op deze manier plot plotfunctie meerdere y-vectoren tegen dezelfde x-vector, elk automatisch met een andere kleur.

willekeurige wandelingen plot

Univariate geometrische Brownse beweging

De dynamiek van de Geometrische Brownse beweging (GBM) wordt beschreven door de volgende stochastische differentiaalvergelijking (SDE):

voer hier de afbeeldingsbeschrijving in

Ik kan de exacte oplossing voor de SDE gebruiken

voer hier de afbeeldingsbeschrijving in

om paden te genereren die een GBM volgen.


Gegeven dagelijkse parameters voor een simulatie van een jaar

mu     = 0.08/250;
sigma  = 0.25/sqrt(250);
dt     = 1/250;
npaths = 100;
nsteps = 250;
S0     = 23.2;

we kunnen de Brownian Motion (BM) W vanaf 0 en deze gebruiken om de GBM te verkrijgen vanaf 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);

Dat levert de paden op

plot(Y)

voer hier de afbeeldingsbeschrijving in



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow