Creates an Analytic European Log-Normal Jump Diffusion with Deterministic Jump Intensity Engine for pricing vanilla structures.
This engine is an extension of the Heston model and thus utilises the five main heston parameters (v0, kappa, theta, sigma and rho contained within a
HestonProcess() or
HestonProcess2() object via the 'hestonProcess' parameter.
During a calibration of this model,
CalibBatesDetJump() you can choose to freeze the five Heston parameters and just calibrate the parameters pertaining to this model) The Bates model engine is based on Fourier transform.
This is a Jump-Diffusion with Stochastic Volatility model that prices european options under the following processes [ dS(t,S)=(r-d-lambda*m)*S*dt+sqrt{v}*S*dW_1+(e^J - 1)*S*dN, dv(t,S)=kappa*(theta-v)*dt+sigma*sqrt{v}*dW_2, dlambda(t)=kappaL*(thetaL-lambda)*dt, dW_1*dW_2=rho*dt ]. The function N() is a Poisson process with the intensity lambda.
When a jump occurs the magnitude J has the probability distribution function omega(J).
The Logarithm of the jump size J is normally distributed and the omega(J) function is defined as [ omega(J)=1/(sqrt(2*pi*delta^2))*exp(-(J-nu)^2)/(2*delta^2)) ]. The string 'Key' resulting from a successful construction of this engine object can be passed to the
VanillaOption() function in order to create an VanillaOption object that can be priced via the
PrcObjVanillaOption() function.
Be advised that the corresponding stochastic process object that is to be passed to the
VanillaOption() function ('stochProcess' parameter) to support this engine has to be a Heston process object (
HestonProcess() or
HestonProcess2() ).
In fact the same heston process object passed to this function's 'hestonProcess' parameter should also be passed to the
VanillaOption() function.
This function creates an object and returns a string-key value to represent this created object.
The TAG value of the string-key returned (second part of the key) is : "BATEJENG"
- Key parameter
Key value to use as a handle for the created object
- Reload parameter
When creating this object for the first time, set this parameter to a positive value. Within Excel, when re-computing a worksheet where you do not wish to recreate the object, set this parameter to zero (0).
- hestonProcess parameter
- integrationOrder parameter
Integration order parameter.
- lambda parameter
lambda parameter (jump intensity) to be used within the dS(t,S) function.
- nu parameter
nu parameter (mean log jump) to be used within the probability distribution function omega(J).
- delta parameter
delta parameter (jump volatility) to be used within the probability distribution function omega(J).
- kappaL parameter
kappaL parameter to be used within the dlambda(t) function.
- thetaL parameter
thetaL parameter to be used within the dlambda(t) function.
The C# example below contains all the sub-function calls leading up to this function call. As a result, the example can contain a lot of code.
The VB.NET, J#, C++.NET, Java, Excel VBA, Visual Basic 6 (via COM) and C++ examples below contain function code stubs for the calls leading up to this function call. However, the function call for this function is displayed.
You can easily reproduce the stub functions code from the
C# example.
Copyright (c) 2003-2007 CapeTools - All Rights Reserved.