Module net.finmath.lib
Class CorrelationProviderTenorBasis
java.lang.Object
net.finmath.marketdata.model.volatility.caplet.tenorconversion.CorrelationProviderTenorBasis
- All Implemented Interfaces:
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
ConstructorDescriptionCorrelationProviderTenorBasis
(CapVolMarketData iCap3MCapVolMarketData, CapVolMarketData iCap6MCapVolMarketData) -
Method Summary
Modifier and TypeMethodDescriptiondouble
get3MCorrelation
(double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel) double
get6MCorrelation
(double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel) double
getCorrelation
(int oldTenor, double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel, String indexForDiscount) double[][]
double[][]
double[][]
double[][]
-
Constructor Details
-
CorrelationProviderTenorBasis
public CorrelationProviderTenorBasis(CapVolMarketData iCap3MCapVolMarketData, CapVolMarketData iCap6MCapVolMarketData)
-
-
Method Details
-
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
-
getICap6MCapletVolBootrapper
-
getCorrelation
public double getCorrelation(int oldTenor, double firstForwardFixingTimeVectorInYears, double secondForwardFixingTimeVectorInYears, AnalyticModel analyticModel, String indexForDiscount) throws CalculationException - Specified by:
getCorrelation
in interfaceCorrelationProvider
- Throws:
CalculationException
-