C# Класс HestonEstimator.HestonCallOptimizationProblem

Describes the time-dependent Heston optimization problem.
Наследование: IOptimizationProblem
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
useBoundPenalty bool
useFellerPenalty bool

Защищенные свойства (Protected)

Свойство Тип Описание
callWeight System.Matrix
cpmd CallPriceMarketData
dividendYield Vector
k1 double
k2 double
matBound Vector
numCall int
numPut int
putWeight System.Matrix
rate Vector
s0 double
smallValue double
strike Vector
strikeBound Vector
totalVolume double
v0Max double
v0Min double
vLastMin double

Открытые методы

Метод Описание
G ( DVPLI x ) : DVPLI.Vector

This method is unused but part of the interface.

Grad ( DVPLI x ) : DVPLI.Vector

This method is unused but part of the interface.

HestonCallOptimizationProblem ( EquityCalibrationData equityCalData, Vector matBound, Vector strikeBound ) : System

Initializes a new instance of the HestonCallOptimizationProblem class using the EquityCalibrationData data structure.

Obj ( DVPLI x ) : double

Calibration objective function.

Защищенные методы

Метод Описание
FellerPenalty ( Vector x ) : double

Penalty function in order to satisfy Feller condition: 2k theta >= sigma^2

Приватные методы

Метод Описание
BoundPenalty ( Vector x ) : double

Penalty function relative to bounds.

CalculateSingleRow ( object context ) : void

Calculates a single row of the objective function. Basically options with the same maturity and different strikes.

CalculateSingleRowWithInterpolation ( object context ) : void

Calculates call put prices for several strikes using controlled interpolation.

CalculateWeight ( double volume ) : double

Allows different specification of call/put weighting

FindExtremes ( Vector vector, Vector bounds ) : int[]

Finds the couple of integer {i,j} so that the values vector[i], vector[i+1],..., vector[j-1], vector[j] are all included in the interval (bound[0], bound[1]) while vector[i-1] and vector[j+1] are not.

HestonCallOptimizationProblem ( System.Matrix callMarketPrice, Vector maturity, Vector strike, Vector rate, Vector dividendYield, double s0, Vector matBound, Vector strikeBound ) : System
PutCallTest ( ) : void

Test method, displays a sensitivity on heston call and put prices.

SetVariables ( System.Matrix callMarketPrice, Vector maturity, Vector strike, Vector rate, Vector dividendYield, double s0 ) : void

Sets several variables used to solve the optimization problem.

Описание методов

FellerPenalty() защищенный Метод

Penalty function in order to satisfy Feller condition: 2k theta >= sigma^2
protected FellerPenalty ( Vector x ) : double
x Vector /// Vector of parameters: x=[k, theta, sigma,...] ///
Результат double

G() публичный Метод

This method is unused but part of the interface.
public G ( DVPLI x ) : DVPLI.Vector
x DVPLI The parameter is not used.
Результат DVPLI.Vector

Grad() публичный Метод

This method is unused but part of the interface.
public Grad ( DVPLI x ) : DVPLI.Vector
x DVPLI The parameter is not used.
Результат DVPLI.Vector

HestonCallOptimizationProblem() публичный Метод

Initializes a new instance of the HestonCallOptimizationProblem class using the EquityCalibrationData data structure.
public HestonCallOptimizationProblem ( EquityCalibrationData equityCalData, Vector matBound, Vector strikeBound ) : System
equityCalData EquityCalibrationData /// An EquityCalibrationData object containing market data for calibration. ///
matBound Vector /// A vector containing the minimum and maximum values /// for maturities to be used in calibration. ///
strikeBound Vector /// A vector containing the minimum and maximum values /// for strikes to be used in calibration. ///
Результат System

Obj() публичный Метод

Calibration objective function.
public Obj ( DVPLI x ) : double
x DVPLI /// The vector of parameters. ///
Результат double

Описание свойств

callWeight защищенное свойство

Weights to be used in the calibration.
protected Matrix,System callWeight
Результат System.Matrix

cpmd защищенное свойство

protected CallPriceMarketData cpmd
Результат CallPriceMarketData

dividendYield защищенное свойство

The avereage dividend yield vector up to a given maturity
protected Vector dividendYield
Результат Vector

k1 защищенное свойство

Value that weights the boundary penalty function.
protected double k1
Результат double

k2 защищенное свойство

Value that weights the Feller inequality penalty function.
protected double k2
Результат double

matBound защищенное свойство

protected Vector matBound
Результат Vector

numCall защищенное свойство

The number of call option on which calibration is performed.
protected int numCall
Результат int

numPut защищенное свойство

protected int numPut
Результат int

putWeight защищенное свойство

Weights to be used in the calibration.
protected Matrix,System putWeight
Результат System.Matrix

rate защищенное свойство

The average rate vector up to a given maturity
protected Vector rate
Результат Vector

s0 защищенное свойство

Process starting value.
protected double s0
Результат double

smallValue защищенное свойство

Small value used in the boundary penalty function.
protected double smallValue
Результат double

strike защищенное свойство

The strike vector relative to callMarketPrice matrix.
protected Vector strike
Результат Vector

strikeBound защищенное свойство

protected Vector strikeBound
Результат Vector

totalVolume защищенное свойство

Total volume for calls and puts.
protected double totalVolume
Результат double

useBoundPenalty публичное свойство

Averegate drift up to a given maturity Establish whether to use the boundary penalty function or not.
public bool useBoundPenalty
Результат bool

useFellerPenalty публичное свойство

Establish whether to use the Feller penalty function or not. Note: it's affect a lot the multi-level single linkage algorithm performance.
public bool useFellerPenalty
Результат bool

v0Max защищенное свойство

protected double v0Max
Результат double

v0Min защищенное свойство

If volatility is observed, it may be useful to use this information
protected double v0Min
Результат double

vLastMin защищенное свойство

protected double vLastMin
Результат double