/* Brownian Motion Process */ new; cls; mu=0.1; sig=0.3; X0=50; T=1; n=252; X=X0|bm(mu,sig,X0,T,n); library pgraph; graphset; xy(seqa(0,T/n,n+1),X); proc bm(mu,sig,X0,T,n); local delt,Z,X,i; delt=T/n; Z=rndn(n,1); X=zeros(n,1); X[1]=X0+mu*delt+sig*sqrt(delt)*Z[1]; i=1; do while i<=n-1; X[i+1]=X[i]+mu*delt+sig*sqrt(delt)*Z[i+1]; i=i+1; endo; retp(X); endp;