예제 #1
0
        // 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));
        }
예제 #2
0
        // 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));
        }
예제 #4
0
 // calculates principal for one scenario
 internal CurrencyAmount principal(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData)
 {
     return(tradePricer.presentValueOnSettle(trade, ratesProvider, PriceType.CLEAN, refData));
 }
예제 #5
0
 // calculates present value for one scenario
 internal CurrencyAmount presentValue(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, PriceType priceType, ReferenceData refData)
 {
     return(tradePricer.presentValue(trade, ratesProvider, priceType, refData));
 }
예제 #6
0
 // calculates expected loss for one scenario
 internal CurrencyAmount expectedLoss(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider)
 {
     return(tradePricer.expectedLoss(trade, ratesProvider));
 }
예제 #7
0
 // calculates jump-to-default for one scenario
 internal JumpToDefault jumpToDefault(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData)
 {
     return(tradePricer.jumpToDefault(trade, ratesProvider, refData));
 }
예제 #8
0
 // calculates recovery01 for one scenario
 internal CurrencyAmount recovery01(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData)
 {
     return(tradePricer.recovery01OnSettle(trade, ratesProvider, refData));
 }
예제 #9
0
 // calculates bucketed CS01 for one scenario
 internal CurrencyParameterSensitivity cs01Bucketed(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData)
 {
     return(cs01Calculator.bucketedCs01(trade, ratesProvider, refData));
 }
예제 #10
0
 // calculates parallel CS01 for one scenario
 internal CurrencyAmount cs01Parallel(ResolvedCdsIndexTrade trade, CreditRatesProvider ratesProvider, ReferenceData refData)
 {
     return(cs01Calculator.parallelCs01(trade, ratesProvider, refData));
 }
예제 #11
0
        // 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));
        }
예제 #12
0
        // 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));
        }