Recursion, stock simulation

I am new to Matlab, could you help me out with automating this process:
S_1 = S_0*(1+r*dt+sigma*a*normrnd(0,1))
S_2 = S_1*(1+r*dt+sigma*a*normrnd(0,1))
S_3 = S_2*(1+r*dt+sigma*a*normrnd(0,1)) ... ... ...
Thanks

1 comentario

José-Luis
José-Luis el 18 de Ag. de 2017
I would start by not using numbered variables and storing everything in an array.
After that, your problem becomes trivial.

Iniciar sesión para comentar.

Respuestas (1)

Jacob Ward
Jacob Ward el 6 de Sept. de 2017

0 votos

Instead of giving each variable a name with a different number, store all of these things in one array. So instead of S_0, S_1, S_2, and S_3, use one variable S that has 4 different elements which you can access like this: S(1),S(2),S(3), and S(4).
If you define your variables in this way, this problem becomes easy:
S(1) = constant;
for i = 2:n
S(i) = S(i-1)*(1+r*dt+sigma*a*normrnd(0,1))
end
Simply replace n with how many times you would like to perform the iteration and you are good to go.

Etiquetas

Preguntada:

N/A
el 18 de Ag. de 2017

Respondida:

el 6 de Sept. de 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by