Package org.drip.product.fra
Class FRAStandardCapFloor
java.lang.Object
org.drip.product.definition.Component
org.drip.product.definition.CalibratableComponent
org.drip.product.option.OptionComponent
org.drip.product.fra.FRAStandardCapFloor
- All Implemented Interfaces:
ComponentMarketParamRef
public class FRAStandardCapFloor extends OptionComponent
FRAStandardCapFloor implements the Caps and Floors on the Standard FRA.
- Module = Product Core Module
- Library = Fixed Income Analytics
- Project = Product Components/Baskets for Credit, FRA, FX, Govvie, Rates, and Option AssetClasses
- Package = Standard/Market FRAs - Caps/Floors
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description FRAStandardCapFloor(java.lang.String strName, Stream stream, java.lang.String strManifestMeasure, boolean bIsCap, double dblStrike, LastTradingDateSetting ltds, CashSettleParams csp, FokkerPlanckGenerator fpg)
FRAStandardCapFloor constructor -
Method Summary
Modifier and Type Method Description double
atmPriceFromVolatility(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, double dblFlatVolatility)
Compute the ATM Cap/Floor Price from the Flat Volatilityjava.util.List<FRAStandardCapFloorlet>
capFloorlets()
Retrieve the List of the Underlying Caplets/Floorletsdouble
flatVolatilityFromPrice(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, double dblCalibPrice)
Imply the Flat Cap/Floor Volatility from the Calibration Priceboolean
isCap()
Indicate if this is a Cap or Floorjava.util.Set<java.lang.String>
measureNames()
Retrieve the ordered set of the measure names whose values will be calculateddouble
priceFromFlatVolatility(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, double dblFlatVolatility)
Compute the Cap/Floor Price from the Flat Volatilitydouble
pv(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqc, ValuationCustomizationParams vcp)
Compute the PV for the specified Market ParametersStream
stream()
Retrieve the Stream Instance Underlying the Capboolean
stripPiecewiseForwardVolatility(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, double dblCapVolatility, java.util.Map<JulianDate,java.lang.Double> mapDateVol)
Strip the Piece-wise Constant Forward Rate Volatility of the Unmarked Segment of the Volatility Term StructureCaseInsensitiveTreeMap<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 parametersdouble
volatilityFromATMPrice(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, double dblCalibPrice)
Imply the Flat Cap/Floor Volatility from the Calibration ATM PricePredictorResponseWeightConstraint
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.Methods inherited from class org.drip.product.option.OptionComponent
calibMeasures, calibQuoteSet, cashSettleParams, couponCurrency, couponMetrics, couponPeriods, creditLabel, effectiveDate, exerciseDate, firstCouponDate, forwardLabel, forwardPRWC, freq, fundingForwardPRWC, fundingLabel, fundingPRWC, fxLabel, fxPRWC, govvieLabel, govviePRWC, initialNotional, jackDDirtyPVDManifestMeasure, lastTradingDateSetting, manifestMeasure, manifestMeasureDFMicroJack, maturityDate, name, notional, notional, notional, otcFixFloatLabel, payCurrency, primaryCode, principalCurrency, setPrimaryCode, strike, underlying, volatilityLabel
Methods inherited from class org.drip.product.definition.CalibratableComponent
calibPRWC, secondaryCode
Methods inherited from class org.drip.product.definition.Component
customScenarioMeasures, maturityPayDate, measures, measureValue, tenor
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
FRAStandardCapFloor
public FRAStandardCapFloor(java.lang.String strName, Stream stream, java.lang.String strManifestMeasure, boolean bIsCap, double dblStrike, LastTradingDateSetting ltds, CashSettleParams csp, FokkerPlanckGenerator fpg) throws java.lang.ExceptionFRAStandardCapFloor constructor- Parameters:
strName
- Name of the Cap/Floor Instancestream
- The Underlying StreamstrManifestMeasure
- Measure of the Underlying ComponentbIsCap
- Is the FRA Option a Cap? TRUE - YESdblStrike
- Strike of the Underlying Component's Measureltds
- Last Trading Date Settingcsp
- Cash Settle Parametersfpg
- The Fokker Planck Pricer Instance- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
value
public CaseInsensitiveTreeMap<java.lang.Double> value(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp)Description copied from class:Component
Generate a full list of the Product measures for the full input set of market parameters -
measureNames
public java.util.Set<java.lang.String> measureNames()Description copied from class:Component
Retrieve the ordered set of the measure names whose values will be calculated- Specified by:
measureNames
in classComponent
- Returns:
- Set of Measure Names
-
pv
public double pv(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqc, ValuationCustomizationParams vcp) throws java.lang.ExceptionDescription copied from class:Component
Compute the PV for the specified Market Parameters -
stream
Retrieve the Stream Instance Underlying the Cap- Returns:
- The Stream Instance Underlying the Cap
-
isCap
public boolean isCap()Indicate if this is a Cap or Floor- Returns:
- TRUE - The Product is a Cap
-
capFloorlets
Retrieve the List of the Underlying Caplets/Floorlets- Returns:
- The List of the Underlying Caplets/Floorlets
-
atmPriceFromVolatility
public double atmPriceFromVolatility(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, double dblFlatVolatility) throws java.lang.ExceptionCompute the ATM Cap/Floor Price from the Flat Volatility- Parameters:
valParams
- The Valuation ParameterspricerParams
- The Pricer Parameterscsqs
- The Market Parametersvcp
- The Valuation Customization ParametersdblFlatVolatility
- The Flat Volatility- Returns:
- The Cap/Floor ATM Price
- Throws:
java.lang.Exception
- Thrown if the ATM Price cannot be calculated
-
volatilityFromATMPrice
public double volatilityFromATMPrice(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, double dblCalibPrice) throws java.lang.ExceptionImply the Flat Cap/Floor Volatility from the Calibration ATM Price- Parameters:
valParams
- The Valuation ParameterspricerParams
- The Pricer Parameterscsqs
- The Market Parametersvcp
- The Valuation Customization ParametersdblCalibPrice
- The Calibration Price- Returns:
- The Cap/Floor Flat Volatility
- Throws:
java.lang.Exception
- Thrown if the Flat Volatility cannot be calculated
-
priceFromFlatVolatility
public double priceFromFlatVolatility(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, double dblFlatVolatility) throws java.lang.ExceptionCompute the Cap/Floor Price from the Flat Volatility- Parameters:
valParams
- The Valuation ParameterspricerParams
- The Pricer Parameterscsqs
- The Market Parametersvcp
- The Valuation Customization ParametersdblFlatVolatility
- The Flat Volatility- Returns:
- The Cap/Floor Price
- Throws:
java.lang.Exception
- Thrown if the Price cannot be calculated
-
flatVolatilityFromPrice
public double flatVolatilityFromPrice(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, double dblCalibPrice) throws java.lang.ExceptionImply the Flat Cap/Floor Volatility from the Calibration Price- Parameters:
valParams
- The Valuation ParameterspricerParams
- The Pricer Parameterscsqs
- The Market Parametersvcp
- The Valuation Customization ParametersdblCalibPrice
- The Calibration Price- Returns:
- The Cap/Floor Flat Volatility
- Throws:
java.lang.Exception
- Thrown if the Price cannot be calculated
-
stripPiecewiseForwardVolatility
public boolean stripPiecewiseForwardVolatility(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, double dblCapVolatility, java.util.Map<JulianDate,java.lang.Double> mapDateVol)Strip the Piece-wise Constant Forward Rate Volatility of the Unmarked Segment of the Volatility Term Structure- Parameters:
valParams
- The Valuation ParameterspricerParams
- The pricer Parameterscsqs
- The Market Parametersvcp
- The Valuation Customization ParametersdblCapVolatility
- The Flat Cap VolatilitymapDateVol
- The Date/Volatility Map- Returns:
- TRUE - The Forward Rate Volatility of the Unmarked Segment of the Volatility Term Structure successfully implied
-
volatilityPRWC
public PredictorResponseWeightConstraint volatilityPRWC(ValuationParams valParams, CreditPricerParams pricerParams, CurveSurfaceQuoteContainer csqs, ValuationCustomizationParams vcp, ProductQuoteSet pqs)Description copied from class:CalibratableComponent
Generate the Calibratable Linearized Predictor/Response Constraint Weights for the Non-merged Volatility Latent State from the Component's Cash Flows. The Constraints here typically correspond to Date/Cash Flow pairs and the corresponding leading PV.- Specified by:
volatilityPRWC
in classCalibratableComponent
- Parameters:
valParams
- Valuation ParameterspricerParams
- Pricer Parameterscsqs
- Component Market Parametersvcp
- Valuation Customization Parameterspqs
- Product Quote Set- Returns:
- The Calibratable Linearized Predictor/Response Constraints (Date/Cash Flow pairs and the corresponding PV)
-