Matrix Loop and Labelling

2 visualizzazioni (ultimi 30 giorni)
Joe Bannen
Joe Bannen il 30 Mag 2018
Commentato: Joe Bannen il 31 Mag 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

Risposta accettata

dpb
dpb il 30 Mag 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')
...

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by