Plotting graphs over each other for N iterations
Show older comments
I have the follow code to model a brownian motion (from http://ac.aua.am/tigran_bunarjyan/Public/NA_Monte%20Carlo%20Presentation.pdf) but I want to plot for all the steps, ie have step=500; lines of brownian motions plotted on the same graph. I have read and watched so many tutorials but everything I have tried crashed matlab.
clear all
clc
S=100;
sigma=0.3;
T=1.2;
r=0.05;
step=500;
dt=T/step;
sqdt=sqrt(dt);
rr=randn(1, step);
St=S;
stockPrices=[];
ts=[];
stockPrices(1)=S;
ts(1)=0;
for st=1:step
St=St*(1+r*dt+sigma*sqdt*rr(1,st));
stockPrices(st+1)=St;
ts(st+1)=st;
end
%plot(ts,stockPrices)
title("Stock Price for Day =0...500");
xlabel=("Day");
ylabel=("Price");
3 Comments
Star Strider
on 21 Feb 2019
The link you posted gives:
404 - File or directory not found
Rena Berman
on 2 Apr 2019
(Answers Dev) Restored edit
Answers (1)
Check this.
clear all
clc
S=100;
sigma=0.3;
T=1.2;
r=0.05;
step=500;
dt=T/step;
sqdt=sqrt(dt);
rr=randn(1, step);
St=S;
stockPrices(1)=S;
ts= 1:step+1;
for st=1:step
St=St*(1+r*dt+sigma*sqdt*rr(1,st));
stockPrices(st+1)=St;
end
plot(ts,stockPrices)
title('Stock Price for Day =0...500');
xlabel('Day');
ylabel('Price');
2 Comments
Katie Brewer
on 21 Feb 2019
Gani
on 22 Feb 2019
In Mathworks File Exchange there are some Brownian Motion functions uploaded. You can use them. The graphs are in 3-D. You can modify it to 2D if necessary.
Categories
Find more on MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!