/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ protected Builder(ResolvedBill beanToCopy) { this.securityId = beanToCopy.getSecurityId(); this.notional = beanToCopy.getNotional(); this.dayCount = beanToCopy.getDayCount(); this.yieldConvention = beanToCopy.getYieldConvention(); this.legalEntityId = beanToCopy.getLegalEntityId(); this.settlementDateOffset = beanToCopy.getSettlementDateOffset(); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 1574023291: // securityId return ((ResolvedBill) bean).getSecurityId(); case 1585636160: // notional return ((ResolvedBill) bean).getNotional(); case 1905311443: // dayCount return ((ResolvedBill) bean).getDayCount(); case -1895216418: // yieldConvention return ((ResolvedBill) bean).getYieldConvention(); case 866287159: // legalEntityId return ((ResolvedBill) bean).getLegalEntityId(); case 135924714: // settlementDateOffset return ((ResolvedBill) bean).getSettlementDateOffset(); } return super.propertyGet(bean, propertyName, quiet); }
public void test_resolve() { ResolvedBill resolved = US_BILL.resolve(REF_DATA); assertEquals(resolved.getDayCount(), DAY_COUNT); assertEquals(resolved.getLegalEntityId(), LEGAL_ENTITY); assertEquals(resolved.getNotional(), NOTIONAL.resolve(REF_DATA)); assertEquals(resolved.getSecurityId(), SECURITY_ID); assertEquals(resolved.getSettlementDateOffset(), SETTLE); assertEquals(resolved.getYieldConvention(), YIELD_CONVENTION); }
public void price_from_yield_discount() { ResolvedBill bill = sut(); double yield = 0.01; LocalDate settlementDate = LocalDate.of(2018, 8, 17); double af = bill.getDayCount().relativeYearFraction(settlementDate, bill.getNotional().getDate()); double priceExpected = 1.0d - yield * af; double priceComputed = bill.priceFromYield(yield, settlementDate); assertEquals(priceExpected, priceComputed, TOLERANCE_PRICE); }
public void yield_from_price_discount() { ResolvedBill bill = sut(); double price = 0.99; LocalDate settlementDate = LocalDate.of(2018, 8, 17); double af = bill.getDayCount().relativeYearFraction(settlementDate, bill.getNotional().getDate()); double yieldExpected = (1.0d - price) / af; double yieldComputed = bill.yieldFromPrice(price, settlementDate); assertEquals(yieldExpected, yieldComputed, TOLERANCE_PRICE); }
public void test_getters() { ResolvedBill test = sut(); assertEquals(test.getSecurityId(), BillTest.US_BILL.getSecurityId()); assertEquals(test.getCurrency(), BillTest.US_BILL.getCurrency()); assertEquals(test.getNotional(), BillTest.US_BILL.getNotional().resolve(REF_DATA)); assertEquals(test.getDayCount(), BillTest.US_BILL.getDayCount()); assertEquals(test.getYieldConvention(), BillTest.US_BILL.getYieldConvention()); assertEquals(test.getLegalEntityId(), BillTest.US_BILL.getLegalEntityId()); assertEquals(test.getSettlementDateOffset(), BillTest.US_BILL.getSettlementDateOffset()); }
public void price_from_yield_intatmat() { ResolvedBill bill = BillTest.US_BILL .toBuilder().yieldConvention(BillYieldConvention.INTEREST_AT_MATURITY).build().resolve(REF_DATA); double yield = 0.01; LocalDate settlementDate = LocalDate.of(2018, 8, 17); double af = bill.getDayCount().relativeYearFraction(settlementDate, bill.getNotional().getDate()); double priceExpected = 1.0d / (1 + yield * af); double priceComputed = bill.priceFromYield(yield, settlementDate); assertEquals(priceExpected, priceComputed, TOLERANCE_PRICE); }
public void yield_from_price_intatmat() { ResolvedBill bill = BillTest.US_BILL .toBuilder().yieldConvention(BillYieldConvention.INTEREST_AT_MATURITY).build().resolve(REF_DATA); double price = 0.99; LocalDate settlementDate = LocalDate.of(2018, 8, 17); double af = bill.getDayCount().relativeYearFraction(settlementDate, bill.getNotional().getDate()); double yieldExpected = (1.0d / price - 1.0d) / af; double yieldComputed = bill.yieldFromPrice(price, settlementDate); assertEquals(yieldExpected, yieldComputed, TOLERANCE_PRICE); }