r=0.02; sigma=0.3; T=1; x=100; K=200; function [res]=f(g) d=prod(size(g)); S_T=zeros(1,d); S_T=x .* exp((r - sigma*sigma/2)*T*ones(1,d)+sigma*sqrt(T)*g); res=exp(-r*T)*max(S_T-K,0); endfunction function res=approx_1_derivee_variance(lambda) Y=f(G).^2 .* exp(-lambda*G+lambda^2/2) .* (lambda - G); res=mean(Y); endfunction function res=approx_2_derivee_variance(lambda) Y=- G .* f(G+lambda).^2 .* exp(-2*lambda*G-lambda^2); res=mean(Y); endfunction n=10000; K=100; lambda=[0.0:0.05:3.0]; z1=0;z2=0; G=grand(1,n,"nor",0,1); for i=[1:prod(size(lambda))] do z1(i)=approx_1_derivee_variance(lambda(i)); z2(i)=approx_2_derivee_variance(lambda(i)); end; plot2d(lambda,z1); plot2d(lambda,z2); K=200; z1=0;z2=0; lambda=[0:0.05:6]; G=grand(1,n,"nor",0,1); for i=[1:prod(size(lambda))] do z1(i)=approx_1_derivee_variance(lambda(i)); z2(i)=approx_2_derivee_variance(lambda(i)); end; plot2d(lambda,z1); plot2d(lambda,z2);