C# Class HestonExtended.HestonExtendedProcess

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

Public Properties

Property Type Description
MuReference IModelParameter
S0 IModelParameter
V0 IModelParameter
k IModelParameter
sigma IModelParameter
theta IModelParameter

Public Methods

Method Description
DefaultInstance ( ) : void

Sets some default values for the parameters. * k = 2.5 * theta = 0.4 * sigma = 0.2 * S0 = 1 * 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.

HestonExtendedProcess ( ) : System

Initializes a new instance of the HestonExtendedProcess class. This is the default constructor setting all parameters to zero/empty.

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.

SetCurveReference ( string zrstring, string dystring ) : void

Associate the process to a zero rate and a dividend yield defined in the Fairmat model (e.g. @zr1).

Setup ( double simulationDates ) : void

Called by Simulator after parse. Initializes here time-dependant but not state dependent variables.

ab ( int i, double x, double a, double b ) : void
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.

Private Methods

Method Description
InitOptionalFields ( ) : void

Initializes the zr and dy reference to empty values, in case they are not initialized.

OnDeserialized ( StreamingContext context ) : void
RetrieveCurve ( IProject p_Context, bool errors ) : bool

Retrieves zr and dy curve from the model.

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

Method Details

DefaultInstance() public method

Sets some default values for the parameters. * k = 2.5 * theta = 0.4 * sigma = 0.2 * S0 = 1 * 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[]

HestonExtendedProcess() public method

Initializes a new instance of the HestonExtendedProcess class. This is the default constructor setting all parameters to zero/empty.
public HestonExtendedProcess ( ) : 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 and rho. ///
return void

SetCurveReference() public method

Associate the process to a zero rate and a dividend yield defined in the Fairmat model (e.g. @zr1).
public SetCurveReference ( string zrstring, string dystring ) : void
zrstring string /// The zero rate reference. ///
dystring string /// The dividend yield reference. ///
return void

Setup() public method

Called by Simulator after parse. Initializes here time-dependant but not state dependent variables.
public Setup ( double simulationDates ) : void
simulationDates double /// The dates at which the process realizations will be requested. ///
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

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

MuReference public property

Previously referenced the zr, now it's just kept for compatibility.
public IModelParameter MuReference
return IModelParameter

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

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