Just what it says: You define g but refer to a variable g. in the next line.
Just get rid of the typo. Sarah On Thu, Apr 26, 2012 at 1:43 PM, Guaramy <guar...@hotmail.com> wrote: > Hi , R is a new language for me so sorry in advance if this error is to basic > for posting. I have tried the R manual and search online for quite a few, if > anyone could help i would be very thankful. > Here is my code. > > kappa = 1.1 > theta = 0.1 > sigma = 0.4 > rho = -0.6 > v0 = 0.2 > r = 0.05 > T = 0.5 > s0 = 1 > K = 0.5 > type = 1 > Hestoncall = function(kappa,theta,sigma,rho,v0,r,T,s0,K,type) > { > > u = 0.5 > b = kappa-rho*sigma > a = kappa*theta > x = log(s0) > > Hestf = function(phi) > { > > d = sqrt((b-rho*sigma*phi*complex(1,0,1)-b > )^2-sigma^2*(2*u*phi^2)) > g = > (b-rho*sigma*phi*complex(1,0,1)+d)/(b-rho*sigma*phi*complex(1,0,1)-d) > C = r*phi*complex(1,0,1)*T + > a/sigma^2*((b-rho*sigma*phi*complex(1,0,1)+d)*T-2*log((1-g.*exp(d*T))/(1-g))) > D = > (b-rho*sigma*phi*complex(1,0,1)+d)/sigma^2*((1-exp(d*T))/(1-g*exp(d*T))) > > f = exp(C+D*v0 +complex(1,0,1)*phi*x); > > > HestonPintegrand = real > (exp(-1i*phi*log(K))*f/(1i*phi)) > > HestonPintegrand > > } > > #int.fn = function(t){sapply(t,FUN=Hestf)} > IH = > integrate(Hestf,lower=0,upper=Inf,rel.tol=1e-10,subdivisions=1000000) > ret = 0.5 + 1/pi*IH > > > > call = s0*ret - K*exp(r-T)*ret > call > > } > > thanks in advance > -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.