Beispiel #1
0
        //-------------------------------------------------------------------------
        public virtual void test_presentValueGamma()
        {
            CurrencyAmount capComputed   = PRICER.presentValueGamma(CAP, RATES, VOLS);
            CurrencyAmount floorComputed = PRICER.presentValueGamma(FLOOR, RATES, VOLS);
            double         capExpected   = 0d;
            double         floorExpected = 0d;
            int            nPeriods      = CAP.CapletFloorletPeriods.size();

            for (int i = 0; i < nPeriods; ++i)
            {
                capExpected   += PRICER_PERIOD.presentValueGamma(CAP.CapletFloorletPeriods.get(i), RATES, VOLS).Amount;
                floorExpected += PRICER_PERIOD.presentValueGamma(FLOOR.CapletFloorletPeriods.get(i), RATES, VOLS).Amount;
            }
            assertEquals(capComputed.Currency, EUR);
            assertEquals(capComputed.Amount, capExpected, TOL * NOTIONAL_VALUE);
            assertEquals(floorComputed.Currency, EUR);
            assertEquals(floorComputed.Amount, floorExpected, TOL * NOTIONAL_VALUE);
        }
Beispiel #2
0
        public virtual void test_presentValueGamma()
        {
            MultiCurrencyAmount computed1 = PRICER.presentValueGamma(CAP_ONE_LEG, RATES, VOLS);
            MultiCurrencyAmount computed2 = PRICER.presentValueGamma(CAP_TWO_LEGS, RATES, VOLS);
            CurrencyAmount      cap       = PRICER_CAP_LEG.presentValueGamma(CAP_LEG, RATES, VOLS);

            assertEquals(computed1, MultiCurrencyAmount.of(cap));
            assertEquals(computed2, MultiCurrencyAmount.of(cap));
        }