Class SabrInArrearsVolatilityFunction
- java.lang.Object
-
- com.opengamma.strata.pricer.impl.volatility.smile.SabrInArrearsVolatilityFunction
-
- All Implemented Interfaces:
Serializable,org.joda.beans.Bean,org.joda.beans.ImmutableBean
public final class SabrInArrearsVolatilityFunction extends Object implements org.joda.beans.ImmutableBean, Serializable
Adjustments to the SABR parameters to accommodate the pricing of in-arrears caplets.The parameter "q" in the formula is a parameter such that 1-q is closely related to a mean reversion. It is defaulted to q=1 in the default instance of the formula.
Reference: Willems, Sander. SABR smiles for RFR caplets. August 2020. Electronic copy available at: https://ssrn.com/abstract=3567655
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSabrInArrearsVolatilityFunction.BuilderThe bean-builder forSabrInArrearsVolatilityFunction.static classSabrInArrearsVolatilityFunction.MetaThe meta-bean forSabrInArrearsVolatilityFunction.
-
Field Summary
Fields Modifier and Type Field Description static SabrInArrearsVolatilityFunctionDEFAULTDefault implementation with q = 1;
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SabrInArrearsVolatilityFunction.Builderbuilder()Returns a builder used to create an instance of the bean.SabrFormulaDataeffectiveSabr(SabrFormulaData parameters, double tau0, double tau1)The effective SABR parameters from the raw SABR parameters and the times.List<ValueDerivatives>effectiveSabrAd(SabrFormulaData parameters, double tau0, double tau1)The effective SABR parameters from the raw SABR parameters and the times.SabrFormulaDataeffectiveSabrAfterStart(SabrFormulaData parameters, double tau0, double tau1)The effective SABR parameters from the raw SABR parameters and the times.List<ValueDerivatives>effectiveSabrAfterStartAd(SabrFormulaData parameters, double tau0, double tau1)The effective SABR parameters and their derivatives from the raw SABR parameters and the times.SabrFormulaDataeffectiveSabrBeforeStart(SabrFormulaData parameters, double tau0, double tau1)The effective SABR parameters from the raw SABR parameters and the times.List<ValueDerivatives>effectiveSabrBeforeStartAd(SabrFormulaData parameters, double tau0, double tau1)The effective SABR parameters and their derivatives from the raw SABR parameters and the times.booleanequals(Object obj)doublegetQ()Gets the mean reversion related parameter.inthashCode()static SabrInArrearsVolatilityFunction.Metameta()The meta-bean forSabrInArrearsVolatilityFunction.SabrInArrearsVolatilityFunction.MetametaBean()static SabrInArrearsVolatilityFunctionof(double q)Obtains an instance.SabrInArrearsVolatilityFunction.BuildertoBuilder()Returns a builder that allows this bean to be mutated.StringtoString()
-
-
-
Field Detail
-
DEFAULT
public static final SabrInArrearsVolatilityFunction DEFAULT
Default implementation with q = 1;
-
-
Method Detail
-
effectiveSabrBeforeStart
public SabrFormulaData effectiveSabrBeforeStart(SabrFormulaData parameters, double tau0, double tau1)
The effective SABR parameters from the raw SABR parameters and the times. Formula in the case tau0 > 0.Theorem 4.2 in reference.
- Parameters:
parameters- the raw SABR parameterstau0- the accumulation period start timetau1- the accumulation period end time- Returns:
- the effective SABR parameters
-
effectiveSabrAfterStart
public SabrFormulaData effectiveSabrAfterStart(SabrFormulaData parameters, double tau0, double tau1)
The effective SABR parameters from the raw SABR parameters and the times. Formula in the case tau0 <= 0.Theorem 4.1 in reference.
- Parameters:
parameters- the raw SABR parameterstau0- the accumulation period start timetau1- the accumulation period end time- Returns:
- the effective SABR parameters
-
effectiveSabr
public SabrFormulaData effectiveSabr(SabrFormulaData parameters, double tau0, double tau1)
The effective SABR parameters from the raw SABR parameters and the times.- Parameters:
parameters- the raw SABR parameterstau0- the accumulation period start timetau1- the accumulation period end time- Returns:
- the effective SABR parameters
-
effectiveSabrAfterStartAd
public List<ValueDerivatives> effectiveSabrAfterStartAd(SabrFormulaData parameters, double tau0, double tau1)
The effective SABR parameters and their derivatives from the raw SABR parameters and the times. Formula in the case tau0 <= 0;The results are provided as a list of ValueDerivatives corresponding to alpha, beta, rho and nu and with each derivatives part containing the derivatives with respect to alpha, beta, rho, nu, tau0 and tau1.
- Parameters:
parameters- the raw SABR parameterstau0- the accumulation period start timetau1- the accumulation period end time- Returns:
- the effective SABR parameters
-
effectiveSabrBeforeStartAd
public List<ValueDerivatives> effectiveSabrBeforeStartAd(SabrFormulaData parameters, double tau0, double tau1)
The effective SABR parameters and their derivatives from the raw SABR parameters and the times. Formula in the case tau0 > 0;The results are provided as a list of ValueDerivatives corresponding to alpha, beta, rho and nu and with each derivatives part containing the derivatives with respect to alpha, beta, rho, nu, tau0 and tau1.
- Parameters:
parameters- the raw SABR parameterstau0- the accumulation period start timetau1- the accumulation period end time- Returns:
- the effective SABR parameters
-
effectiveSabrAd
public List<ValueDerivatives> effectiveSabrAd(SabrFormulaData parameters, double tau0, double tau1)
The effective SABR parameters from the raw SABR parameters and the times.- Parameters:
parameters- the raw SABR parameterstau0- the accumulation period start timetau1- the accumulation period end time- Returns:
- the effective SABR parameters
-
meta
public static SabrInArrearsVolatilityFunction.Meta meta()
The meta-bean forSabrInArrearsVolatilityFunction.- Returns:
- the meta-bean, not null
-
of
public static SabrInArrearsVolatilityFunction of(double q)
Obtains an instance.- Parameters:
q- the value of the property- Returns:
- the instance
-
builder
public static SabrInArrearsVolatilityFunction.Builder builder()
Returns a builder used to create an instance of the bean.- Returns:
- the builder, not null
-
metaBean
public SabrInArrearsVolatilityFunction.Meta metaBean()
- Specified by:
metaBeanin interfaceorg.joda.beans.Bean
-
getQ
public double getQ()
Gets the mean reversion related parameter.- Returns:
- the value of the property
-
toBuilder
public SabrInArrearsVolatilityFunction.Builder toBuilder()
Returns a builder that allows this bean to be mutated.- Returns:
- the mutable builder, not null
-
-