function ans=RA(ret,parm1, parm2, lambda, n) [jpdf1, pjpdf1]=poisson(ret, parm1, n); [jpdf2, pjpdf2]=poisson(ret, parm2, n); ans=(pjpdf2/jpdf2-pjpdf1/jpdf1)*lambda; function [jpdf, pjpdf]=poisson(ret, parm, n) jpdf=0; pjpdf=0; for i=0:n pdf=exp(-parm(5))*parm(5)^i/factorial(i)*(2*pi*(parm(2)^2+i*parm(4)^2))^(-0.5)*exp(-(ret-parm(1)-i*parm(3))^2/(2*(parm(2)^2+i*parm(4)^2))); jpdf=jpdf+pdf; pjpdf=pjpdf+pdf*(ret-parm(1)-i*parm(3))/(parm(2)^2+i*parm(4)^2); end n=15; % cut-off in the Poisson sum lambda=4.3; % map from consumption to dividend parm1 = [0.0832 0.1377 -0.0259 0.0407 1.5120]; %p: mu, sigma, theta, delta, omega parm2 = [0.0547 0.1377 -0.0482 0.0981 1.5120]; %p* m=200; % number of returns minret=-0.30; %smallest return maxret=0.30; %highest return ret=linspace(minret,maxret,m); %range of returns RAV=zeros(1,m); for j=1:m RAV(j)=RA(ret(j),parm1, parm2, lambda, n); end; plot(ret, RAV) return