@Override public IborFuture createProduct(ReferenceData refData) { return IborFuture.builder() .securityId(getSecurityId()) .notional(notional) .index(index) .lastTradeDate(lastTradeDate) .rounding(rounding) .build(); }
@Override public ResolvedIborFutureOptionTrade resolve(ReferenceData refData) { ResolvedIborFutureOption resolved = product.resolve(refData); return new ResolvedIborFutureOptionTrade(info, resolved, getQuantity(), null); }
@Override public ResolvedOvernightFutureTrade resolve(ReferenceData refData) { ResolvedOvernightFuture resolved = product.resolve(refData); return new ResolvedOvernightFutureTrade(info, resolved, getQuantity(), null); }
static IborFutureSecurity sut() { return IborFutureSecurity.builder() .info(INFO) .notional(PRODUCT.getNotional()) .index(PRODUCT.getIndex()) .lastTradeDate(PRODUCT.getLastTradeDate()) .rounding(PRODUCT.getRounding()) .build(); }
static IborFuture sut() { return IborFuture.builder() .securityId(SECURITY_ID) .currency(USD) .notional(NOTIONAL) .accrualFactor(ACCRUAL_FACTOR) .lastTradeDate(LAST_TRADE_DATE) .index(USD_LIBOR_3M) .rounding(ROUNDING) .build(); }
static IborFutureOption sut() { return IborFutureOption.builder() .securityId(SECURITY_ID) .putCall(CALL) .strikePrice(STRIKE_PRICE) .expiryDate(EXPIRY_DATE) .expiryTime(EXPIRY_TIME) .expiryZone(EXPIRY_ZONE) .premiumStyle(FutureOptionPremiumStyle.DAILY_MARGIN) .underlyingFuture(FUTURE) .build(); }
static IborFutureOptionPosition sut() { return IborFutureOptionPosition.builder() .info(POSITION_INFO) .product(PRODUCT) .longQuantity(QUANTITY) .build(); }
static IborFuturePosition sut() { return IborFuturePosition.builder() .info(POSITION_INFO) .product(PRODUCT) .longQuantity(QUANTITY) .build(); }
@Override public ResolvedIborFutureOption resolve(ReferenceData refData) { ResolvedIborFuture resolved = underlyingFuture.resolve(refData); return new ResolvedIborFutureOption(securityId, putCall, strikePrice, getExpiry(), premiumStyle, rounding, resolved); }
@Override public ResolvedIborFutureTrade resolve(ReferenceData refData) { ResolvedIborFuture resolved = product.resolve(refData); return new ResolvedIborFutureTrade(info, resolved, getQuantity(), null); }
@Override public IborFuturePosition createPosition( PositionInfo positionInfo, double longQuantity, double shortQuantity, ReferenceData refData) { return IborFuturePosition.ofLongShort(positionInfo, createProduct(refData), longQuantity, shortQuantity); }
@Override public IborFutureOptionPosition createPosition( PositionInfo positionInfo, double longQuantity, double shortQuantity, ReferenceData refData) { return IborFutureOptionPosition.ofLongShort(positionInfo, createProduct(refData), longQuantity, shortQuantity); }
@Override public OvernightFuturePosition createPosition( PositionInfo positionInfo, double longQuantity, double shortQuantity, ReferenceData refData) { return OvernightFuturePosition.ofLongShort(positionInfo, createProduct(refData), longQuantity, shortQuantity); }
@Override public OvernightFutureTrade createTrade( TradeInfo info, double quantity, double tradePrice, ReferenceData refData) { return new OvernightFutureTrade(info, createProduct(refData), quantity, tradePrice); }
static IborFutureSecurity sut2() { return IborFutureSecurity.builder() .info(INFO2) .notional(PRODUCT2.getNotional()) .index(PRODUCT2.getIndex()) .lastTradeDate(PRODUCT2.getLastTradeDate()) .rounding(PRODUCT2.getRounding()) .build(); }
static IborFuture sut2() { return IborFuture.builder() .securityId(SECURITY_ID2) .currency(GBP) .notional(NOTIONAL2) .accrualFactor(ACCRUAL_FACTOR2) .lastTradeDate(LAST_TRADE_DATE2) .index(GBP_LIBOR_2M) .build(); }
static IborFutureOptionPosition sut2() { return IborFutureOptionPosition.builder() .info(POSITION_INFO2) .product(PRODUCT2) .longQuantity(100) .shortQuantity(50) .build(); }
static IborFuturePosition sut2() { return IborFuturePosition.builder() .info(POSITION_INFO2) .product(PRODUCT2) .longQuantity(100) .shortQuantity(50) .build(); }