@Override public TradeInfo getInfo() { return underlyingTrade.getInfo(); }
/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(CdsTrade beanToCopy) { this.info = beanToCopy.getInfo(); this.product = beanToCopy.getProduct(); this.upfrontFee = beanToCopy.upfrontFee; }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 3237038: // info return ((CdsTrade) bean).getInfo(); case -309474065: // product return ((CdsTrade) bean).getProduct(); case 963468344: // upfrontFee return ((CdsTrade) bean).upfrontFee; } return super.propertyGet(bean, propertyName, quiet); }
public void test_full_builder() { CdsTrade test = sut(); assertEquals(test.getProduct(), PRODUCT); assertEquals(test.getInfo(), TRADE_INFO); assertEquals(test.getUpfrontFee().get(), UPFRONT); }
public void test_of_trade() { CdsCalibrationTrade test = CdsCalibrationTrade.of(TRADE, QUOTE1); assertEquals(test.getUnderlyingTrade(), TRADE); assertEquals(test.getQuote(), QUOTE1); assertEquals(test.getInfo(), TRADE.getInfo()); }
public void test_min_builder() { CdsTrade test = CdsTrade.builder() .product(PRODUCT) .info(TRADE_INFO) .build(); assertEquals(test.getProduct(), PRODUCT); assertEquals(test.getInfo(), TRADE_INFO); assertFalse(test.getUpfrontFee().isPresent()); }
public void test_createTrade() { DatesCdsTemplate base = DatesCdsTemplate.of(START, END, CONV1); LocalDate tradeDate = LocalDate.of(2015, 5, 5); CdsTrade test = base.createTrade(LEGAL_ENTITY, tradeDate, BUY, NOTIONAL_2M, 0.05d, REF_DATA); Cds expected = Cds.of(BUY, LEGAL_ENTITY, CONV1.getCurrency(), NOTIONAL_2M, START, END, Frequency.P3M, CONV1.getSettlementDateOffset().getCalendar(), 0.05d); PeriodicSchedule sch1 = expected.getPaymentSchedule(); expected = expected.toBuilder() .paymentSchedule(sch1.toBuilder() .startDateBusinessDayAdjustment(sch1.getBusinessDayAdjustment()) .rollConvention(RollConventions.DAY_20) .build()) .build(); assertEquals(test.getInfo().getTradeDate(), Optional.of(tradeDate)); assertEquals(test.getProduct(), expected); assertEquals(test.getUpfrontFee(), Optional.empty()); }
public void test_createTrade_withFee() { DatesCdsTemplate base = DatesCdsTemplate.of(START, END, CONV1); LocalDate tradeDate = LocalDate.of(2015, 5, 5); AdjustablePayment payment = AdjustablePayment.of(EUR, NOTIONAL_2M, CONV1.getSettlementDateOffset().adjust(tradeDate, REF_DATA)); CdsTrade test = base.createTrade(LEGAL_ENTITY, tradeDate, BUY, NOTIONAL_2M, 0.05d, payment, REF_DATA); Cds expected = Cds.of(BUY, LEGAL_ENTITY, CONV1.getCurrency(), NOTIONAL_2M, START, END, Frequency.P3M, CONV1.getSettlementDateOffset().getCalendar(), 0.05d); PeriodicSchedule sch1 = expected.getPaymentSchedule(); expected = expected.toBuilder() .paymentSchedule(sch1.toBuilder() .startDateBusinessDayAdjustment(sch1.getBusinessDayAdjustment()) .rollConvention(RollConventions.DAY_20) .build()) .build(); assertEquals(test.getInfo().getTradeDate(), Optional.of(tradeDate)); assertEquals(test.getUpfrontFee(), Optional.of(payment)); assertEquals(test.getProduct(), expected); }
.build()) .build(); assertEquals(test1.getInfo().getTradeDate(), Optional.of(tradeDate)); assertEquals(test1.getProduct(), expected1); assertEquals(test1.getUpfrontFee(), Optional.empty()); assertEquals(test2.getInfo().getTradeDate(), Optional.of(tradeDate)); assertEquals(test2.getUpfrontFee(), Optional.empty()); assertEquals(test2.getProduct(), expected2);
.build()) .build(); assertEquals(test1.getInfo().getTradeDate(), Optional.of(tradeDate)); assertEquals(test1.getUpfrontFee(), Optional.of(payment1)); assertEquals(test1.getProduct(), expected1); assertEquals(test2.getInfo().getTradeDate(), Optional.of(tradeDate)); assertEquals(test2.getUpfrontFee(), Optional.of(payment2)); assertEquals(test2.getProduct(), expected2);
public void cds02() { String location = "classpath:com/opengamma/strata/loader/fpml/cd-ex02-2003-short-asia-corp-fixreg.xml"; ByteSource resource = ResourceLocator.of(location).getByteSource(); List<Trade> trades = FpmlDocumentParser.of(FpmlPartySelector.matching("Party2")).parseTrades(resource); assertEquals(trades.size(), 1); CdsTrade cdsTrade = (CdsTrade) trades.get(0); assertEquals(cdsTrade.getInfo().getTradeDate(), Optional.of(date(2002, 12, 4))); Cds expected = Cds.builder() .buySell(SELL) .legalEntityId(StandardId.of("http://www.fpml.org/coding-scheme/external/entity-id-RED-1-0", "008FAQ")) .currency(JPY) .notional(500000000d) .paymentSchedule(PeriodicSchedule.builder() .startDate(date(2002, 12, 5)) .endDate(date(2007, 12, 5)) .startDateBusinessDayAdjustment(BusinessDayAdjustment.NONE) .endDateBusinessDayAdjustment(BusinessDayAdjustment.NONE) .businessDayAdjustment(BusinessDayAdjustment.NONE) .firstRegularStartDate(date(2003, 3, 5)) .frequency(Frequency.P3M) .rollConvention(RollConventions.DAY_5) .build()) .fixedRate(0.007) .dayCount(ACT_360) .build(); assertEqualsBean(cdsTrade.getProduct(), expected); assertEquals(cdsTrade.getUpfrontFee().isPresent(), false); }
public void cds01() { String location = "classpath:com/opengamma/strata/loader/fpml/cd-ex01-long-asia-corp-fixreg.xml"; ByteSource resource = ResourceLocator.of(location).getByteSource(); List<Trade> trades = FpmlDocumentParser.of(FpmlPartySelector.matching("Party2")).parseTrades(resource); assertEquals(trades.size(), 1); CdsTrade cdsTrade = (CdsTrade) trades.get(0); assertEquals(cdsTrade.getInfo().getTradeDate(), Optional.of(date(2002, 12, 4))); Cds expected = Cds.builder() .buySell(BUY) .legalEntityId(StandardId.of("http://www.fpml.org/spec/2003/entity-id-RED-1-0", "004CC9")) .currency(JPY) .notional(500000000d) .paymentSchedule(PeriodicSchedule.builder() .startDate(date(2002, 12, 5)) .endDate(date(2007, 12, 5)) .startDateBusinessDayAdjustment(BusinessDayAdjustment.NONE) .endDateBusinessDayAdjustment(BusinessDayAdjustment.of(MODIFIED_FOLLOWING, GBLO_USNY_JPTO)) .businessDayAdjustment(BusinessDayAdjustment.of(MODIFIED_FOLLOWING, GBLO_USNY_JPTO)) .firstRegularStartDate(date(2003, 3, 5)) .frequency(Frequency.P3M) .rollConvention(RollConventions.DAY_5) .build()) .fixedRate(0.007) .dayCount(ACT_360) .build(); assertEqualsBean(cdsTrade.getProduct(), expected); assertEquals(cdsTrade.getUpfrontFee().isPresent(), false); }
.info(cdsTrade.getInfo()) .product(CdsIndex.builder() .buySell(cdsProduct.getBuySell())
CdsIndexTrade expected = CdsIndexTrade.builder() .product(cdsIndexMod) .info(cdsTrade.getInfo()) .build(); assertEquals(trade.getUnderlyingTrade(), expected); CdsIndexTrade expected1 = CdsIndexTrade.builder() .product(cdsIndexMod1) .info(cdsTrade1.getInfo()) .build(); assertEquals(trade1.getUnderlyingTrade(), expected1);