コード例 #1
0
 // -------------------------------------------------------------------------
 public void test_rate() {
   DiscountFxForwardRates test =
       DiscountFxForwardRates.of(CURRENCY_PAIR, FX_RATE, DFCURVE_GBP, DFCURVE_USD);
   double dfCcyBaseAtMaturity = DFCURVE_GBP.discountFactor(DATE_REF);
   double dfCcyCounterAtMaturity = DFCURVE_USD.discountFactor(DATE_REF);
   double expected = FX_RATE.fxRate(GBP, USD) * (dfCcyBaseAtMaturity / dfCcyCounterAtMaturity);
   assertEquals(test.rate(GBP, DATE_REF), expected, 1e-12);
   assertEquals(test.rate(USD, DATE_REF), 1d / expected, 1e-12);
 }
コード例 #2
0
 public void test_rate_nonMatchingCurrency() {
   DiscountFxForwardRates test =
       DiscountFxForwardRates.of(CURRENCY_PAIR, FX_RATE, DFCURVE_GBP, DFCURVE_USD);
   assertThrowsIllegalArg(() -> test.rate(EUR, DATE_VAL));
 }