public void test_cleanRealPrice_dirtyRealPrice() { double dirtyRealPrice = 1.055; LocalDate refDate = LocalDate.of(2014, 6, 10); double cleanRealPrice = PRICER.cleanRealPriceFromDirtyRealPrice(PRODUCT, refDate, dirtyRealPrice); double expected = dirtyRealPrice - PRODUCT.accruedInterest(refDate) / NOTIONAL; assertEquals(cleanRealPrice, expected, TOL); assertEquals(PRICER.dirtyRealPriceFromCleanRealPrice(PRODUCT, refDate, cleanRealPrice), dirtyRealPrice, TOL); }
double maturity = bond.yearFraction(settlementDate, maturityDate); double cleanPrice = (1d + realRate * couponPerYear * maturity) / (1d + yield * maturity); return dirtyRealPriceFromCleanRealPrice(bond, settlementDate, cleanPrice);