public abstract class FXCurve extends java.lang.Object implements Curve
Modifier and Type | Method and Description |
---|---|
abstract double[] |
bootstrapBasis(int[] aiDateNode,
ValuationParams valParams,
MergedDiscountForwardCurve dcNum,
MergedDiscountForwardCurve dcDenom,
boolean bBasisOnDenom)
Bootstrap the basis to the discount curve inputs
|
abstract MergedDiscountForwardCurve |
bootstrapBasisDC(int[] aiDateNode,
ValuationParams valParams,
MergedDiscountForwardCurve dcNum,
MergedDiscountForwardCurve dcDenom,
boolean bBasisOnDenom)
Bootstrap the discount curve from the discount curve inputs
|
CalibratableComponent[] |
calibComp()
Retrieve the Calibration Components
|
java.lang.String |
currency()
Get the Currency
|
CurrencyPair |
currencyPair()
Return the CurrencyPair
|
LatentState |
customTweakManifestMeasure(java.lang.String strManifestMeasure,
ManifestMeasureTweak rvtp)
Create a LatentState Instance from the Manifest Measure Tweak Parameters
|
LatentState |
customTweakQuantificationMetric(ManifestMeasureTweak rvtp)
Create a LatentState Instance from the Quantification Metric Tweak Parameters
|
JulianDate |
epoch()
Get the Epoch Date
|
abstract double |
fx(int iDate)
Calculate the FX Forward to the given Date
|
double |
fx(JulianDate dt)
Calculate the FX Forward to the given date
|
double |
fx(java.lang.String strTenor)
Calculate the FX Forward to the given date
|
abstract double[] |
impliedNodeRates(int[] aiDateNode,
ValuationParams valParams,
MergedDiscountForwardCurve dcNum,
MergedDiscountForwardCurve dcDenom,
boolean bBasisOnDenom)
Calculate the rates implied by the discount curve inputs
|
abstract WengertJacobian |
jackDForwardDManifestMeasure(java.lang.String strManifestMeasure,
int iDate)
Retrieve the Manifest Measure Jacobian of the Forward Rate to the given date
|
WengertJacobian |
jackDForwardDManifestMeasure(java.lang.String strManifestMeasure,
JulianDate dt)
Retrieve the Manifest Measure Jacobian of the Forward Rate to the given date
|
WengertJacobian |
jackDForwardDManifestMeasure(java.lang.String strManifestMeasure,
java.lang.String strTenor)
Retrieve the Manifest Measure Jacobian of the Forward Rate to the date implied by the given Tenor
|
LatentStateLabel |
label()
Get the Curve Latent State Identifier Label
|
CaseInsensitiveTreeMap<java.lang.Double> |
manifestMeasure(java.lang.String strInstr)
Retrieve the Manifest Measure Map of the given Instrument used to construct the Curve
|
LatentState |
parallelShiftManifestMeasure(java.lang.String strManifestMeasure,
double dblShift)
Create a LatentState Instance from the Manifest Measure Parallel Shift
|
LatentState |
parallelShiftQuantificationMetric(double dblShift)
Create a LatentState Instance from the Quantification Metric Parallel Shift
|
abstract double |
rate(int[] aiDateNode,
ValuationParams valParams,
MergedDiscountForwardCurve dcNum,
MergedDiscountForwardCurve dcDenom,
int iDate,
boolean bBasisOnDenom)
Calculate the rate implied by the discount curve inputs to a specified date
|
boolean |
setCCIS(CurveConstructionInputSet ccis)
Set the Curve Construction Input Set Parameters
|
LatentState |
shiftManifestMeasure(int iSpanIndex,
java.lang.String strManifestMeasure,
double dblShift)
Create a LatentState Instance from the Shift of the Specified Manifest Measure
|
abstract double[] |
zeroBasis(int[] aiDateNode,
ValuationParams valParams,
MergedDiscountForwardCurve dcNum,
MergedDiscountForwardCurve dcDenom,
boolean bBasisOnDenom)
Calculate the set of Zero basis given the input discount curves
|
public abstract double fx(int iDate) throws java.lang.Exception
iDate
- Datejava.lang.Exception
- Thrown if the FX Forward cannot be calculatedpublic abstract double[] zeroBasis(int[] aiDateNode, ValuationParams valParams, MergedDiscountForwardCurve dcNum, MergedDiscountForwardCurve dcDenom, boolean bBasisOnDenom)
aiDateNode
- Array of Date NodesvalParams
- Valuation ParametersdcNum
- Discount Curve NumeratordcDenom
- Discount Curve DenominatorbBasisOnDenom
- True if the basis is calculated on the denominator discount curvepublic abstract double[] bootstrapBasis(int[] aiDateNode, ValuationParams valParams, MergedDiscountForwardCurve dcNum, MergedDiscountForwardCurve dcDenom, boolean bBasisOnDenom)
aiDateNode
- Array of Date NodesvalParams
- Valuation ParametersdcNum
- Discount Curve NumeratordcDenom
- Discount Curve DenominatorbBasisOnDenom
- True if the basis is calculated on the denominator discount curvepublic abstract MergedDiscountForwardCurve bootstrapBasisDC(int[] aiDateNode, ValuationParams valParams, MergedDiscountForwardCurve dcNum, MergedDiscountForwardCurve dcDenom, boolean bBasisOnDenom)
aiDateNode
- Array of Date NodesvalParams
- Valuation ParametersdcNum
- Discount Curve NumeratordcDenom
- Discount Curve DenominatorbBasisOnDenom
- True if the basis is calculated on the denominator discount curvepublic abstract double[] impliedNodeRates(int[] aiDateNode, ValuationParams valParams, MergedDiscountForwardCurve dcNum, MergedDiscountForwardCurve dcDenom, boolean bBasisOnDenom)
aiDateNode
- Array of Date NodesvalParams
- Valuation ParametersdcNum
- Discount Curve NumeratordcDenom
- Discount Curve DenominatorbBasisOnDenom
- True if the basis is calculated on the denominator discount curvepublic abstract double rate(int[] aiDateNode, ValuationParams valParams, MergedDiscountForwardCurve dcNum, MergedDiscountForwardCurve dcDenom, int iDate, boolean bBasisOnDenom) throws java.lang.Exception
aiDateNode
- Array of Date NodesvalParams
- ValuationParamsdcNum
- Discount Curve NumeratordcDenom
- Discount Curve DenominatoriDate
- Date to which the implied rate is soughtbBasisOnDenom
- True if the implied rate is calculated on the denominator discount curvejava.lang.Exception
- Thrown if the implied rate cannot be calculatedpublic LatentStateLabel label()
Curve
public java.lang.String currency()
Curve
public JulianDate epoch()
Curve
public CurrencyPair currencyPair()
public double fx(JulianDate dt) throws java.lang.Exception
dt
- Datejava.lang.Exception
- Thrown if the FX Forward cannot be calculatedpublic double fx(java.lang.String strTenor) throws java.lang.Exception
strTenor
- The Tenorjava.lang.Exception
- Thrown if the FX Forward cannot be calculatedpublic boolean setCCIS(CurveConstructionInputSet ccis)
Curve
public CalibratableComponent[] calibComp()
Curve
public CaseInsensitiveTreeMap<java.lang.Double> manifestMeasure(java.lang.String strInstr)
Curve
manifestMeasure
in interface Curve
strInstr
- The Calibration Instrument's Code whose Manifest Measure Map is soughtpublic LatentState parallelShiftManifestMeasure(java.lang.String strManifestMeasure, double dblShift)
LatentState
parallelShiftManifestMeasure
in interface LatentState
strManifestMeasure
- The Specified Manifest MeasuredblShift
- Parallel shift of the Manifest Measurepublic LatentState shiftManifestMeasure(int iSpanIndex, java.lang.String strManifestMeasure, double dblShift)
LatentState
shiftManifestMeasure
in interface LatentState
iSpanIndex
- Index into the Span that identifies the InstrumentstrManifestMeasure
- The Specified Manifest MeasuredblShift
- Shift of the Manifest Measurepublic LatentState customTweakManifestMeasure(java.lang.String strManifestMeasure, ManifestMeasureTweak rvtp)
LatentState
customTweakManifestMeasure
in interface LatentState
strManifestMeasure
- The Specified Manifest Measurervtp
- Manifest Measure Tweak Parameterspublic LatentState parallelShiftQuantificationMetric(double dblShift)
LatentState
parallelShiftQuantificationMetric
in interface LatentState
dblShift
- Parallel shift of the Quantification Metricpublic LatentState customTweakQuantificationMetric(ManifestMeasureTweak rvtp)
LatentState
customTweakQuantificationMetric
in interface LatentState
rvtp
- Quantification Metric Tweak Parameterspublic abstract WengertJacobian jackDForwardDManifestMeasure(java.lang.String strManifestMeasure, int iDate)
strManifestMeasure
- Manifest MeasureiDate
- Datepublic WengertJacobian jackDForwardDManifestMeasure(java.lang.String strManifestMeasure, JulianDate dt)
strManifestMeasure
- Manifest Measuredt
- Datepublic WengertJacobian jackDForwardDManifestMeasure(java.lang.String strManifestMeasure, java.lang.String strTenor)
strManifestMeasure
- Manifest MeasurestrTenor
- Tenor