C# Class HullAndWhiteOneFactor.CapHW1

This class implements the HW1 model for pricing of a Cap (caplets portfolio) and a Floor (floorlets portfolio).
Show file Open project: fairmat/InterestRatesModels Class Usage Examples

Public Methods

Method Description
CapHW1 ( System.Function zeroratecurve ) : System

Initializes a new instance of the HullAndWhiteOneFactor.CapHW1 class.

D1 ( double a, double sigma, double T, double s, double K ) : double

Calculates d1 factor to be used in pricing formulas.

D2 ( double a, double sigma, double T, double s, double K ) : double

Calculates d2 factor to be used in pricing formulas.

HWCap ( double a, double sigma, double K, double deltaK, double T ) : double

Calculates the price of a cap within the Hull-White model.

HWCaplet ( double a, double sigma, double T, double s, double K ) : double

Calculates the price of a single caplet within the Hull-White model.

HWMatrixCaps ( Vector capMaturity, Vector capRate, double a, double sigma, double deltaK ) : System.Matrix

Calculates a matrix of cap prices within the Hull-White model.

Private Methods

Method Description
HWFloor ( double a, double sigma, double K, double deltaK, double T ) : double

Calculates the price of a floor within the Hull-White model.

HWFloorlet ( double a, double sigma, double T, double s, double K ) : double

Calculates the price of a single floorlet within the Hull-White model.

PZC ( double t ) : double

Helper function to make functions easier to read. Just returns the value of the discount factor at position t. This is calculated with e^(-ZR(t)*t).

SigP ( double a, double sigma, double T, double s ) : double

Calculate the volatility term to be used in Hull-White pricing formula.

ZR ( double k ) : double

Helper function to make functions easier to read. Just returns the value of the zero rate at position k.

Method Details

CapHW1() public method

Initializes a new instance of the HullAndWhiteOneFactor.CapHW1 class.
public CapHW1 ( System.Function zeroratecurve ) : System
zeroratecurve System.Function /// The zero-rate curve reference for the model. ///
return System

D1() public method

Calculates d1 factor to be used in pricing formulas.
public D1 ( double a, double sigma, double T, double s, double K ) : double
a double /// Hull-White alpha parameter. ///
sigma double /// Hull-White sigma parameter. ///
T double /// Reset date. ///
s double /// Maturity date. ///
K double /// Strike rate. ///
return double

D2() public method

Calculates d2 factor to be used in pricing formulas.
public D2 ( double a, double sigma, double T, double s, double K ) : double
a double /// Hull-White alpha parameter. ///
sigma double /// Hull-White sigma parameter. ///
T double /// Reset date. ///
s double /// Maturity date. ///
K double /// Strike rate. ///
return double

HWCap() public method

Calculates the price of a cap within the Hull-White model.
public HWCap ( double a, double sigma, double K, double deltaK, double T ) : double
a double /// Hull-White alpha parameter. ///
sigma double /// Hull-White sigma parameter. ///
K double /// Strike rate. ///
deltaK double /// Time period between caplets expressed in year fraction. ///
T double /// Cap maturity. ///
return double

HWCaplet() public method

Calculates the price of a single caplet within the Hull-White model.
public HWCaplet ( double a, double sigma, double T, double s, double K ) : double
a double /// Hull-White alpha parameter. ///
sigma double /// Hull-White sigma parameter. ///
T double /// Caplet reset date. ///
s double /// Caplet payment date. ///
K double /// Strike rate. ///
return double

HWMatrixCaps() public method

Calculates a matrix of cap prices within the Hull-White model.
public HWMatrixCaps ( Vector capMaturity, Vector capRate, double a, double sigma, double deltaK ) : System.Matrix
capMaturity Vector /// Vector of cap maturities. ///
capRate Vector /// Vector of cap strikes. ///
a double /// Hull-White alpha parameter. ///
sigma double /// Hull-White sigma parameter. ///
deltaK double /// Time period between caplets expressed in year fraction. ///
return System.Matrix