Guaramy Guaramy at hotmail.com
Thu Apr 26 19:43:23 CEST 2012

```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

}