public class FXForwardComponent extends CalibratableComponent
Modifier and Type | Class and Description |
---|---|
class |
FXForwardComponent.FXBasisCalibrator |
Constructor and Description |
---|
FXForwardComponent(java.lang.String strName,
CurrencyPair ccyPair,
int iEffectiveDate,
int iMaturityDate,
double dblNotional,
CashSettleParams csp)
Create an FXForwardComponent from the currency pair, the effective and the maturity dates
|
Modifier and Type | Method and Description |
---|---|
CaseInsensitiveTreeMap<java.lang.Double> |
calibMeasures(ValuationParams valParams,
CreditPricerParams pricerParams,
CurveSurfaceQuoteContainer csqs,
ValuationCustomizationParams vcp)
Generate a Map of the Calibration Measures
|
ProductQuoteSet |
calibQuoteSet(LatentStateSpecification[] aLSS)
Generate the Product Specific Calibration Quote Set
|
CashSettleParams |
cashSettleParams()
Get the Product's cash settlement parameters
|
CaseInsensitiveTreeMap<java.lang.String> |
couponCurrency()
Get the Map of Coupon Currencies
|
CompositePeriodCouponMetrics |
couponMetrics(int iAccrualEndDate,
ValuationParams valParams,
CurveSurfaceQuoteContainer csqs)
Get the Product's coupon Metrics at the specified accrual date
|
java.util.List<CompositePeriod> |
couponPeriods()
Get the Product's Cash Flow Periods
|
CreditLabel |
creditLabel()
Get the Credit Curve Latent State Identifier Label
|
CurrencyPair |
currencyPair()
Get the Currency Pair
|
double |
discountCurveBasis(ValuationParams valParams,
MergedDiscountForwardCurve dcNum,
MergedDiscountForwardCurve dcDenom,
double dblFXSpot,
double dblMarketFXFwdPrice,
boolean bBasisOnDenom)
Calculate the basis to either the numerator or the denominator discount curve
|
JulianDate |
effectiveDate()
Get the Effective Date
|
JulianDate |
firstCouponDate()
Get the First Coupon Date
|
CaseInsensitiveTreeMap<ForwardLabel> |
forwardLabel()
Get the Map of Forward Curve Latent State Labels
|
PredictorResponseWeightConstraint |
forwardPRWC(ValuationParams valParams,
CreditPricerParams pricerParams,
CurveSurfaceQuoteContainer csqs,
ValuationCustomizationParams vcp,
ProductQuoteSet pqs)
Generate the Calibratable Linearized Predictor/Response Constraint Weights for the Non-merged Forward
Factor Latent State from the Component's Cash Flows.
|
int |
freq()
Retrieve the Coupon Frequency
|
PredictorResponseWeightConstraint |
fundingForwardPRWC(ValuationParams valParams,
CreditPricerParams pricerParams,
CurveSurfaceQuoteContainer csqs,
ValuationCustomizationParams vcp,
ProductQuoteSet pqs)
Generate the Calibratable Linearized Predictor/Response Constraint Weights for the merged Funding and
Forward Latent States from the Component's Cash Flows.
|
FundingLabel |
fundingLabel()
Get the Funding Curve Latent State Label
|
PredictorResponseWeightConstraint |
fundingPRWC(ValuationParams valParams,
CreditPricerParams pricerParams,
CurveSurfaceQuoteContainer csqs,
ValuationCustomizationParams vcp,
ProductQuoteSet pqs)
Generate the Calibratable Linearized Predictor/Response Constraint Weights for the Non-merged Funding
Curve Discount Factor Latent State from the Component's Cash Flows.
|
double |
fxForward(ValuationParams valParams,
MergedDiscountForwardCurve dcNum,
MergedDiscountForwardCurve dcDenom,
double dblFXSpot,
boolean bFwdAsPIP)
Imply the FX Forward
|
CaseInsensitiveTreeMap<FXLabel> |
fxLabel()
Get the Map of FX Latent State Identifier Labels
|
PredictorResponseWeightConstraint |
fxPRWC(ValuationParams valParams,
CreditPricerParams pricerParams,
CurveSurfaceQuoteContainer csqs,
ValuationCustomizationParams vcp,
ProductQuoteSet pqs)
Generate the Calibratable Linearized Predictor/Response Constraint Weights for the Non-merged FX Curve
FX Forward Latent State from the Component's Cash Flows.
|
GovvieLabel |
govvieLabel()
Get the Govvie Curve Latent State Label
|
PredictorResponseWeightConstraint |
govviePRWC(ValuationParams valParams,
CreditPricerParams pricerParams,
CurveSurfaceQuoteContainer csqs,
ValuationCustomizationParams vcp,
ProductQuoteSet pqs)
Generate the Calibratable Linearized Predictor/Response Constraint Weights for the Non-merged Govvie
Curve FX Forward Latent State from the Component's Cash Flows.
|
double |
initialNotional()
Get the Initial Notional for the Product
|
WengertJacobian |
jackDDirtyPVDManifestMeasure(ValuationParams valParams,
CreditPricerParams pricerParams,
CurveSurfaceQuoteContainer csqs,
ValuationCustomizationParams quotingParams)
Compute the Jacobian of the Dirty PV to the Calibrated Input Manifest Measures
|
WengertJacobian |
manifestMeasureDFMicroJack(java.lang.String strManifestMeasure,
ValuationParams valParams,
CreditPricerParams pricerParams,
CurveSurfaceQuoteContainer csqs,
ValuationCustomizationParams quotingParams)
Compute the micro-Jacobian of the given measure to the DF
|
JulianDate |
maturityDate()
Get the Maturity Date
|
java.util.Set<java.lang.String> |
measureNames()
Retrieve the ordered set of the measure names whose values will be calculated
|
java.lang.String |
name()
Get the component name
|
double |
notional(int iDate)
Get the Notional for the Product at the given date
|
double |
notional(int iDate1,
int iDate2)
Get the time-weighted Notional for the Product between 2 dates
|
java.lang.String |
payCurrency()
Get the Pay Currency
|
java.lang.String |
primaryCode()
Return the primary code
|
java.lang.String |
principalCurrency()
Get the Principal Currency
|
double |
pv(ValuationParams valParams,
CreditPricerParams pricerParams,
CurveSurfaceQuoteContainer csqs,
ValuationCustomizationParams vcp)
Compute the PV for the specified Market Parameters
|
void |
setPrimaryCode(java.lang.String strCode)
Set the component's primary code
|
CaseInsensitiveTreeMap<java.lang.Double> |
value(ValuationParams valParams,
CreditPricerParams pricerParams,
CurveSurfaceQuoteContainer csqs,
ValuationCustomizationParams vcp)
Generate a full list of the Product measures for the full input set of market parameters
|
CaseInsensitiveTreeMap<VolatilityLabel> |
volatilityLabel()
Get the Map of Volatility Latent State Identifier Labels
|
PredictorResponseWeightConstraint |
volatilityPRWC(ValuationParams valParams,
CreditPricerParams pricerParams,
CurveSurfaceQuoteContainer csqs,
ValuationCustomizationParams vcp,
ProductQuoteSet pqs)
Generate the Calibratable Linearized Predictor/Response Constraint Weights for the Non-merged
Volatility Latent State from the Component's Cash Flows.
|
calibPRWC, secondaryCode
customScenarioMeasures, measures, measureValue, tenor
public FXForwardComponent(java.lang.String strName, CurrencyPair ccyPair, int iEffectiveDate, int iMaturityDate, double dblNotional, CashSettleParams csp) throws java.lang.Exception
strName
- NameccyPair
- Currency PairiEffectiveDate
- Effective DateiMaturityDate
- Maturity DatedblNotional
- Notionalcsp
- Cash Settle Parametersjava.lang.Exception
- Thrown if the inputs are invalidpublic CurrencyPair currencyPair()
public double fxForward(ValuationParams valParams, MergedDiscountForwardCurve dcNum, MergedDiscountForwardCurve dcDenom, double dblFXSpot, boolean bFwdAsPIP) throws java.lang.Exception
valParams
- Valuation ParametersdcNum
- Discount Curve for the numeratordcDenom
- Discount Curve for the denominatordblFXSpot
- FXSpotbFwdAsPIP
- Calculate FXFwd as a PIPjava.lang.Exception
- Thrown if inputs are invalidpublic double discountCurveBasis(ValuationParams valParams, MergedDiscountForwardCurve dcNum, MergedDiscountForwardCurve dcDenom, double dblFXSpot, double dblMarketFXFwdPrice, boolean bBasisOnDenom) throws java.lang.Exception
valParams
- ValuationParamsdcNum
- Discount Curve for the numeratordcDenom
- Discount Curve for the denominatordblFXSpot
- FXSpotdblMarketFXFwdPrice
- FXForward Market ValuebBasisOnDenom
- Boolean indicating whether the basis is applied on the denominator (true) or
denominatorjava.lang.Exception
- Thrown if inputs are invalidpublic java.lang.String name()
ComponentMarketParamRef
public java.lang.String primaryCode()
CalibratableComponent
primaryCode
in class CalibratableComponent
public void setPrimaryCode(java.lang.String strCode)
CalibratableComponent
setPrimaryCode
in class CalibratableComponent
strCode
- Primary Codepublic JulianDate effectiveDate()
Component
effectiveDate
in class Component
public JulianDate maturityDate()
Component
maturityDate
in class Component
public JulianDate firstCouponDate()
Component
firstCouponDate
in class Component
public int freq()
Component
public java.util.List<CompositePeriod> couponPeriods()
Component
couponPeriods
in class Component
public CompositePeriodCouponMetrics couponMetrics(int iAccrualEndDate, ValuationParams valParams, CurveSurfaceQuoteContainer csqs)
Component
couponMetrics
in class Component
iAccrualEndDate
- Accrual End DatevalParams
- The Valuation Parameterscsqs
- Component Market Parameterspublic CaseInsensitiveTreeMap<java.lang.String> couponCurrency()
ComponentMarketParamRef
public java.lang.String payCurrency()
ComponentMarketParamRef
public java.lang.String principalCurrency()
ComponentMarketParamRef
public CreditLabel creditLabel()
ComponentMarketParamRef
public CaseInsensitiveTreeMap<ForwardLabel> forwardLabel()
ComponentMarketParamRef
public FundingLabel fundingLabel()
ComponentMarketParamRef
public GovvieLabel govvieLabel()
ComponentMarketParamRef
public CaseInsensitiveTreeMap<FXLabel> fxLabel()
ComponentMarketParamRef
public CaseInsensitiveTreeMap<VolatilityLabel> volatilityLabel()
ComponentMarketParamRef
public double initialNotional() throws java.lang.Exception
Component
initialNotional
in class Component
java.lang.Exception
- Thrown if Initial Notional cannot be computedpublic double notional(int iDate) throws java.lang.Exception
Component
public double notional(int iDate1, int iDate2) throws java.lang.Exception
Component
public CashSettleParams cashSettleParams()
Component
cashSettleParams
in class Component
public CaseInsensitiveTreeMap<java.lang.Double> value(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp)
Component
public java.util.Set<java.lang.String> measureNames()
Component
measureNames
in class Component
public double pv(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp) throws java.lang.Exception
Component
public CaseInsensitiveTreeMap<java.lang.Double> calibMeasures(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp)
CalibratableComponent
calibMeasures
in class CalibratableComponent
valParams
- Valuation ParameterspricerParams
- Pricer Parameterscsqs
- Market Parametersvcp
- Valuation Customization Parameterspublic ProductQuoteSet calibQuoteSet(LatentStateSpecification[] aLSS)
CalibratableComponent
calibQuoteSet
in class CalibratableComponent
aLSS
- Array of Latent State Specificationpublic PredictorResponseWeightConstraint forwardPRWC(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, ProductQuoteSet pqs)
CalibratableComponent
forwardPRWC
in class CalibratableComponent
valParams
- Valuation ParameterspricerParams
- Pricer Parameterscsqs
- Component Market Parametersvcp
- Valuation Customization Parameterspqs
- Product Quote Setpublic PredictorResponseWeightConstraint fundingPRWC(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, ProductQuoteSet pqs)
CalibratableComponent
fundingPRWC
in class CalibratableComponent
valParams
- Valuation ParameterspricerParams
- Pricer Parameterscsqs
- Component Market Parametersvcp
- Valuation Customization Parameterspqs
- Product Quote Setpublic PredictorResponseWeightConstraint fundingForwardPRWC(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, ProductQuoteSet pqs)
CalibratableComponent
fundingForwardPRWC
in class CalibratableComponent
valParams
- Valuation ParameterspricerParams
- Pricer Parameterscsqs
- Component Market Parametersvcp
- Valuation Customization Parameterspqs
- Product Quote Setpublic PredictorResponseWeightConstraint fxPRWC(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, ProductQuoteSet pqs)
CalibratableComponent
fxPRWC
in class CalibratableComponent
valParams
- Valuation ParameterspricerParams
- Pricer Parameterscsqs
- Component Market Parametersvcp
- Valuation Customization Parameterspqs
- Product Quote Setpublic PredictorResponseWeightConstraint govviePRWC(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, ProductQuoteSet pqs)
CalibratableComponent
govviePRWC
in class CalibratableComponent
valParams
- Valuation ParameterspricerParams
- Pricer Parameterscsqs
- Component Market Parametersvcp
- Valuation Customization Parameterspqs
- Product Quote Setpublic PredictorResponseWeightConstraint volatilityPRWC(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, ProductQuoteSet pqs)
CalibratableComponent
volatilityPRWC
in class CalibratableComponent
valParams
- Valuation ParameterspricerParams
- Pricer Parameterscsqs
- Component Market Parametersvcp
- Valuation Customization Parameterspqs
- Product Quote Setpublic WengertJacobian jackDDirtyPVDManifestMeasure(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams quotingParams)
CalibratableComponent
jackDDirtyPVDManifestMeasure
in class CalibratableComponent
valParams
- Valuation ParameterspricerParams
- Pricer Parameterscsqs
- Component Market ParametersquotingParams
- Valuation Customization Parameterspublic WengertJacobian manifestMeasureDFMicroJack(java.lang.String strManifestMeasure, ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams quotingParams)
CalibratableComponent
manifestMeasureDFMicroJack
in class CalibratableComponent
strManifestMeasure
- Manifest Measure NamevalParams
- Valuation ParameterspricerParams
- Pricer Parameterscsqs
- Component Market ParametersquotingParams
- Valuation Customization Parameters