Module net.finmath.lib
Class CorrelationProviderTenorBasis
- java.lang.Object
-
- net.finmath.marketdata.model.volatility.caplet.tenorconversion.CorrelationProviderTenorBasis
-
- All Implemented Interfaces:
CorrelationProvider
public class CorrelationProviderTenorBasis extends Object implements CorrelationProvider
This class implements a correlation provider based on iCap market data. The weekly iCap delivery consists of 3M and 6M caplet volatilities. Using those and the formulas from the Schlenkrich paper we can calculate the correlation between forward rates of the form F(0,0.5*i,0.5*i+0.3) and F(0,0.5*i+0.25,0.5*(i+1)). Those aren't enough though to convert tenors from anything else than 3M to 6M.- Author:
- Daniel Willhalm
- To dos:
- Calibrate a parameterization as suggested by Schlenkrich given the calculated 3M correlations and use this parameterization to extract all missing correlations.
-
-
Constructor Summary
Constructors Constructor Description CorrelationProviderTenorBasis(CapVolMarketData iCap3MCapVolMarketData, CapVolMarketData iCap6MCapVolMarketData)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doubleget3MCorrelation(double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel)doubleget6MCorrelation(double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel)doublegetCorrelation(int oldTenor, double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel, String indexForDiscount)double[][]getCorrelationMatrix3M()double[][]getCorrelationMatrix6M()CapletVolBootstrappinggetICap3MCapletVolBootrapper()double[][]getiCap3MCapletVolMatrix()CapletVolBootstrappinggetICap6MCapletVolBootrapper()double[][]getiCap6MCapletVolMatrix()
-
-
-
Constructor Detail
-
CorrelationProviderTenorBasis
public CorrelationProviderTenorBasis(CapVolMarketData iCap3MCapVolMarketData, CapVolMarketData iCap6MCapVolMarketData)
-
-
Method Detail
-
get6MCorrelation
public double get6MCorrelation(double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel) throws CalculationException- Throws:
CalculationException
-
get3MCorrelation
public double get3MCorrelation(double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel) throws CalculationException- Throws:
CalculationException
-
getiCap3MCapletVolMatrix
public double[][] getiCap3MCapletVolMatrix()
-
getiCap6MCapletVolMatrix
public double[][] getiCap6MCapletVolMatrix()
-
getCorrelationMatrix3M
public double[][] getCorrelationMatrix3M()
-
getCorrelationMatrix6M
public double[][] getCorrelationMatrix6M()
-
getICap3MCapletVolBootrapper
public CapletVolBootstrapping getICap3MCapletVolBootrapper()
-
getICap6MCapletVolBootrapper
public CapletVolBootstrapping getICap6MCapletVolBootrapper()
-
getCorrelation
public double getCorrelation(int oldTenor, double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel, String indexForDiscount) throws CalculationException- Specified by:
getCorrelationin interfaceCorrelationProvider- Throws:
CalculationException
-
-