Plotting graphs over each other for N iterations
    10 views (last 30 days)
  
       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
Answers (1)
  Gani
      
 on 21 Feb 2019
        
      Edited: Gani
      
 on 21 Feb 2019
  
      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
  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. 
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



