// calculates calibrated parallel IR01 for one scenario internal CurrencyAmount ir01CalibratedParallel(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { PointSensitivities pointSensitivity = tradePricer.presentValueOnSettleSensitivity(trade, ratesProvider, refData); CurrencyParameterSensitivity irSensitivity = ratesProvider.singleDiscountCurveParameterSensitivity(pointSensitivity, trade.Product.Currency); return(irSensitivity.total().multipliedBy(ONE_BASIS_POINT)); }
// calculates market quote sum PV01 for one scenario internal MultiCurrencyAmount pv01MarketQuoteSum(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { PointSensitivities pointSensitivity = tradePricer.presentValueSensitivity(trade, ratesProvider, refData); CurrencyParameterSensitivities parameterSensitivity = ratesProvider.parameterSensitivity(pointSensitivity); CurrencyParameterSensitivities quoteSensitivity = MARKET_QUOTE_SENS.sensitivity(parameterSensitivity, ratesProvider); return(quoteSensitivity.total().multipliedBy(ONE_BASIS_POINT)); }
// calculates market quote parallel IR01 for one scenario internal MultiCurrencyAmount ir01MarketQuoteParallel(ResolvedCdsTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { PointSensitivities pointSensitivity = tradePricer.presentValueOnSettleSensitivity(trade, ratesProvider, refData); CurrencyParameterSensitivity parameterSensitivity = ratesProvider.singleDiscountCurveParameterSensitivity(pointSensitivity, trade.Product.Currency); CurrencyParameterSensitivities irSensitivity = MARKET_QUOTE_SENS.sensitivity(CurrencyParameterSensitivities.of(parameterSensitivity), ratesProvider); return(irSensitivity.total().multipliedBy(ONE_BASIS_POINT)); }
// calculates principal for one scenario internal CurrencyAmount principal(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { return(tradePricer.presentValueOnSettle(trade, ratesProvider, PriceType.CLEAN, refData)); }
// calculates present value for one scenario internal CurrencyAmount presentValue(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, PriceType priceType, ReferenceData refData) { return(tradePricer.presentValue(trade, ratesProvider, priceType, refData)); }
// calculates expected loss for one scenario internal CurrencyAmount expectedLoss(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider) { return(tradePricer.expectedLoss(trade, ratesProvider)); }
// calculates jump-to-default for one scenario internal JumpToDefault jumpToDefault(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { return(tradePricer.jumpToDefault(trade, ratesProvider, refData)); }
// calculates recovery01 for one scenario internal CurrencyAmount recovery01(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { return(tradePricer.recovery01OnSettle(trade, ratesProvider, refData)); }
// calculates bucketed CS01 for one scenario internal CurrencyParameterSensitivity cs01Bucketed(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { return(cs01Calculator.bucketedCs01(trade, ratesProvider, refData)); }
// calculates parallel CS01 for one scenario internal CurrencyAmount cs01Parallel(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { return(cs01Calculator.parallelCs01(trade, ratesProvider, refData)); }
// calculates calibrated bucketed PV01 for one scenario internal CurrencyParameterSensitivities pv01CalibratedBucketed(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { PointSensitivities pointSensitivity = tradePricer.presentValueSensitivity(trade, ratesProvider, refData); return(ratesProvider.parameterSensitivity(pointSensitivity).multipliedBy(ONE_BASIS_POINT)); }
// calculates price for one scenario internal double unitPrice(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { double puf = tradePricer.price(trade, ratesProvider, PriceType.CLEAN, refData); return(converter.cleanPriceFromPointsUpfront(puf)); }
// calculates market quote bucketed PV01 for one scenario internal CurrencyParameterSensitivities pv01MarketQuoteBucketed(ResolvedCdsTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { PointSensitivities pointSensitivity = tradePricer.presentValueSensitivity(trade, ratesProvider, refData); CurrencyParameterSensitivities parameterSensitivity = ratesProvider.parameterSensitivity(pointSensitivity); return(MARKET_QUOTE_SENS.sensitivity(parameterSensitivity, ratesProvider).multipliedBy(ONE_BASIS_POINT)); }
// calculates calibrated sum PV01 for one scenario internal MultiCurrencyAmount pv01CalibratedSum(ResolvedCdsTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData) { PointSensitivities pointSensitivity = tradePricer.presentValueSensitivity(trade, ratesProvider, refData); return(ratesProvider.parameterSensitivity(pointSensitivity).total().multipliedBy(ONE_BASIS_POINT)); }