@Override public Currency getCurrency() { return product.getCurrency(); }
/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(IborFutureOption beanToCopy) { this.securityId = beanToCopy.getSecurityId(); this.putCall = beanToCopy.getPutCall(); this.strikePrice = beanToCopy.getStrikePrice(); this.expiryDate = beanToCopy.getExpiryDate(); this.expiryTime = beanToCopy.getExpiryTime(); this.expiryZone = beanToCopy.getExpiryZone(); this.premiumStyle = beanToCopy.getPremiumStyle(); this.rounding = beanToCopy.getRounding(); this.underlyingFuture = beanToCopy.getUnderlyingFuture(); }
public void test_builder() { IborFutureOption test = sut(); assertEquals(test.getPutCall(), CALL); assertEquals(test.getStrikePrice(), STRIKE_PRICE); assertEquals(test.getExpiryDate(), EXPIRY_DATE); assertEquals(test.getExpiryTime(), EXPIRY_TIME); assertEquals(test.getExpiryZone(), EXPIRY_ZONE); assertEquals(test.getExpiry(), ZonedDateTime.of(EXPIRY_DATE, EXPIRY_TIME, EXPIRY_ZONE)); assertEquals(test.getRounding(), Rounding.none()); assertEquals(test.getUnderlyingFuture(), FUTURE); assertEquals(test.getCurrency(), FUTURE.getCurrency()); assertEquals(test.getIndex(), FUTURE.getIndex()); assertEquals(test.isCrossCurrency(), false); assertEquals(test.allPaymentCurrencies(), ImmutableSet.of(USD)); assertEquals(test.allCurrencies(), ImmutableSet.of(USD)); }
static IborFutureOptionSecurity sut() { return IborFutureOptionSecurity.builder() .info(INFO) .currency(OPTION.getCurrency()) .putCall(OPTION.getPutCall()) .strikePrice(OPTION.getStrikePrice()) .expiryDate(OPTION.getExpiryDate()) .expiryTime(OPTION.getExpiryTime()) .expiryZone(OPTION.getExpiryZone()) .premiumStyle(OPTION.getPremiumStyle()) .rounding(OPTION.getRounding()) .underlyingFutureId(FUTURE_ID) .build(); }
public void test_builder() { ResolvedIborFutureOption test = sut(); assertEquals(test.getSecurityId(), PRODUCT.getSecurityId()); assertEquals(test.getPutCall(), PRODUCT.getPutCall()); assertEquals(test.getStrikePrice(), PRODUCT.getStrikePrice()); assertEquals(test.getPremiumStyle(), PRODUCT.getPremiumStyle()); assertEquals(test.getExpiry(), PRODUCT.getExpiry()); assertEquals(test.getExpiryDate(), PRODUCT.getExpiryDate()); assertEquals(test.getRounding(), PRODUCT.getRounding()); assertEquals(test.getUnderlyingFuture(), PRODUCT.getUnderlyingFuture().resolve(REF_DATA)); assertEquals(test.getIndex(), PRODUCT.getUnderlyingFuture().getIndex()); }
public void test_builder() { IborFutureOptionSecurity test = sut(); assertEquals(test.getInfo(), INFO); assertEquals(test.getSecurityId(), OPTION.getSecurityId()); assertEquals(test.getCurrency(), OPTION.getCurrency()); assertEquals(test.getPutCall(), OPTION.getPutCall()); assertEquals(test.getPremiumStyle(), OPTION.getPremiumStyle()); assertEquals(test.getUnderlyingFutureId(), FUTURE_ID); assertEquals(test.getUnderlyingIds(), ImmutableSet.of(FUTURE_ID)); }
public void test_builder_expiryNotAfterTradeDate() { assertThrowsIllegalArg(() -> ResolvedIborFutureOption.builder() .securityId(PRODUCT.getSecurityId()) .putCall(CALL) .expiry(PRODUCT.getUnderlyingFuture().getLastTradeDate().plusDays(1).atStartOfDay(ZoneOffset.UTC)) .strikePrice(PRODUCT.getStrikePrice()) .underlyingFuture(PRODUCT.getUnderlyingFuture().resolve(REF_DATA)) .build()); }
@Override public SecurityId getSecurityId() { return product.getSecurityId(); }
@Override public ResolvedIborFutureOption resolve(ReferenceData refData) { ResolvedIborFuture resolved = underlyingFuture.resolve(refData); return new ResolvedIborFutureOption(securityId, putCall, strikePrice, getExpiry(), premiumStyle, rounding, resolved); }
static IborFutureOptionSecurity sut2() { return IborFutureOptionSecurity.builder() .info(INFO2) .currency(OPTION2.getCurrency()) .putCall(OPTION2.getPutCall()) .strikePrice(OPTION2.getStrikePrice()) .expiryDate(OPTION2.getExpiryDate()) .expiryTime(OPTION2.getExpiryTime()) .expiryZone(OPTION2.getExpiryZone()) .premiumStyle(OPTION2.getPremiumStyle()) .rounding(OPTION2.getRounding()) .underlyingFutureId(FUTURE_ID2) .build(); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 1574023291: // securityId return ((IborFutureOption) bean).getSecurityId(); case -219971059: // putCall return ((IborFutureOption) bean).getPutCall(); case 50946231: // strikePrice return ((IborFutureOption) bean).getStrikePrice(); case -816738431: // expiryDate return ((IborFutureOption) bean).getExpiryDate(); case -816254304: // expiryTime return ((IborFutureOption) bean).getExpiryTime(); case -816069761: // expiryZone return ((IborFutureOption) bean).getExpiryZone(); case -1257652838: // premiumStyle return ((IborFutureOption) bean).getPremiumStyle(); case -142444: // rounding return ((IborFutureOption) bean).getRounding(); case -165476480: // underlyingFuture return ((IborFutureOption) bean).getUnderlyingFuture(); } return super.propertyGet(bean, propertyName, quiet); }
public void test_builder() { IborFutureOptionTrade test = sut(); assertEquals(test.getInfo(), TRADE_INFO); assertEquals(test.getProduct(), PRODUCT); assertEquals(test.getQuantity(), QUANTITY); assertEquals(test.getPrice(), PRICE); assertEquals(test.getCurrency(), PRODUCT.getCurrency()); assertEquals(test.withInfo(TRADE_INFO).getInfo(), TRADE_INFO); assertEquals(test.withQuantity(129).getQuantity(), 129d, 0d); assertEquals(test.withPrice(129).getPrice(), 129d, 0d); }