[R] ErrError in f(x, ...) : object 'g.' not found

Sarah Goslee sarah.goslee at gmail.com
Thu Apr 26 19:57:36 CEST 2012


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 <Guaramy at 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



More information about the R-help mailing list