Matrix Loop and Labelling
16 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Joe Bannen
am 30 Mai 2018
Kommentiert: Joe Bannen
am 31 Mai 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
0 Kommentare
Akzeptierte Antwort
dpb
am 30 Mai 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')
...
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!