C# Class HestonExtended.HestonExtendedProcess

Inheritance: IExtensibleProcess, IMarkovSimulator, IParsable, IEstimationResultPopulable, IGreeksDerivativesInfo, IExportableContainer
ファイルを表示 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_oe property

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

S0 public_oe property

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

V0 public_oe property

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

k public_oe property

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

sigma public_oe property

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

theta public_oe 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