Ejemplo n.º 1
0
        //-------------------------------------------------------------------------
        public virtual void test_currencyExposure()
        {
            ImmutableRatesProvider            prov = ImmutableRatesProvider.builder(VAL_DATE).discountCurve(GBP, DISCOUNT_CURVE_GBP).build();
            DiscountingNotionalExchangePricer test = DiscountingNotionalExchangePricer.DEFAULT;
            MultiCurrencyAmount computed           = test.currencyExposure(NOTIONAL_EXCHANGE_REC_GBP, prov);
            PointSensitivities  point    = test.presentValueSensitivity(NOTIONAL_EXCHANGE_REC_GBP, prov).build();
            MultiCurrencyAmount expected = prov.currencyExposure(point).plus(CurrencyAmount.of(NOTIONAL_EXCHANGE_REC_GBP.Currency, test.presentValue(NOTIONAL_EXCHANGE_REC_GBP, prov)));

            assertEquals(computed, expected);
        }
Ejemplo n.º 2
0
        //-------------------------------------------------------------------------
        public virtual void test_presentValueSensitivity()
        {
            SimpleRatesProvider prov = createProvider(NOTIONAL_EXCHANGE_REC_GBP);

            DiscountingNotionalExchangePricer test = DiscountingNotionalExchangePricer.DEFAULT;
            PointSensitivities senseComputed       = test.presentValueSensitivity(NOTIONAL_EXCHANGE_REC_GBP, prov).build();

            double             eps           = 1.0e-7;
            PointSensitivities senseExpected = PointSensitivities.of(dscSensitivityFD(prov, NOTIONAL_EXCHANGE_REC_GBP, eps));

            assertTrue(senseComputed.equalWithTolerance(senseExpected, NOTIONAL_EXCHANGE_REC_GBP.PaymentAmount.Amount * eps));
        }