C# Class Heston.HestonProcess

Inheritance: IExtensibleProcess, IMarkovSimulator, IParsable, IGreeksDerivativesInfo, IEstimationResultPopulable, IOpenCLCode, IExportableContainer
Show file Open project: fairmat/EquityModels Class Usage Examples

Public Properties

Property Type Description
S0 IModelParameter
V0 IModelParameter
k IModelParameter
q IModelParameter
r IModelParameter
sigma IModelParameter
theta IModelParameter

Public Methods

Method Description
DefaultInstance ( ) : void

Sets some default values for the parameters. * r = 0.05 * q = 0.03 * k = 2.5 theta = 0.4 sigma = 0.2 S0 = 100 V0 = 0.3.

ExportObjects ( bool recursive ) : List

Creates a list of all the sub-objects that can be edited.

GetDeltaFactors ( ) : IModelParameter[]

Gets the factors for Delta Greek derivative.

GetVegaFactors ( ) : IModelParameter[]

Gets the factors for Vega Greek derivative.

HestonProcess ( ) : System

Initializes a new instance of the HestonProcess class. This is the default constructor and sets all parameters to 0.0.

Parse ( IProject p_Context ) : bool

Ensure the parameters are correct.

Populate ( IStochasticProcess stocProcess, EstimationResult estimate ) : void

Populate editable fields from name and value vectors specific to the Heston extended process.

Setup ( double simulationDates ) : void

Called by Simulator after parse. The method implements only an interface requisite but does nothing.

a ( int i, double x, double a ) : void

This function defines the drift in the Heston Markov process.

Heston operates on two dimensions.

ab ( int i, double x, double a, double b ) : void
b ( int i, double x, double b ) : void

This function defines the volatility in the Heston Markov process.

Heston operates on two dimensions.

isLog ( bool &isLog ) : void

Sets the passed array with a Boolean stating if the process must be simulated as a log-normal process. Here the first component must be simulated as a log-normal process the second not.

Method Details

DefaultInstance() public method

Sets some default values for the parameters. * r = 0.05 * q = 0.03 * k = 2.5 theta = 0.4 sigma = 0.2 S0 = 100 V0 = 0.3.
public DefaultInstance ( ) : void
return void

ExportObjects() public method

Creates a list of all the sub-objects that can be edited.
public ExportObjects ( bool recursive ) : List
recursive bool /// The parameter is not used. ///
return List

GetDeltaFactors() public method

Gets the factors for Delta Greek derivative.
public GetDeltaFactors ( ) : IModelParameter[]
return IModelParameter[]

GetVegaFactors() public method

Gets the factors for Vega Greek derivative.
public GetVegaFactors ( ) : IModelParameter[]
return IModelParameter[]

HestonProcess() public method

Initializes a new instance of the HestonProcess class. This is the default constructor and sets all parameters to 0.0.
public HestonProcess ( ) : System
return System

Parse() public method

Ensure the parameters are correct.
public Parse ( IProject p_Context ) : bool
p_Context IProject /// The underlying project. ///
return bool

Populate() public method

Populate editable fields from name and value vectors specific to the Heston extended process.
public Populate ( IStochasticProcess stocProcess, EstimationResult estimate ) : void
stocProcess IStochasticProcess /// The stochastic process which is being referenced to. ///
estimate EstimationResult /// The estimation result which contains values and names of parameters. /// It will be searched for S0, kappa, theta, sigma, V0, r, q and rho. ///
return void

Setup() public method

Called by Simulator after parse. The method implements only an interface requisite but does nothing.
public Setup ( double simulationDates ) : void
simulationDates double The parameter is not used.
return void

a() public method

This function defines the drift in the Heston Markov process.
Heston operates on two dimensions.
public a ( int i, double x, double a ) : void
i int The time step of the simulation.
x double The state vector at the previous state.
a double The output of the function.
return void

ab() public method

public ab ( int i, double x, double a, double b ) : void
i int
x double
a double
b double
return void

b() public method

This function defines the volatility in the Heston Markov process.
Heston operates on two dimensions.
public b ( int i, double x, double b ) : void
i int The parameter is not used.
x double The state vector at the previous state.
b double The output of the function.
return void

isLog() public method

Sets the passed array with a Boolean stating if the process must be simulated as a log-normal process. Here the first component must be simulated as a log-normal process the second not.
public isLog ( bool &isLog ) : void
isLog bool /// A reference to the array to be set with the required information. ///
return void

Property Details

S0 public property

Starting value for the stock process.
public IModelParameter S0
return IModelParameter

V0 public property

Starting value for the volatility process.
public IModelParameter V0
return IModelParameter

k public property

The speed of mean reversion of the process.
public IModelParameter k
return IModelParameter

q public property

The dividend yield rate of the stock.
public IModelParameter q
return IModelParameter

r public property

The risk free rate.
public IModelParameter r
return IModelParameter

sigma public property

The "volatility of volatility" regulates the variance of the volatility process.
public IModelParameter sigma
return IModelParameter

theta public property

The mean reversion level of the process. The volatility process will reach this value as time goes to infinity.
public IModelParameter theta
return IModelParameter