Matrix Loop and Labelling

14 visualizaciones (últimos 30 días)
Joe Bannen
Joe Bannen el 30 de Mayo de 2018
Comentada: Joe Bannen el 31 de Mayo de 2018
Hi
I am trying to generate paths for stock prices via Brownian Motion. The code works okay (I hope!), but I can't get it to output correctly:
mu=0.10;
sigma=0.05;
N=5; % Number of time steps
NSim=3; % Number of simulations
dt=sigma/sqrt(N);
S=zeros(NSim,N+1);
S0=100;
S(:,1)=100; % initial value
for k=1:NSim
for i=2:N+1
epsilon=randn;
S(k,i)=S(k,i-1)+S(k,i-1)*(mu*dt+sigma*epsilon*sqrt(dt));
end
end
plot(S')
xlim([0 N+1]);
xlabel('Trading Days');
ylabel('Simulated Asset Price (£)');
However, the plot starts at 1 and finishes at 6. How can I make it start at 0 and stop at 5?
I think something has gone wrong with my loops!
Cheers
Joe

Respuesta aceptada

dpb
dpb el 30 de Mayo de 2018
You didn't supply an x to PLOT() so it plots versus ordinal number...
...
x=[0:N].'; % define range of x axis
plot(x,S')
...
  1 comentario
Joe Bannen
Joe Bannen el 31 de Mayo de 2018
Brilliant!
Many thanks
Joe

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by