Uses of Interface
net.finmath.singleswaprate.model.VolatilityCubeModel
Packages that use VolatilityCubeModel
Package
Description
Contains all classes related to interest rate derivatives, which are evaluated by a change of measure to the annuity measure of a single swap rate.
Classes providing options for the annuity mapping function.
Classes providing calibration to market data of volatility cubes.
Provides classes to store and interact with market data.
Classes extending the regular analytic model, see
net.finmath.marketdata.model
, with the capacity to hold volatility cubes,
see VolatilityCube
.Provides interface specification and implementation of volatility cubes, as well as a factory to create these, either via calibration from market data or construction
from parameters.
Provides interface specification and implementation of product based on a single interest rate curve.
-
Uses of VolatilityCubeModel in net.finmath.singleswaprate
Methods in net.finmath.singleswaprate with parameters of type VolatilityCubeModelModifier and TypeMethodDescriptionstatic SwaptionDataLattice
Utils.convertCashLatticeToNormalVolatility(SwaptionDataLattice cashLattice, VolatilityCubeModel model)
Convert a lattice containing cash settled swaption prices to payer normal volatilities.static SwaptionDataLattice
Utils.shiftCashToPhysicalSmile(VolatilityCubeModel model, SwaptionDataLattice physicalSwaptions, SwaptionDataLattice... cashSwaptions)
Create smiles for physically settled swaptions by shifting the smiles from cash settled swaptions onto atm levels of physically settled swaptions. -
Uses of VolatilityCubeModel in net.finmath.singleswaprate.annuitymapping
Methods in net.finmath.singleswaprate.annuitymapping with parameters of type VolatilityCubeModelModifier and TypeMethodDescriptionAnnuityMappingFactory.build(AnnuityMapping.AnnuityMappingType type, VolatilityCubeModel model)
Build the annuity mapping.static AnnuityMapping
AnnuityMappingFactory.buildAnnuityMapping(double strike, Schedule fixSchedule, Schedule floatSchedule, String discountCurveName, String forwardCurveName, String volatilityCubeName, AnnuityMapping.AnnuityMappingType type, VolatilityCubeModel model)
Build an annuity mapping.static AnnuityMapping
AnnuityMappingFactory.buildAnnuityMapping(double strike, Schedule fixSchedule, Schedule floatSchedule, String discountCurveName, String forwardCurveName, String volatilityCubeName, AnnuityMapping.AnnuityMappingType type, VolatilityCubeModel model, double lowerBound, double upperBound, int numberOfEvaluationPoints)
Build an annuity mapping.Constructors in net.finmath.singleswaprate.annuitymapping with parameters of type VolatilityCubeModelModifierConstructorDescriptionBasicPiterbargAnnuityMapping(Schedule fixSchedule, Schedule floatSchedule, double strike, VolatilityCubeModel model, String discountCurveName, String volatilityCubeName)
Create the annuity mapping.BasicPiterbargAnnuityMapping(Schedule fixSchedule, Schedule floatSchedule, double strike, VolatilityCubeModel model, String discountCurveName, String volatilityCubeName, double lowerBound, double upperBound, int numberOfEvaluationPoints)
Create the annuity mapping.BasicPiterbargAnnuityMapping(Schedule fixSchedule, Schedule floatSchedule, VolatilityCubeModel model, String discountCurveName, String volatilityCubeName)
Create the annuity mapping.ExponentialNormalizer(Schedule fixSchedule, Schedule floatSchedule, String discountCurveName, String forwardCurveName, String volatilityCubeName, VolatilityCubeModel model)
Create the exponential normalizer from information of the product.MultiPiterbargAnnuityMapping(Schedule fixSchedule, Schedule floatSchedule, double strike, VolatilityCubeModel model, String discountCurveName, String forwardCurveName, String volatilityCubeName, double lowerBound, double upperBound, int numberOfEvaluationPoints)
Create the annuity mapping.MultiPiterbargAnnuityMapping(Schedule fixSchedule, Schedule floatSchedule, VolatilityCubeModel model, String discountCurveName, String forwardCurveName, String volatilityCubeName)
Create the annuity mapping. -
Uses of VolatilityCubeModel in net.finmath.singleswaprate.calibration
Methods in net.finmath.singleswaprate.calibration that return VolatilityCubeModelConstructors in net.finmath.singleswaprate.calibration with parameters of type VolatilityCubeModelModifierConstructorDescriptionAbstractCubeCalibration(LocalDate referenceDate, SwaptionDataLattice cashPayerPremiums, SwaptionDataLattice cashReceiverPremiums, VolatilityCubeModel model, AnnuityMapping.AnnuityMappingType annuityMappingType)
Create the calibrator.SABRCubeCalibration(LocalDate referenceDate, SwaptionDataLattice cashPayerPremiums, SwaptionDataLattice cashReceiverPremiums, SwaptionDataLattice physicalPremiumsATM, VolatilityCubeModel model, AnnuityMapping.AnnuityMappingType annuityMappingType)
Create the calibrator.SABRCubeCalibration(LocalDate referenceDate, SwaptionDataLattice cashPayerPremiums, SwaptionDataLattice cashReceiverPremiums, SwaptionDataLattice physicalPremiumsATM, VolatilityCubeModel model, AnnuityMapping.AnnuityMappingType annuityMappingType, double sabrDisplacement, double sabrBeta, double correlationDecay, double iborOisDecorrelation)
Create the calibrator.SABRCubeParallelCalibration(LocalDate referenceDate, SwaptionDataLattice cashPayerPremiums, SwaptionDataLattice cashReceiverPremiums, SwaptionDataLattice physicalATMSwaptions, VolatilityCubeModel model, AnnuityMapping.AnnuityMappingType annuityMappingType)
Create the calibrator.StaticCubeCalibration(LocalDate referenceDate, SwaptionDataLattice cashPayerPremiums, SwaptionDataLattice cashReceiverPremiums, VolatilityCubeModel model, AnnuityMapping.AnnuityMappingType annuityMappingType)
Create the calibrator.StaticCubeCalibration(LocalDate referenceDate, SwaptionDataLattice cashPayerPremiums, SwaptionDataLattice cashReceiverPremiums, VolatilityCubeModel model, AnnuityMapping.AnnuityMappingType annuityMappingType, double initialValue, double initialCorrelationDecay)
Create the calibrator. -
Uses of VolatilityCubeModel in net.finmath.singleswaprate.data
Methods in net.finmath.singleswaprate.data with parameters of type VolatilityCubeModelModifier and TypeMethodDescriptionvoid
ErrorEstimation.evaluate(SwaptionDataLattice nodes, VolatilityCubeModel model)
Evaluate the market data against the model.double
ErrorEstimation.getCashAverageError(int maturity, int termination, VolatilityCubeModel model)
Get the average error in cash settled swaption premiums at a specific node on the tenor grid.double
ErrorEstimation.getCashAverageErrorPercent(int maturity, int termination, VolatilityCubeModel model)
Get the average error in cash settled swaption premiums, in percent difference from the market data at a specific node on the tenor grid.double
ErrorEstimation.getCashMaxError(int maturity, int termination, VolatilityCubeModel model)
Get the maximal error in cash settled swaption premiums at a specific node on the tenor grid.double
ErrorEstimation.getCashMaxErrorPercent(int maturity, int termination, VolatilityCubeModel model)
Get the maximal error in cash settled swaption premiums, in percent difference from the market data at a specific node on the tenor grid. -
Uses of VolatilityCubeModel in net.finmath.singleswaprate.model
Classes in net.finmath.singleswaprate.model that implement VolatilityCubeModelModifier and TypeClassDescriptionclass
Implementation ofVolatilityCubeModel
based onAnalyticModelFromCurvesAndVols
.Methods in net.finmath.singleswaprate.model that return VolatilityCubeModelModifier and TypeMethodDescriptionAnalyticModelWithVolatilityCubes.addVolatilityCube(String volatilityCubeName, VolatilityCube volatilityCube)
AnalyticModelWithVolatilityCubes.addVolatilityCube(VolatilityCube volatilityCube)
VolatilityCubeModel.addVolatilityCube(String volatilityCubeName, VolatilityCube volatilityCube)
Add a reference to the given volatility cube to this model under the name provided.VolatilityCubeModel.addVolatilityCube(VolatilityCube volatilityCube)
Add a reference to the given volatility cube to this model. -
Uses of VolatilityCubeModel in net.finmath.singleswaprate.model.volatilities
Methods in net.finmath.singleswaprate.model.volatilities with parameters of type VolatilityCubeModelModifier and TypeMethodDescriptionVolatilityCubeFactory.buildParallelSABRCube(String name, double rho, double volvol, SwaptionDataLattice physicalATMSwaptions, VolatilityCubeModel model)
Build aSABRVolatilityCubeParallel
from parameters viaSABRVolatilityCubeParallelFactory
.VolatilityCubeFactory.buildSABRVolatilityCube(String name, VolatilityCubeModel model, int[] terminations)
Build aSABRVolatilityCube
by calibration viaSABRCubeCalibration
.VolatilityCubeFactory.buildSABRVolatilityCube(String name, VolatilityCubeModel model, int[] terminations, DataTable initialRhos, DataTable initialBaseVols, DataTable initialVolvols)
Build aSABRVolatilityCube
by calibration viaSABRCubeCalibration
.VolatilityCubeFactory.buildShiftedSmileSABRCube(String name, VolatilityCubeModel model)
Build aSABRVolatilityCube
by calibration viaSABRShiftedSmileCalibration
.static SABRVolatilityCubeParallel
SABRVolatilityCubeParallelFactory.createSABRVolatilityCubeParallel(String cubeName, LocalDate referenceDate, SchedulePrototype fixMetaSchedule, SchedulePrototype floatMetaSchedule, double sabrDisplacement, double sabrBeta, double sabrRho, double sabrVolvol, double correlationDecay, double iborOisDecorrelation, SwaptionDataLattice physicalATMSwaptions, VolatilityCubeModel model, String forwardCurveName)
Build aSABRVolatilityCubeParallel
from given shared parameters and marketdata.double
SABRVolatilityCube.getLowestStrike(VolatilityCubeModel model)
double
SABRVolatilityCubeParallel.getLowestStrike(VolatilityCubeModel model)
double
SABRVolatilityCubeSingleSmile.getLowestStrike(VolatilityCubeModel model)
double
ScaledVolatilityCube.getLowestStrike(VolatilityCubeModel model)
double
StaticVolatilityCube.getLowestStrike(VolatilityCubeModel model)
double
VolatilityCube.getLowestStrike(VolatilityCubeModel model)
Returns the lowest possible value of strike that can be evaluated by this cube.double
VolVolCube.getLowestStrike(VolatilityCubeModel model)
double
SABRVolatilityCube.getValue(VolatilityCubeModel model, double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
double
SABRVolatilityCubeParallel.getValue(VolatilityCubeModel model, double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
double
SABRVolatilityCubeSingleSmile.getValue(VolatilityCubeModel model, double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
double
ScaledVolatilityCube.getValue(VolatilityCubeModel model, double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
double
StaticVolatilityCube.getValue(VolatilityCubeModel model, double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
double
VolatilityCube.getValue(VolatilityCubeModel model, double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
Return the volatility at the specified coordinates in the desired quotation.double
VolVolCube.getValue(VolatilityCubeModel model, double termination, double maturity, double strike, VolatilitySurface.QuotingConvention quotingConvention)
-
Uses of VolatilityCubeModel in net.finmath.singleswaprate.products
Methods in net.finmath.singleswaprate.products with parameters of type VolatilityCubeModelModifier and TypeMethodDescriptionprotected abstract AnnuityMapping
AbstractSingleSwapRateProduct.buildAnnuityMapping(VolatilityCubeModel model)
Since most annuity mappings require data from models to be created, but models are only provided at execution ofgetValue
, the product needs to dynamically be able to build its annuity mapping.protected AnnuityMapping
AnnuityDummyProduct.buildAnnuityMapping(VolatilityCubeModel model)
protected AnnuityMapping
CashSettledPayerSwaption.buildAnnuityMapping(VolatilityCubeModel model)
protected AnnuityMapping
CashSettledReceiverSwaption.buildAnnuityMapping(VolatilityCubeModel model)
protected AnnuityMapping
ConstantMaturitySwap.buildAnnuityMapping(VolatilityCubeModel model)
protected AnnuityMapping
NormalizingDummyProduct.buildAnnuityMapping(VolatilityCubeModel model)
double
AbstractAnalyticVolatilityCubeProduct.getValue(VolatilityCubeModel model)
Return the valuation of the product at time 0 using the given model.double
AbstractSingleSwapRateProduct.getValue(double evaluationTime, AnnuityMapping annuityMapping, VolatilityCubeModel model)
Return the valuation of the product using the given model.double
AbstractSingleSwapRateProduct.getValue(double evaluationTime, VolatilityCubeModel model)
double
AnalyticVolatilityCubeProduct.getValue(double evaluationTime, VolatilityCubeModel model)
Return the valuation of the product using the given model.protected abstract double
AbstractSingleSwapRateProduct.hedgeWeight(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
Essentially the second derivative of the payoff function.protected double
AnnuityDummyProduct.hedgeWeight(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
CashSettledPayerSwaption.hedgeWeight(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
CashSettledReceiverSwaption.hedgeWeight(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
ConstantMaturitySwap.hedgeWeight(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
NormalizingDummyProduct.hedgeWeight(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected abstract double
AbstractSingleSwapRateProduct.payoffFunction(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
Payoff function of the product.protected double
AnnuityDummyProduct.payoffFunction(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
CashSettledPayerSwaption.payoffFunction(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
CashSettledReceiverSwaption.payoffFunction(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
ConstantMaturitySwap.payoffFunction(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
NormalizingDummyProduct.payoffFunction(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected abstract double
AbstractSingleSwapRateProduct.singularAddon(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
As some products have a portion of their weight in a singular point, this is portion is split off from thehedgeweight
and added after the integration.protected double
AnnuityDummyProduct.singularAddon(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
CashSettledPayerSwaption.singularAddon(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
CashSettledReceiverSwaption.singularAddon(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
ConstantMaturitySwap.singularAddon(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
NormalizingDummyProduct.singularAddon(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)
protected double
AbstractSingleSwapRateProduct.valueCall(double optionStrike, VolatilityCubeModel model, double swapRate)
Value of a call option on the swap rate.protected double
AbstractSingleSwapRateProduct.valuePut(double optionStrike, VolatilityCubeModel model, double swapRate)
Value of a put option on the swap rate.