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 class
SabrInArrearsVolatilityFunction.Builder
The bean-builder forSabrInArrearsVolatilityFunction
.static class
SabrInArrearsVolatilityFunction.Meta
The meta-bean forSabrInArrearsVolatilityFunction
.
-
Field Summary
Fields Modifier and Type Field Description static SabrInArrearsVolatilityFunction
DEFAULT
Default implementation with q = 1;
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SabrInArrearsVolatilityFunction.Builder
builder()
Returns a builder used to create an instance of the bean.SabrFormulaData
effectiveSabr(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.SabrFormulaData
effectiveSabrAfterStart(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.SabrFormulaData
effectiveSabrBeforeStart(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.boolean
equals(Object obj)
double
getQ()
Gets the mean reversion related parameter.int
hashCode()
static SabrInArrearsVolatilityFunction.Meta
meta()
The meta-bean forSabrInArrearsVolatilityFunction
.SabrInArrearsVolatilityFunction.Meta
metaBean()
static SabrInArrearsVolatilityFunction
of(double q)
Obtains an instance.SabrInArrearsVolatilityFunction.Builder
toBuilder()
Returns a builder that allows this bean to be mutated.String
toString()
-
-
-
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:
metaBean
in 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
-
-