Package org.drip.state.discount
Class MergedDiscountForwardCurve
java.lang.Object
org.drip.state.discount.DiscountCurve
org.drip.state.discount.MergedDiscountForwardCurve
- All Implemented Interfaces:
Curve,DiscountFactorEstimator,LatentState
- Direct Known Subclasses:
DeterministicCollateralChoiceDiscountCurve,DiscountFactorDiscountCurve,ExplicitBootDiscountCurve,ZeroRateDiscountCurve
public abstract class MergedDiscountForwardCurve extends DiscountCurve
MergedDiscountForwardCurve is the Stub for the Merged Discount and Forward Curve Functionality. It
extends the both the Curve and the DiscountFactorEstimator instances by implementing their functions, and
exposing the following:
- Set the Discount Curve Turns'
- Apply the Turns' DF Adjustment
- Construct the Native Forward Curve for the given Tenor from the Discount Curve
- Compute the Forward Rate between two Dates
- Compute the Forward Rate between two Tenors
- Calculate the implied rate to the given date
- Calculate the implied rate to the given tenor
- Compute the LIBOR between 2 dates given the Day Count
- Compute the LIBOR between 2 dates
- Calculate the LIBOR to the given tenor at the specified Julian Date
- Calculate the DV01 of the Par Swap that Matures at the given date
- Estimate the manifest measure value for the given date
- Proxy the Manifest Measure Value using the Closest Node for the given Date
- Retrieve the Forward Curve that might be implied by the Latent State of this Discount Curve Instance corresponding to the specified Floating Rate Index
- Retrieve the Latent State Quantification Metric
- Retrieve the Manifest Measure Jacobian of the Discount Factor to the given date
- Retrieve the Manifest Measure Jacobian of the Discount Factor to the date implied by the given Tenor
- Calculate the Jacobian of PV at the given date to the Manifest Measure of each component in the calibration set to the DF
- Retrieve the Jacobian of the Forward Rate to the Manifest Measure between the given dates
- Retrieve the Jacobian of the Forward Rate to the Manifest Measure at the given date
- Retrieve the Jacobian for the Zero Rate to the given date
- Convert the inferred Formulation Constraint into a "Truthness" Entity
| Module | Product Core Module |
| Library | Fixed Income Analytics |
| Project | Latent State Inference and Creation Utilities |
| Package | Discount Curve Spline Latent State |
- Author:
- Lakshmi Krishnamurthy
-
Method Summary
Modifier and Type Method Description java.util.Map<java.lang.Integer,java.lang.Double>canonicalTruthness(java.lang.String latentStateQuantificationMetric)Convert the inferred Formulation Constraint into a "Truthness" EntityWengertJacobiancompJackDPVDManifestMeasure(int date)Calculate the Jacobian of PV at the given date to the Manifest Measure of each component in the calibration set to the DFWengertJacobiancompJackDPVDManifestMeasure(JulianDate date)Calculate the Jacobian of PV at the given date to the Manifest Measure of each component in the calibration set to the DFjava.lang.Stringcurrency()Get the Currencydoubledf(java.lang.String tenor)Calculate the Discount Factor to the given Tenordoubledf(JulianDate date)Calculate the discount factor to the given datedoubleeffectiveDF(int date1, int date2)Compute the time-weighted discount factor between 2 datesdoubleeffectiveDF(java.lang.String tenor1, java.lang.String tenor2)Compute the time-weighted discount factor between 2 tenorsdoubleeffectiveDF(JulianDate date1, JulianDate date2)Compute the time-weighted discount factor between 2 datesJulianDateepoch()Get the Epoch DatedoubleestimateManifestMeasure(java.lang.String manifestMeasure, int date)Estimate the manifest measure value for the given dateabstract doubleforward(int date1, int date2)Compute the Forward Rate between two Datesdoubleforward(java.lang.String tenor1, java.lang.String tenor2)Compute the Forward Rate between two Tenorsabstract ForwardRateEstimatorforwardRateEstimator(int date, ForwardLabel forwardLabel)Retrieve the Forward Curve that might be implied by the Latent State of this Discount Curve Instance corresponding to the specified Floating Rate Indexabstract WengertJacobianjackDDFDManifestMeasure(int date, java.lang.String manifestMeasure)Retrieve the Manifest Measure Jacobian of the Discount Factor to the given dateWengertJacobianjackDDFDManifestMeasure(java.lang.String tenor, java.lang.String manifestMeasure)Retrieve the Manifest Measure Jacobian of the Discount Factor to the date implied by the given TenorWengertJacobianjackDDFDManifestMeasure(JulianDate date, java.lang.String manifestMeasure)Retrieve the Manifest Measure Jacobian of the Discount Factor to the given dateWengertJacobianjackDForwardDManifestMeasure(int date1, int date2, java.lang.String manifestMeasure, double elapsedYearFraction)Retrieve the Jacobian of the Forward Rate to the Manifest Measure between the given datesWengertJacobianjackDForwardDManifestMeasure(JulianDate date, java.lang.String tenor, java.lang.String manifestMeasure, double elapsedYearFraction)Retrieve the Jacobian of the Forward Rate to the Manifest Measure at the given dateWengertJacobianjackDForwardDManifestMeasure(JulianDate date1, JulianDate date2, java.lang.String manifestMeasure, double elapsedYearFraction)Retrieve the Jacobian of the Forward Rate to the Manifest Measure between the given datesLatentStateLabellabel()Get the Curve Latent State Identifier Labelabstract java.lang.StringlatentStateQuantificationMetric()Retrieve the Latent State Quantification Metricdoublelibor(int date1, int date2)Compute the LIBOR between 2 datesdoublelibor(int date1, int date2, double yearFraction)Compute the LIBOR between 2 dates given the Year Fraction from the Day Count Conventiondoublelibor(int startDate, java.lang.String tenor)Calculate the LIBOR to the given tenor at the specified datedoublelibor(JulianDate date, java.lang.String tenor)Calculate the LIBOR to the given tenor at the specified Julian DateForwardCurvenativeForwardCurve(java.lang.String tenor)Construct the Native Forward Curve for the given Tenor from the Discount CurvedoubleparSwapDV01(int date)Calculate the DV01 of the Par Swap that Matures at the given datedoubleproxyManifestMeasure(java.lang.String manifestMeasure, int date)Proxy the Manifest Measure Value using the Closest Node for the given DatebooleansetCCIS(CurveConstructionInputSet curveConstructionInputSet)Set the Curve Construction Input Set ParametersbooleansetTurns(TurnListDiscountFactor turnListDiscountFactor)Set the Discount Curve Turns'doubleturnAdjust(int startDate, int finishDate)Apply the Turns' DF Adjustmentabstract doublezero(int date)Calculate the implied rate to the given datedoublezero(java.lang.String tenor)Calculate the implied rate to the given tenorWengertJacobianzeroRateJack(int date, java.lang.String manifestMeasure)Retrieve the Jacobian for the Zero Rate to the given dateWengertJacobianzeroRateJack(JulianDate date, java.lang.String manifestMeasure)Retrieve the Jacobian for the Zero Rate to the given dateMethods inherited from class org.drip.state.discount.DiscountCurve
flatForward, flatNativeForward, flatNativeForward, flatNativeForwardEIMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.drip.analytics.definition.Curve
calibComp, manifestMeasureMethods inherited from interface org.drip.state.discount.DiscountFactorEstimator
dfMethods inherited from interface org.drip.state.representation.LatentState
customTweakManifestMeasure, customTweakQuantificationMetric, parallelShiftManifestMeasure, parallelShiftQuantificationMetric, shiftManifestMeasure
-
Method Details
-
label
Description copied from interface:CurveGet the Curve Latent State Identifier Label- Returns:
- The Curve Latent State Identifier Label
-
currency
public java.lang.String currency()Description copied from interface:CurveGet the Currency- Returns:
- Currency
-
epoch
Description copied from interface:CurveGet the Epoch Date- Returns:
- The Epoch Date
-
setTurns
Set the Discount Curve Turns'- Parameters:
turnListDiscountFactor- Turn List Discount Factor- Returns:
- TRUE - Valid Turn List Discount Factor Set
-
turnAdjust
public double turnAdjust(int startDate, int finishDate) throws java.lang.ExceptionApply the Turns' DF Adjustment- Parameters:
startDate- Turn Start DatefinishDate- Turn Finish Date- Returns:
- Turns' DF Adjustment
- Throws:
java.lang.Exception- Thrown if the Inputs are invalid
-
nativeForwardCurve
Construct the Native Forward Curve for the given Tenor from the Discount Curve- Parameters:
tenor- The Tenor- Returns:
- The Tenor-Native Forward Curve
-
df
Description copied from interface:DiscountFactorEstimatorCalculate the discount factor to the given date- Parameters:
date- Date- Returns:
- Discount factor
- Throws:
java.lang.Exception- Thrown if the discount factor cannot be calculated
-
df
public double df(java.lang.String tenor) throws java.lang.ExceptionDescription copied from interface:DiscountFactorEstimatorCalculate the Discount Factor to the given Tenor- Parameters:
tenor- Tenor- Returns:
- Discount factor
- Throws:
java.lang.Exception- Thrown if the Discount Factor cannot be calculated
-
effectiveDF
public double effectiveDF(int date1, int date2) throws java.lang.ExceptionDescription copied from interface:DiscountFactorEstimatorCompute the time-weighted discount factor between 2 dates- Parameters:
date1- First Datedate2- Second Date- Returns:
- Discount Factor
- Throws:
java.lang.Exception- Thrown if the discount factor cannot be calculated
-
effectiveDF
Description copied from interface:DiscountFactorEstimatorCompute the time-weighted discount factor between 2 dates- Parameters:
date1- First Datedate2- Second Date- Returns:
- Discount Factor
- Throws:
java.lang.Exception- Thrown if the discount factor cannot be calculated
-
effectiveDF
public double effectiveDF(java.lang.String tenor1, java.lang.String tenor2) throws java.lang.ExceptionDescription copied from interface:DiscountFactorEstimatorCompute the time-weighted discount factor between 2 tenors- Parameters:
tenor1- First Datetenor2- Second Date- Returns:
- Discount Factor
- Throws:
java.lang.Exception- Thrown if the discount factor cannot be calculated
-
forward
public abstract double forward(int date1, int date2) throws java.lang.ExceptionCompute the Forward Rate between two Dates- Parameters:
date1- First Datedate2- Second Date- Returns:
- The Forward Rate
- Throws:
java.lang.Exception- Thrown if the Forward Rate cannot be calculated
-
forward
public double forward(java.lang.String tenor1, java.lang.String tenor2) throws java.lang.ExceptionCompute the Forward Rate between two Tenors- Parameters:
tenor1- Tenor Starttenor2- Tenor End- Returns:
- The Forward Rate
- Throws:
java.lang.Exception- Thrown if the Forward Rate cannot be calculated
-
zero
public abstract double zero(int date) throws java.lang.ExceptionCalculate the implied rate to the given date- Parameters:
date- Date- Returns:
- Implied rate
- Throws:
java.lang.Exception- Thrown if the discount factor cannot be calculated
-
zero
public double zero(java.lang.String tenor) throws java.lang.ExceptionCalculate the implied rate to the given tenor- Parameters:
tenor- Tenor- Returns:
- Implied rate
- Throws:
java.lang.Exception- Thrown if the discount factor cannot be calculated
-
libor
public double libor(int date1, int date2, double yearFraction) throws java.lang.ExceptionCompute the LIBOR between 2 dates given the Year Fraction from the Day Count Convention- Parameters:
date1- First Datedate2- Second DateyearFraction- Year Fraction- Returns:
- LIBOR
- Throws:
java.lang.Exception- Thrown if the discount factor cannot be calculated
-
libor
public double libor(int date1, int date2) throws java.lang.ExceptionCompute the LIBOR between 2 dates- Parameters:
date1- First Datedate2- Second Date- Returns:
- LIBOR
- Throws:
java.lang.Exception- Thrown if the discount factor cannot be calculated
-
libor
public double libor(int startDate, java.lang.String tenor) throws java.lang.ExceptionCalculate the LIBOR to the given tenor at the specified date- Parameters:
startDate- Start Datetenor- Tenor- Returns:
- LIBOR
- Throws:
java.lang.Exception- Thrown if LIBOR cannot be calculated
-
libor
Calculate the LIBOR to the given tenor at the specified Julian Date- Parameters:
date- Julian Datetenor- Tenor- Returns:
- LIBOR
- Throws:
java.lang.Exception- Thrown if LIBOR cannot be calculated
-
parSwapDV01
public double parSwapDV01(int date) throws java.lang.ExceptionCalculate the DV01 of the Par Swap that Matures at the given date- Parameters:
date- Date- Returns:
- DV01 of the Par Swap that Matures at the given date
- Throws:
java.lang.Exception- Thrown if DV01 cannot be calculated
-
estimateManifestMeasure
public double estimateManifestMeasure(java.lang.String manifestMeasure, int date) throws java.lang.ExceptionEstimate the manifest measure value for the given date- Parameters:
manifestMeasure- The Manifest Measure to be Estimateddate- Date- Returns:
- The estimated calibrated measure value
- Throws:
java.lang.Exception- Thrown if the estimated manifest measure cannot be computed
-
proxyManifestMeasure
public double proxyManifestMeasure(java.lang.String manifestMeasure, int date) throws java.lang.ExceptionProxy the Manifest Measure Value using the Closest Node for the given Date- Parameters:
manifestMeasure- The Manifest Measure to be Proxieddate- Date- Returns:
- The Measure Value Proxy
- Throws:
java.lang.Exception- Thrown if the Manifest Measure Proxy cannot be computed
-
setCCIS
Description copied from interface:CurveSet the Curve Construction Input Set Parameters- Parameters:
curveConstructionInputSet- The Curve Construction Input Set Parameters- Returns:
- TRUE - Inputs successfully Set
-
forwardRateEstimator
Retrieve the Forward Curve that might be implied by the Latent State of this Discount Curve Instance corresponding to the specified Floating Rate Index- Parameters:
date- The DateforwardLabel- The Floating Rate Index- Returns:
- The Forward Curve Implied by the Discount Curve Latent State
-
latentStateQuantificationMetric
public abstract java.lang.String latentStateQuantificationMetric()Retrieve the Latent State Quantification Metric- Returns:
- The Latent State Quantification Metric
-
jackDDFDManifestMeasure
public abstract WengertJacobian jackDDFDManifestMeasure(int date, java.lang.String manifestMeasure)Retrieve the Manifest Measure Jacobian of the Discount Factor to the given date- Parameters:
date- DatemanifestMeasure- Manifest Measure- Returns:
- The Manifest Measure Jacobian of the Discount Factor to the given date
-
jackDDFDManifestMeasure
Retrieve the Manifest Measure Jacobian of the Discount Factor to the given date- Parameters:
date- DatemanifestMeasure- Manifest Measure- Returns:
- The Manifest Measure Jacobian of the Discount Factor to the given date
-
jackDDFDManifestMeasure
public WengertJacobian jackDDFDManifestMeasure(java.lang.String tenor, java.lang.String manifestMeasure)Retrieve the Manifest Measure Jacobian of the Discount Factor to the date implied by the given Tenor- Parameters:
tenor- TenormanifestMeasure- Manifest Measure- Returns:
- The Manifest Measure Jacobian of the Discount Factor to the date implied by the given Tenor
-
compJackDPVDManifestMeasure
Calculate the Jacobian of PV at the given date to the Manifest Measure of each component in the calibration set to the DF- Parameters:
date- Date for which the Jacobian is needed- Returns:
- The Jacobian
-
compJackDPVDManifestMeasure
Calculate the Jacobian of PV at the given date to the Manifest Measure of each component in the calibration set to the DF- Parameters:
date- Date for which the Jacobian is needed- Returns:
- The Jacobian
-
jackDForwardDManifestMeasure
public WengertJacobian jackDForwardDManifestMeasure(int date1, int date2, java.lang.String manifestMeasure, double elapsedYearFraction)Retrieve the Jacobian of the Forward Rate to the Manifest Measure between the given dates- Parameters:
date1- Date 1date2- Date 2manifestMeasure- Manifest MeasureelapsedYearFraction- The Elapsed Year (in the appropriate Day Count) between dates 1 and 2- Returns:
- The Jacobian
-
jackDForwardDManifestMeasure
public WengertJacobian jackDForwardDManifestMeasure(JulianDate date1, JulianDate date2, java.lang.String manifestMeasure, double elapsedYearFraction)Retrieve the Jacobian of the Forward Rate to the Manifest Measure between the given dates- Parameters:
date1- Julian Date 1date2- Julian Date 2manifestMeasure- Manifest MeasureelapsedYearFraction- The Elapsed Year (in the appropriate Day Count) between dates 1 and 2- Returns:
- The Jacobian
-
jackDForwardDManifestMeasure
public WengertJacobian jackDForwardDManifestMeasure(JulianDate date, java.lang.String tenor, java.lang.String manifestMeasure, double elapsedYearFraction)Retrieve the Jacobian of the Forward Rate to the Manifest Measure at the given date- Parameters:
date- Given Julian Datetenor- TenormanifestMeasure- Manifest MeasureelapsedYearFraction- The Elapsed Year (in the appropriate Day Count) implied by the Tenor- Returns:
- The Jacobian
-
zeroRateJack
Retrieve the Jacobian for the Zero Rate to the given date- Parameters:
date- DatemanifestMeasure- Manifest Measure- Returns:
- The Jacobian
-
zeroRateJack
Retrieve the Jacobian for the Zero Rate to the given date- Parameters:
date- Julian DatemanifestMeasure- Manifest Measure- Returns:
- The Jacobian
-
canonicalTruthness
public java.util.Map<java.lang.Integer,java.lang.Double> canonicalTruthness(java.lang.String latentStateQuantificationMetric)Convert the inferred Formulation Constraint into a "Truthness" Entity- Parameters:
latentStateQuantificationMetric- Latent State Quantification Metric- Returns:
- Map of the Truthness Entities
-