public final class SabrIborCapletFloorletVolatilityBootstrapDefinition extends Object implements IborCapletFloorletVolatilityDefinition, org.joda.beans.ImmutableBean, Serializable
This definition is used with SabrIborCapletFloorletVolatilityBootstrapper.
The SABR parameters are computed by bootstrap along the time direction,
thus the interpolation and left extrapolation for the time dimension must be local.
Either rho or beta must be fixed.
Then the calibration is computed to the other three SABR parameter curves.
The resulting volatilities object will be SabrParametersIborCapletFloorletVolatilities.
| Modifier and Type | Class and Description |
|---|---|
static class |
SabrIborCapletFloorletVolatilityBootstrapDefinition.Builder
The bean-builder for
SabrIborCapletFloorletVolatilityBootstrapDefinition. |
static class |
SabrIborCapletFloorletVolatilityBootstrapDefinition.Meta
The meta-bean for
SabrIborCapletFloorletVolatilityBootstrapDefinition. |
| Modifier and Type | Method and Description |
|---|---|
static SabrIborCapletFloorletVolatilityBootstrapDefinition.Builder |
builder()
Returns a builder used to create an instance of the bean.
|
SurfaceMetadata |
createMetadata(RawOptionData capFloorData)
Creates surface metadata.
|
ImmutableList<CurveMetadata> |
createSabrParameterMetadata()
Creates curve metadata for SABR parameters.
|
boolean |
equals(Object obj) |
Optional<Curve> |
getBetaCurve()
Gets the beta (elasticity) curve.
|
DayCount |
getDayCount()
Gets the day count to measure the time in the expiry dimension.
|
CurveExtrapolator |
getExtrapolatorLeft()
Gets the left extrapolator for the SABR parameter curves.
|
CurveExtrapolator |
getExtrapolatorRight()
Gets the right extrapolator for the SABR parameter curves.
|
IborIndex |
getIndex()
Gets the Ibor index for which the data is valid.
|
CurveInterpolator |
getInterpolator()
Gets the interpolator for the SABR parameter curves.
|
IborCapletFloorletVolatilitiesName |
getName()
Gets the name of the volatilities.
|
Optional<Curve> |
getRhoCurve()
Gets the rho (correlation) curve.
|
SabrVolatilityFormula |
getSabrVolatilityFormula()
Gets the SABR formula.
|
Curve |
getShiftCurve()
Gets the shift curve.
|
int |
hashCode() |
static SabrIborCapletFloorletVolatilityBootstrapDefinition.Meta |
meta()
The meta-bean for
SabrIborCapletFloorletVolatilityBootstrapDefinition. |
SabrIborCapletFloorletVolatilityBootstrapDefinition.Meta |
metaBean() |
static SabrIborCapletFloorletVolatilityBootstrapDefinition |
ofFixedBeta(IborCapletFloorletVolatilitiesName name,
IborIndex index,
DayCount dayCount,
double beta,
CurveInterpolator interpolator,
CurveExtrapolator extrapolatorLeft,
CurveExtrapolator extrapolatorRight,
SabrVolatilityFormula sabrVolatilityFormula)
Obtains an instance with zero shift and constant beta.
|
static SabrIborCapletFloorletVolatilityBootstrapDefinition |
ofFixedBeta(IborCapletFloorletVolatilitiesName name,
IborIndex index,
DayCount dayCount,
double beta,
double shift,
CurveInterpolator interpolator,
CurveExtrapolator extrapolatorLeft,
CurveExtrapolator extrapolatorRight,
SabrVolatilityFormula sabrVolatilityFormula)
Obtains an instance with constant beta and shift.
|
static SabrIborCapletFloorletVolatilityBootstrapDefinition |
ofFixedRho(IborCapletFloorletVolatilitiesName name,
IborIndex index,
DayCount dayCount,
double rho,
CurveInterpolator interpolator,
CurveExtrapolator extrapolatorLeft,
CurveExtrapolator extrapolatorRight,
SabrVolatilityFormula sabrVolatilityFormula)
Obtains an instance with zero shift and constant beta.
|
static SabrIborCapletFloorletVolatilityBootstrapDefinition |
ofFixedRho(IborCapletFloorletVolatilitiesName name,
IborIndex index,
DayCount dayCount,
double rho,
double shift,
CurveInterpolator interpolator,
CurveExtrapolator extrapolatorLeft,
CurveExtrapolator extrapolatorRight,
SabrVolatilityFormula sabrVolatilityFormula)
Obtains an instance with constant beta and shift.
|
SabrIborCapletFloorletVolatilityBootstrapDefinition.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitcreateCappublic static SabrIborCapletFloorletVolatilityBootstrapDefinition ofFixedBeta(IborCapletFloorletVolatilitiesName name, IborIndex index, DayCount dayCount, double beta, CurveInterpolator interpolator, CurveExtrapolator extrapolatorLeft, CurveExtrapolator extrapolatorRight, SabrVolatilityFormula sabrVolatilityFormula)
name - the name of volatilitiesindex - the Ibor indexdayCount - the day countbeta - the beta valueinterpolator - the interpolatorextrapolatorLeft - the left extrapolatorextrapolatorRight - the right extrapolatorsabrVolatilityFormula - the SABR formulapublic static SabrIborCapletFloorletVolatilityBootstrapDefinition ofFixedBeta(IborCapletFloorletVolatilitiesName name, IborIndex index, DayCount dayCount, double beta, double shift, CurveInterpolator interpolator, CurveExtrapolator extrapolatorLeft, CurveExtrapolator extrapolatorRight, SabrVolatilityFormula sabrVolatilityFormula)
name - the name of volatilitiesindex - the Ibor indexdayCount - the day countbeta - the beta valueshift - the shift valueinterpolator - the interpolatorextrapolatorLeft - the left extrapolatorextrapolatorRight - the right extrapolatorsabrVolatilityFormula - the SABR formulapublic static SabrIborCapletFloorletVolatilityBootstrapDefinition ofFixedRho(IborCapletFloorletVolatilitiesName name, IborIndex index, DayCount dayCount, double rho, CurveInterpolator interpolator, CurveExtrapolator extrapolatorLeft, CurveExtrapolator extrapolatorRight, SabrVolatilityFormula sabrVolatilityFormula)
name - the name of volatilitiesindex - the Ibor indexdayCount - the day countrho - the rho valueinterpolator - the interpolatorextrapolatorLeft - the left extrapolatorextrapolatorRight - the right extrapolatorsabrVolatilityFormula - the SABR formulapublic static SabrIborCapletFloorletVolatilityBootstrapDefinition ofFixedRho(IborCapletFloorletVolatilitiesName name, IborIndex index, DayCount dayCount, double rho, double shift, CurveInterpolator interpolator, CurveExtrapolator extrapolatorLeft, CurveExtrapolator extrapolatorRight, SabrVolatilityFormula sabrVolatilityFormula)
name - the name of volatilitiesindex - the Ibor indexdayCount - the day countrho - the rho valueshift - the shift valueinterpolator - the interpolatorextrapolatorLeft - the left extrapolatorextrapolatorRight - the right extrapolatorsabrVolatilityFormula - the SABR formulapublic SurfaceMetadata createMetadata(RawOptionData capFloorData)
IborCapletFloorletVolatilityDefinitioncreateMetadata in interface IborCapletFloorletVolatilityDefinitioncapFloorData - the cap/floor datapublic ImmutableList<CurveMetadata> createSabrParameterMetadata()
public static SabrIborCapletFloorletVolatilityBootstrapDefinition.Meta meta()
SabrIborCapletFloorletVolatilityBootstrapDefinition.public static SabrIborCapletFloorletVolatilityBootstrapDefinition.Builder builder()
public SabrIborCapletFloorletVolatilityBootstrapDefinition.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic IborCapletFloorletVolatilitiesName getName()
getName in interface IborCapletFloorletVolatilityDefinitionpublic IborIndex getIndex()
getIndex in interface IborCapletFloorletVolatilityDefinitionpublic DayCount getDayCount()
getDayCount in interface IborCapletFloorletVolatilityDefinitionpublic Optional<Curve> getBetaCurve()
This represents the beta parameter of SABR model.
The beta will be treated as one of the calibration parameters if this field is not specified.
public Optional<Curve> getRhoCurve()
This represents the rho parameter of SABR model.
The rho will be treated as one of the calibration parameters if this field is not specified.
public Curve getShiftCurve()
This represents the shift parameter of shifted SABR model. The x value of the curve is the expiry.
The shift is set to be zero if this field is not specified.
public CurveInterpolator getInterpolator()
The x value of the interpolated curves is the expiry.
public CurveExtrapolator getExtrapolatorLeft()
The x value of the interpolated curves is the expiry.
public CurveExtrapolator getExtrapolatorRight()
The x value of the interpolated curves is the expiry.
public SabrVolatilityFormula getSabrVolatilityFormula()
public SabrIborCapletFloorletVolatilityBootstrapDefinition.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.