Package org.drip.state.curve
Class ForeignCollateralizedDiscountCurve
java.lang.Object
org.drip.state.discount.DiscountCurve
org.drip.state.discount.MergedDiscountForwardCurve
org.drip.state.discount.ExplicitBootDiscountCurve
org.drip.state.curve.ForeignCollateralizedDiscountCurve
- All Implemented Interfaces:
Curve
,ExplicitBootCurve
,DiscountFactorEstimator
,LatentState
public class ForeignCollateralizedDiscountCurve extends ExplicitBootDiscountCurve
ForeignCollateralizedDiscountCurve computes the discount factor corresponding to one unit of
domestic currency collateralized by a foreign collateral.
Module | Product Core Module |
Library | Fixed Income Analytics |
Project | Latent State Inference and Creation Utilities |
Package | Basis Spline Based Latent States |
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description ForeignCollateralizedDiscountCurve(java.lang.String currency, MergedDiscountForwardCurve foreignCollateralizedDiscountCurve, FXCurve fxCurve, VolatilityCurve foreignCollateralizedVolatilityCurve, VolatilityCurve fxVolatilityCurve, R1ToR1 collateralForeignFXCorrelationFunction)
ForeignCollateralizedDiscountCurve constructor -
Method Summary
Modifier and Type Method Description boolean
bumpNodeValue(int nodeIndex, double value)
Bump the node value at the node specified the index by the valuejava.util.Map<java.lang.Integer,java.lang.Double>
canonicalTruthness(java.lang.String latentQuantificationMetric)
Convert the inferred Formulation Constraint into a "Truthness" EntityFlatForwardDiscountCurve
createBasisRateShiftedCurve(int[] dateArray, double[] basisArray)
Create a shifted curve from an array of basis shiftsExplicitBootDiscountCurve
customTweakManifestMeasure(java.lang.String manifestMeasure, ManifestMeasureTweak manifestMeasureTweak)
Create a LatentState Instance from the Manifest Measure Tweak ParametersCurve
customTweakQuantificationMetric(ManifestMeasureTweak manifestMeasureTweak)
Create a LatentState Instance from the Quantification Metric Tweak Parametersdouble
df(int date)
Calculate the Discount Factor to the given Datedouble
forward(int date1, int date2)
Compute the Forward Rate between two DatesForwardRateEstimator
forwardRateEstimator(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 IndexWengertJacobian
jackDDFDManifestMeasure(int date, java.lang.String manifestMeasure)
Retrieve the Manifest Measure Jacobian of the Discount Factor to the given datejava.lang.String
latentStateQuantificationMetric()
Retrieve the Latent State Quantification MetricFlatForwardDiscountCurve
parallelShiftManifestMeasure(java.lang.String manifestMeasure, double shift)
Create a LatentState Instance from the Manifest Measure Parallel ShiftFlatForwardDiscountCurve
parallelShiftQuantificationMetric(double shift)
Create a LatentState Instance from the Quantification Metric Parallel Shiftboolean
setFlatValue(double value)
Set the flat value across all the nodesboolean
setNodeValue(int nodeIndex, double value)
Set the Value/Slope at the Node specified by the IndexFlatForwardDiscountCurve
shiftManifestMeasure(int spanIndex, java.lang.String manifestMeasure, double shift)
Create a LatentState Instance from the Shift of the Specified Manifest Measuredouble
zero(int date)
Calculate the implied rate to the given dateMethods inherited from class org.drip.state.discount.ExplicitBootDiscountCurve
calibComp, manifestMeasure, setCCIS
Methods inherited from class org.drip.state.discount.MergedDiscountForwardCurve
compJackDPVDManifestMeasure, compJackDPVDManifestMeasure, currency, df, df, effectiveDF, effectiveDF, effectiveDF, epoch, estimateManifestMeasure, forward, jackDDFDManifestMeasure, jackDDFDManifestMeasure, jackDForwardDManifestMeasure, jackDForwardDManifestMeasure, jackDForwardDManifestMeasure, label, libor, libor, libor, libor, nativeForwardCurve, parSwapDV01, proxyManifestMeasure, setTurns, turnAdjust, zero, zeroRateJack, zeroRateJack
Methods inherited from class org.drip.state.discount.DiscountCurve
flatForward, flatNativeForward, flatNativeForward, flatNativeForwardEI
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
ForeignCollateralizedDiscountCurve
public ForeignCollateralizedDiscountCurve(java.lang.String currency, MergedDiscountForwardCurve foreignCollateralizedDiscountCurve, FXCurve fxCurve, VolatilityCurve foreignCollateralizedVolatilityCurve, VolatilityCurve fxVolatilityCurve, R1ToR1 collateralForeignFXCorrelationFunction) throws java.lang.ExceptionForeignCollateralizedDiscountCurve constructor- Parameters:
currency
- The CurrencyforeignCollateralizedDiscountCurve
- The Collateralized Foreign Discount CurvefxCurve
- The FX Forward CurveforeignCollateralizedVolatilityCurve
- The Foreign Collateral Volatility CurvefxVolatilityCurve
- The FX Volatility CurvecollateralForeignFXCorrelationFunction
- The FX Foreign Collateral Correlation Curve- Throws:
java.lang.Exception
- Thrown if the Inputs are invalid
-
-
Method Details
-
df
public double df(int date) throws java.lang.ExceptionDescription copied from interface:DiscountFactorEstimator
Calculate 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
-
forward
public double forward(int date1, int date2) throws java.lang.ExceptionDescription copied from class:MergedDiscountForwardCurve
Compute the Forward Rate between two Dates- Specified by:
forward
in classMergedDiscountForwardCurve
- Parameters:
date1
- First Datedate2
- Second Date- Returns:
- The Forward Rate
- Throws:
java.lang.Exception
- Thrown if the Forward Rate cannot be calculated
-
zero
public double zero(int date) throws java.lang.ExceptionDescription copied from class:MergedDiscountForwardCurve
Calculate the implied rate to the given date- Specified by:
zero
in classMergedDiscountForwardCurve
- Parameters:
date
- Date- Returns:
- Implied rate
- Throws:
java.lang.Exception
- Thrown if the discount factor cannot be calculated
-
forwardRateEstimator
Description copied from class:MergedDiscountForwardCurve
Retrieve the Forward Curve that might be implied by the Latent State of this Discount Curve Instance corresponding to the specified Floating Rate Index- Specified by:
forwardRateEstimator
in classMergedDiscountForwardCurve
- Parameters:
date
- The DateforwardLabel
- The Floating Rate Index- Returns:
- The Forward Curve Implied by the Discount Curve Latent State
-
canonicalTruthness
public java.util.Map<java.lang.Integer,java.lang.Double> canonicalTruthness(java.lang.String latentQuantificationMetric)Description copied from class:MergedDiscountForwardCurve
Convert the inferred Formulation Constraint into a "Truthness" Entity- Overrides:
canonicalTruthness
in classMergedDiscountForwardCurve
- Parameters:
latentQuantificationMetric
- Latent State Quantification Metric- Returns:
- Map of the Truthness Entities
-
parallelShiftManifestMeasure
public FlatForwardDiscountCurve parallelShiftManifestMeasure(java.lang.String manifestMeasure, double shift)Description copied from interface:LatentState
Create a LatentState Instance from the Manifest Measure Parallel Shift- Parameters:
manifestMeasure
- The Specified Manifest Measureshift
- Parallel shift of the Manifest Measure- Returns:
- New LatentState Instance corresponding to the Parallel Shifted Manifest Measure
-
shiftManifestMeasure
public FlatForwardDiscountCurve shiftManifestMeasure(int spanIndex, java.lang.String manifestMeasure, double shift)Description copied from interface:LatentState
Create a LatentState Instance from the Shift of the Specified Manifest Measure- Parameters:
spanIndex
- Index into the Span that identifies the InstrumentmanifestMeasure
- The Specified Manifest Measureshift
- Shift of the Manifest Measure- Returns:
- New LatentState Instance corresponding to the Shift of the Specified Manifest Measure
-
customTweakManifestMeasure
public ExplicitBootDiscountCurve customTweakManifestMeasure(java.lang.String manifestMeasure, ManifestMeasureTweak manifestMeasureTweak)Description copied from interface:LatentState
Create a LatentState Instance from the Manifest Measure Tweak Parameters- Parameters:
manifestMeasure
- The Specified Manifest MeasuremanifestMeasureTweak
- Manifest Measure Tweak Parameters- Returns:
- New LatentState Instance corresponding to the Tweaked Manifest Measure
-
parallelShiftQuantificationMetric
Description copied from interface:LatentState
Create a LatentState Instance from the Quantification Metric Parallel Shift- Parameters:
shift
- Parallel shift of the Quantification Metric- Returns:
- New LatentState Instance corresponding to the Parallel Shifted Quantification Metric
-
customTweakQuantificationMetric
Description copied from interface:LatentState
Create a LatentState Instance from the Quantification Metric Tweak Parameters- Parameters:
manifestMeasureTweak
- Quantification Metric Tweak Parameters- Returns:
- New LatentState Instance corresponding to the Tweaked Quantification Metric
-
createBasisRateShiftedCurve
Description copied from class:ExplicitBootDiscountCurve
Create a shifted curve from an array of basis shifts- Specified by:
createBasisRateShiftedCurve
in classExplicitBootDiscountCurve
- Parameters:
dateArray
- Array of datesbasisArray
- Array of basis- Returns:
- Discount Curve
-
latentStateQuantificationMetric
public java.lang.String latentStateQuantificationMetric()Description copied from class:MergedDiscountForwardCurve
Retrieve the Latent State Quantification Metric- Specified by:
latentStateQuantificationMetric
in classMergedDiscountForwardCurve
- Returns:
- The Latent State Quantification Metric
-
jackDDFDManifestMeasure
Description copied from class:MergedDiscountForwardCurve
Retrieve the Manifest Measure Jacobian of the Discount Factor to the given date- Specified by:
jackDDFDManifestMeasure
in classMergedDiscountForwardCurve
- Parameters:
date
- DatemanifestMeasure
- Manifest Measure- Returns:
- The Manifest Measure Jacobian of the Discount Factor to the given date
-
setNodeValue
public boolean setNodeValue(int nodeIndex, double value)Description copied from interface:ExplicitBootCurve
Set the Value/Slope at the Node specified by the Index- Parameters:
nodeIndex
- Node Indexvalue
- Node Value- Returns:
- Success (true), failure (false)
-
bumpNodeValue
public boolean bumpNodeValue(int nodeIndex, double value)Description copied from interface:ExplicitBootCurve
Bump the node value at the node specified the index by the value- Parameters:
nodeIndex
- node indexvalue
- node bump value- Returns:
- Success (true), failure (false)
-
setFlatValue
public boolean setFlatValue(double value)Description copied from interface:ExplicitBootCurve
Set the flat value across all the nodes- Parameters:
value
- node value- Returns:
- Success (true), failure (false)
-