public final class HullWhiteOneFactorPiecewiseConstantInterestRateModel extends Object implements org.joda.beans.ImmutableBean, Serializable
| Modifier and Type | Field and Description |
|---|---|
static HullWhiteOneFactorPiecewiseConstantInterestRateModel |
DEFAULT
Default instance.
|
| Modifier and Type | Method and Description |
|---|---|
double |
alpha(HullWhiteOneFactorPiecewiseConstantParameters data,
double startExpiry,
double endExpiry,
double numeraireTime,
double bondMaturity)
Calculates the (zero-coupon) bond volatility divided by a bond numeraire, i.e., alpha, for a given period.
|
ValueDerivatives |
alphaAdjoint(HullWhiteOneFactorPiecewiseConstantParameters data,
double startExpiry,
double endExpiry,
double numeraireTime,
double bondMaturity)
Calculates the (zero-coupon) bond volatility divided by a bond numeraire, i.e., alpha, for a given period and
its derivatives.
|
double |
beta(HullWhiteOneFactorPiecewiseConstantParameters data,
double startExpiry,
double endExpiry)
Calculates the beta parameter.
|
boolean |
equals(Object obj) |
double |
futuresConvexityFactor(HullWhiteOneFactorPiecewiseConstantParameters data,
double t0,
double t1,
double t2)
Calculates the future convexity factor used in future pricing.
|
ValueDerivatives |
futuresConvexityFactorAdjoint(HullWhiteOneFactorPiecewiseConstantParameters data,
double t0,
double t1,
double t2)
Calculates the future convexity factor and its derivatives with respect to the model volatilities.
|
int |
hashCode() |
double |
kappa(DoubleArray discountedCashFlow,
DoubleArray alpha)
Calculates the exercise boundary for swaptions.
|
double |
lambda(DoubleArray discountedCashFlow,
DoubleArray alpha2,
DoubleArray hwH)
Calculates the common part of the exercise boundary of European swaptions forward.
|
static org.joda.beans.TypedMetaBean<HullWhiteOneFactorPiecewiseConstantInterestRateModel> |
meta()
The meta-bean for
HullWhiteOneFactorPiecewiseConstantInterestRateModel. |
org.joda.beans.TypedMetaBean<HullWhiteOneFactorPiecewiseConstantInterestRateModel> |
metaBean() |
double |
paymentDelayConvexityFactor(HullWhiteOneFactorPiecewiseConstantParameters parameters,
double startExpiry,
double endExpiry,
double u,
double v,
double tp)
Calculates the payment delay convexity factor used in coupons with mismatched dates pricing.
|
double |
swapRate(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
Calculates the swap rate for a given value of the standard normal random variable
in the
P(*,theta) numeraire. |
ValueDerivatives |
swapRateDaf1(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
Calculates the first order derivative of the swap rate with respect to the
alphaFixed
in the P(*,theta) numeraire. |
ValueDerivatives |
swapRateDai1(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
Calculates the first order derivative of the swap rate with respect to the
alphaIbor
in the P(*,theta) numeraire. |
ValueDerivatives |
swapRateDdcff1(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
Calculates the first order derivative of the swap rate with respect to the
discountedCashFlowFixed in the P(*,theta) numeraire. |
ValueDerivatives |
swapRateDdcfi1(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
Calculates the first order derivative of the swap rate with respect to
the
discountedCashFlowIbor in the P(*,theta) numeraire. |
double |
swapRateDx1(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
Calculates the first order derivative of the swap rate with respect to the value of the standard
normal random variable in the
P(*,theta) numeraire. |
double |
swapRateDx2(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
Calculates the second order derivative of the swap rate with respect to the value
of the standard normal random variable in the
P(*,theta) numeraire. |
Pair<DoubleArray,DoubleArray> |
swapRateDx2Da1(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
Calculates the first order derivative with respect to the alphaFixed and to the alphaIbor of
the of swap rate second derivative with respect to the random variable x in the
P(*,theta) numeraire. |
Pair<DoubleArray,DoubleArray> |
swapRateDx2Ddcf1(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
Calculates the first order derivative with respect to the discountedCashFlowFixed and to the discountedCashFlowIbor
of the of swap rate second derivative with respect to the random variable x in the
P(*,theta) numeraire. |
String |
toString() |
DoubleMatrix |
volatilityMaturityPart(HullWhiteOneFactorPiecewiseConstantParameters hwParameters,
double u,
DoubleMatrix v)
Calculates the maturity dependent part of the volatility (function called H in the implementation note).
|
public static final HullWhiteOneFactorPiecewiseConstantInterestRateModel DEFAULT
public double futuresConvexityFactor(HullWhiteOneFactorPiecewiseConstantParameters data, double t0, double t1, double t2)
The factor is called gamma in the reference: Henrard, M. "The Irony in the derivatives discounting Part II: the crisis", Wilmott Journal, 2010, 2, 301-316
data - the Hull-White model parameterst0 - the first expiry timet1 - the first reference timet2 - the second reference timepublic ValueDerivatives futuresConvexityFactorAdjoint(HullWhiteOneFactorPiecewiseConstantParameters data, double t0, double t1, double t2)
The factor is called gamma in the reference: Henrard, M. "The Irony in the derivatives discounting Part II: the crisis", Wilmott Journal, 2010, 2, 301-316
data - the Hull-White model parameterst0 - the expiry timet1 - the first reference timet2 - the second reference timepublic double paymentDelayConvexityFactor(HullWhiteOneFactorPiecewiseConstantParameters parameters, double startExpiry, double endExpiry, double u, double v, double tp)
parameters - the Hull-White model parametersstartExpiry - the start expiry timeendExpiry - the end expiry timeu - the fixing period start timev - the fixing period end timetp - the payment timepublic double alpha(HullWhiteOneFactorPiecewiseConstantParameters data, double startExpiry, double endExpiry, double numeraireTime, double bondMaturity)
data - the Hull-White model datastartExpiry - the start time of the expiry periodendExpiry - the end time of the expiry periodnumeraireTime - the time to maturity for the bond numerairebondMaturity - the time to maturity for the bondpublic ValueDerivatives alphaAdjoint(HullWhiteOneFactorPiecewiseConstantParameters data, double startExpiry, double endExpiry, double numeraireTime, double bondMaturity)
The derivative values are the derivatives of the function alpha with respect to the piecewise constant volatilities.
data - the Hull-White model datastartExpiry - the start time of the expiry periodendExpiry - the end time of the expiry periodnumeraireTime - the time to maturity for the bond numerairebondMaturity - the time to maturity for the bondpublic double kappa(DoubleArray discountedCashFlow, DoubleArray alpha)
Reference: Henrard, M. (2003). "Explicit bond option and swaption formula in Heath-Jarrow-Morton one-factor model". International Journal of Theoretical and Applied Finance, 6(1):57--72.
discountedCashFlow - the cash flow equivalent discounted to todayalpha - the zero-coupon bond volatilitiespublic double beta(HullWhiteOneFactorPiecewiseConstantParameters data, double startExpiry, double endExpiry)
This is intended to be used in particular for Bermudan swaption first step of the pricing.
Reference: Henrard, "M. Bermudan Swaptions in Gaussian HJM One-Factor Model: Analytical and Numerical Approaches". SSRN, October 2008. Available at SSRN: http://ssrn.com/abstract=1287982
data - the Hull-White model datastartExpiry - the start time of the expiry periodendExpiry - the end time of the expiry periodpublic double lambda(DoubleArray discountedCashFlow, DoubleArray alpha2, DoubleArray hwH)
This is intended to be used in particular for Bermudan swaption first step of the pricing.
Reference: Henrard, "M. Bermudan Swaptions in Gaussian HJM One-Factor Model: Analytical and Numerical Approaches". SSRN, October 2008. Available at SSRN: http://ssrn.com/abstract=1287982
discountedCashFlow - the swap discounted cash flowsalpha2 - square of the alpha parameterhwH - the H factorspublic DoubleMatrix volatilityMaturityPart(HullWhiteOneFactorPiecewiseConstantParameters hwParameters, double u, DoubleMatrix v)
hwParameters - the model parametersu - the start timev - the end timepublic double swapRate(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
P(*,theta) numeraire.x - the random variable valuediscountedCashFlowFixed - the discounted cash flows equivalent of the swap fixed legalphaFixed - the zero-coupon bond volatilities for the swap fixed legdiscountedCashFlowIbor - the discounted cash flows equivalent of the swap Ibor legalphaIbor - the zero-coupon bond volatilities for the swap Ibor legpublic double swapRateDx1(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
P(*,theta) numeraire.x - the random variable valuediscountedCashFlowFixed - the discounted cash flows equivalent of the swap fixed legalphaFixed - the zero-coupon bond volatilities for the swap fixed legdiscountedCashFlowIbor - the discounted cash flows equivalent of the swap Ibor legalphaIbor - the zero-coupon bond volatilities for the swap Ibor legpublic double swapRateDx2(double x,
DoubleArray discountedCashFlowFixed,
DoubleArray alphaFixed,
DoubleArray discountedCashFlowIbor,
DoubleArray alphaIbor)
P(*,theta) numeraire.x - the random variable valuediscountedCashFlowFixed - the discounted cash flows equivalent of the swap fixed legalphaFixed - the zero-coupon bond volatilities for the swap fixed legdiscountedCashFlowIbor - the discounted cash flows equivalent of the swap Ibor legalphaIbor - the zero-coupon bond volatilities for the swap Ibor legpublic ValueDerivatives swapRateDdcfi1(double x, DoubleArray discountedCashFlowFixed, DoubleArray alphaFixed, DoubleArray discountedCashFlowIbor, DoubleArray alphaIbor)
discountedCashFlowIbor in the P(*,theta) numeraire.x - the random variable valuediscountedCashFlowFixed - the discounted cash flows equivalent of the swap fixed legalphaFixed - the zero-coupon bond volatilities for the swap fixed legdiscountedCashFlowIbor - the discounted cash flows equivalent of the swap Ibor legalphaIbor - the zero-coupon bond volatilities for the swap Ibor legpublic ValueDerivatives swapRateDdcff1(double x, DoubleArray discountedCashFlowFixed, DoubleArray alphaFixed, DoubleArray discountedCashFlowIbor, DoubleArray alphaIbor)
discountedCashFlowFixed in the P(*,theta) numeraire.x - the random variable valuediscountedCashFlowFixed - the discounted cash flows equivalent of the swap fixed legalphaFixed - the zero-coupon bond volatilities for the swap fixed legdiscountedCashFlowIbor - the discounted cash flows equivalent of the swap Ibor legalphaIbor - the zero-coupon bond volatilities for the swap Ibor legpublic ValueDerivatives swapRateDai1(double x, DoubleArray discountedCashFlowFixed, DoubleArray alphaFixed, DoubleArray discountedCashFlowIbor, DoubleArray alphaIbor)
alphaIbor
in the P(*,theta) numeraire.x - the random variable valuediscountedCashFlowFixed - the discounted cash flows equivalent of the swap fixed legalphaFixed - the zero-coupon bond volatilities for the swap fixed legdiscountedCashFlowIbor - the discounted cash flows equivalent of the swap Ibor legalphaIbor - the zero-coupon bond volatilities for the swap Ibor legpublic ValueDerivatives swapRateDaf1(double x, DoubleArray discountedCashFlowFixed, DoubleArray alphaFixed, DoubleArray discountedCashFlowIbor, DoubleArray alphaIbor)
alphaFixed
in the P(*,theta) numeraire.x - the random variable value.discountedCashFlowFixed - the discounted cash flows equivalent of the swap fixed legalphaFixed - the zero-coupon bond volatilities for the swap fixed legdiscountedCashFlowIbor - the discounted cash flows equivalent of the swap Ibor legalphaIbor - the zero-coupon bond volatilities for the swap Ibor legpublic Pair<DoubleArray,DoubleArray> swapRateDx2Ddcf1(double x, DoubleArray discountedCashFlowFixed, DoubleArray alphaFixed, DoubleArray discountedCashFlowIbor, DoubleArray alphaIbor)
P(*,theta) numeraire.
The result is made of a pair of arrays. The first one is the derivative with respect to discountedCashFlowFixed
and the second one with respect to discountedCashFlowIbor.
x - the random variable valuediscountedCashFlowFixed - the discounted cash flows equivalent of the swap fixed legalphaFixed - the zero-coupon bond volatilities for the swap fixed legdiscountedCashFlowIbor - the discounted cash flows equivalent of the swap Ibor legalphaIbor - the zero-coupon bond volatilities for the swap Ibor legpublic Pair<DoubleArray,DoubleArray> swapRateDx2Da1(double x, DoubleArray discountedCashFlowFixed, DoubleArray alphaFixed, DoubleArray discountedCashFlowIbor, DoubleArray alphaIbor)
P(*,theta) numeraire.
The result is made of a pair of arrays. The first one is the derivative with respect to alphaFixed and
the second one with respect to alphaIbor.
x - the random variable valuediscountedCashFlowFixed - the discounted cash flows equivalent of the swap fixed legalphaFixed - the zero-coupon bond volatilities for the swap fixed legdiscountedCashFlowIbor - the discounted cash flows equivalent of the swap Ibor legalphaIbor - the zero-coupon bond volatilities for the swap Ibor legpublic static org.joda.beans.TypedMetaBean<HullWhiteOneFactorPiecewiseConstantInterestRateModel> meta()
HullWhiteOneFactorPiecewiseConstantInterestRateModel.public org.joda.beans.TypedMetaBean<HullWhiteOneFactorPiecewiseConstantInterestRateModel> metaBean()
metaBean in interface org.joda.beans.BeanCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.