- java.lang.Object
-
- net.finmath.singleswaprate.products.AbstractAnalyticVolatilityCubeProduct
-
- net.finmath.singleswaprate.products.AbstractSingleSwapRateProduct
-
- net.finmath.singleswaprate.products.NormalizingDummyProduct
-
- All Implemented Interfaces:
AnalyticProduct,Product,AnalyticVolatilityCubeProduct
public class NormalizingDummyProduct extends AbstractSingleSwapRateProduct
A dummy product that only evaluates the value of aNormalizingFunction. This can be used to calibrate the function.- Author:
- Christian Fries, Roland Bachl
-
-
Constructor Summary
Constructors Constructor Description NormalizingDummyProduct(Schedule fixSchedule, Schedule floatSchedule, String discountCurveName, String forwardCurveName, String volatilityCubeName, NormalizingFunction normalizer)Create the dummy product for a normalizer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AnnuityMappingbuildAnnuityMapping(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 doublehedgeWeight(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)Essentially the second derivative of the payoff function.protected doublepayoffFunction(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)Payoff function of the product.protected doublesingularAddon(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 thehedgeweightand added after the integration.-
Methods inherited from class net.finmath.singleswaprate.products.AbstractSingleSwapRateProduct
getDiscountCurveName, getFixSchedule, getFloatSchedule, getForwardCurveName, getIntegrationLowerBound, getIntegrationNumberOfEvaluationPoints, getIntegrationUpperBound, getValue, getValue, getVolatilityCubeName, setIntegrationParameters, valueCall, valuePut
-
Methods inherited from class net.finmath.singleswaprate.products.AbstractAnalyticVolatilityCubeProduct
getValue, getValue, getValue
-
-
-
-
Constructor Detail
-
NormalizingDummyProduct
public NormalizingDummyProduct(Schedule fixSchedule, Schedule floatSchedule, String discountCurveName, String forwardCurveName, String volatilityCubeName, NormalizingFunction normalizer)
Create the dummy product for a normalizer.- Parameters:
fixSchedule- The fix schedule of the product that is going to use this normalizer.floatSchedule- The float schedule of the product that is going to use this normalizer.discountCurveName- The name of the discount curve.forwardCurveName- The name of the forward curve.volatilityCubeName- The name of the volatility cube.normalizer- The normalizer of this dummy.
-
-
Method Detail
-
payoffFunction
protected double payoffFunction(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)Description copied from class:AbstractSingleSwapRateProductPayoff function of the product. Dependent only on the swap rate.- Specified by:
payoffFunctionin classAbstractSingleSwapRateProduct- Parameters:
swapRate- The swap rate.annuityMapping- The annuity mapping to use.model- The model for context.- Returns:
- The payoff of the product.
-
hedgeWeight
protected double hedgeWeight(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)Description copied from class:AbstractSingleSwapRateProductEssentially the second derivative of the payoff function. The hedgeweight determines the weight of the puts and calls under the integral when replicating.- Specified by:
hedgeWeightin classAbstractSingleSwapRateProduct- Parameters:
swapRate- The swap rate.annuityMapping- The annuity mapping to use.model- The model for context.- Returns:
- The weight during replication.
-
singularAddon
protected double singularAddon(double swapRate, AnnuityMapping annuityMapping, VolatilityCubeModel model)Description copied from class:AbstractSingleSwapRateProductAs some products have a portion of their weight in a singular point, this is portion is split off from thehedgeweightand added after the integration.- Specified by:
singularAddonin classAbstractSingleSwapRateProduct- Parameters:
swapRate- The swap rate.annuityMapping- The annuity mapping to use.model- The model for context.- Returns:
- The singular addon.
-
buildAnnuityMapping
protected AnnuityMapping buildAnnuityMapping(VolatilityCubeModel model)
Description copied from class:AbstractSingleSwapRateProductSince 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. This method may be left to returnnull, if the product requires no annuity mapping or is intended to always receive an annuity mapping for evaluation.- Specified by:
buildAnnuityMappingin classAbstractSingleSwapRateProduct- Parameters:
model- The model for context.- Returns:
- The annuity mapping.
-
-