C# 클래스 VarianceGamma.VarianceGammaOptionsCalibration

상속: IEstimator, IDescription
파일 보기 프로젝트 열기: fairmat/EquityModels 1 사용 예제들

공개 메소드들

메소드 설명
Estimate ( List data, IEstimationSettings settings = null, IController controller = null, object>.Dictionary properties = null ) : EstimationResult

Attempts to solve the Variance Gamma Optimization problem using Heston.VarianceGammaOptimizationProblem.

GetRequirements ( IEstimationSettings settings, EstimateQuery query ) : EstimateRequirement[]

Gets the types required by the estimator in order to work: EquitySpotMarketData and CallPriceMarketData are the required type for this estimator.

VGCall ( double theta, double sigma, double nu, double t, double k, double q, double s0, double r ) : double

Calculate the price of a call option. Notation and formulas follow Whitley A. "Pricing of European, Bermudan and American Options under the Exponential Variance Gamma Process" (2009) apart from a correction in the last line where we substituted q (dividend yield) in place of r (risk free rate).

비공개 메소드들

메소드 설명
BesselI ( double nu, double z ) : double

Calculates the modified Bessel function of the first kind

BesselK ( double nu, double z ) : double

Calculates the modified Bessel function of the second kind

CH ( double a, double b, double c, double x, double y ) : double

Calculates the confluent hypergeometric function of two variables

Factorial ( int n ) : double

Simple wrapper for the Fairmat provided factorial function.

Gamma ( double z ) : double

Simple wrapper for the Fairmat provided Gamma function. It handles some special cases required by Variance Gamma.

Psi ( double a, double b, double c ) : double

Psi function that enters in the call price formula Notation and formulas follow Whitley A. "Pricing of European, Bermudan and American Options under the Exponential Variance Gamma Process" (2009)

메소드 상세

Estimate() 공개 메소드

Attempts to solve the Variance Gamma Optimization problem using Heston.VarianceGammaOptimizationProblem.
public Estimate ( List data, IEstimationSettings settings = null, IController controller = null, object>.Dictionary properties = null ) : EstimationResult
data List /// The data to be used in order to perform the optimization. ///
settings IEstimationSettings The parameter is not used.
controller IController
properties object>.Dictionary
리턴 EstimationResult

GetRequirements() 공개 메소드

Gets the types required by the estimator in order to work: EquitySpotMarketData and CallPriceMarketData are the required type for this estimator.
public GetRequirements ( IEstimationSettings settings, EstimateQuery query ) : EstimateRequirement[]
settings IEstimationSettings The parameter is not used.
query EstimateQuery
리턴 EstimateRequirement[]

VGCall() 공개 정적인 메소드

Calculate the price of a call option. Notation and formulas follow Whitley A. "Pricing of European, Bermudan and American Options under the Exponential Variance Gamma Process" (2009) apart from a correction in the last line where we substituted q (dividend yield) in place of r (risk free rate).
public static VGCall ( double theta, double sigma, double nu, double t, double k, double q, double s0, double r ) : double
theta double VG theta parameter
sigma double VG sigma parameter
nu double VG nu parameter
t double Call maturity
k double Call strike
q double Dividend yield
s0 double Process starting value
r double Risk free rate
리턴 double