getf("flot1d.sci");
// Diffusion de Black et Scholes
deff("y=mu0(t,x)","y=0");
deff("y=sigma0(t,x)","y=x");
xset("window",0);
flot=flot1d(mu0,sigma0,linspace(-1,1,21),0.001,1000);
ntraj = 21; h=0.001; n=1000;
tmin=0; tmax=n*h;                          // echelle de temps
xmin = min(flot); xmax=max(flot);           // echelle des trajectoires
// xmin = -10; xmax=10;           // echelle des trajectoires
plotframe([tmin,xmin,tmax,xmax],[10,1,10,1],[%f,%f],..
["Flot de diffusion","",""]);              // preparation du cadre graphique
t=[0:h:n*h]'*ones(1,ntraj) ;               // matrice des abscisses
plot2d(t,flot,ones(1,ntraj),"000");        // representation des trajectoires
//
// Diffusion de Black et Scholes avec derive
//
deff("y=mu1(t,x)","y=x");
deff("y=sigma1(t,x)","y=x");
xset("window",1);
flot=flot1d(mu1,sigma1,linspace(-0.01,0.01,21),0.01,1000);
ntraj = 21; h=0.01; n=1000;
tmin=0; tmax=n*h;                          // echelle de temps
xmin = min(flot); xmax=max(flot);           // echelle des trajectoires
// xmin = -10; xmax=10;           // echelle des trajectoires
plotframe([tmin,xmin,tmax,xmax],[10,1,10,1],[%f,%f],..
["Flot equation dX = Xdt + XdW","",""]);              // preparation du cadre graphique
t=[0:h:n*h]'*ones(1,ntraj) ;               // matrice des abscisses
plot2d(t,flot,ones(1,ntraj),"000");        // representation des trajectoires
//
// Processus d'Ornstein-Uhlenbeck
//
deff("y=mu2(t,x)","y=-x");
deff("y=sigma2(t,x)","y=1");
xset("window",2);
flot=flot1d(mu2,sigma2,linspace(-1,1,21),0.01,300);
ntraj = 21; h=0.01; n=300;
tmin=0; tmax=n*h;                          // echelle de temps
xmin = min(flot); xmax=max(flot);           // echelle des trajectoires
// xmin = -10; xmax=10;           // echelle des trajectoires
plotframe([tmin,xmin,tmax,xmax],[10,1,10,1],[%f,%f],..
["Flot Ornstein-Uhlenbeck","",""]);              // preparation du cadre graphique
t=[0:h:n*h]'*ones(1,ntraj) ;               // matrice des abscisses
plot2d(t,flot,ones(1,ntraj),"000");        // representation des trajectoires
//
// Solution de DX=sin(t) dt + X dW
//
deff("y=mu3(t,x)","y=sin(t)");
deff("y=sigma3(t,x)","y=x");
xset("window",3);
flot=flot1d(mu3,sigma3,linspace(-1,1,21),0.01,1000);
ntraj = 21; h=0.01; n=1000;
tmin=0; tmax=n*h;                          // echelle de temps
xmin = min(flot); xmax=max(flot);           // echelle des trajectoires
// xmin = -10; xmax=10;           // echelle des trajectoires
plotframe([tmin,xmin,tmax,xmax],[10,1,10,1],[%f,%f],..
["Flot equation dX = sin(t) dt +X dW","",""]);              // preparation du cadre graphique
t=[0:h:n*h]'*ones(1,ntraj) ;               // matrice des abscisses
plot2d(t,flot,ones(1,ntraj),"000");        // representation des trajectoires


