@Override public LocalDate date(LocalDate tradeDate, ReferenceData refData) { CdsTrade trade = template.createTrade(cdsIndexId, tradeDate, BuySell.BUY, 1, 1, refData); return trade.getProduct().resolve(refData).getProtectionEndDate(); }
@Override public CdsIndexCalibrationTrade withInfo(TradeInfo info) { return new CdsIndexCalibrationTrade(underlyingTrade.withInfo(info), quote); }
@Override public CdsCalibrationTrade withInfo(TradeInfo info) { return new CdsCalibrationTrade(underlyingTrade.withInfo(info), quote); }
public void test_min_resolve() { ResolvedCdsTrade test = CdsTrade.builder() .product(PRODUCT) .info(TRADE_INFO) .build() .resolve(REF_DATA); assertEquals(test.getProduct(), PRODUCT.resolve(REF_DATA)); assertEquals(test.getInfo(), TRADE_INFO); assertFalse(test.getUpfrontFee().isPresent()); }
public void test_min_resolve() { ResolvedCdsIndexTrade test = CdsIndexTrade.builder() .product(PRODUCT) .info(TRADE_INFO) .build() .resolve(REF_DATA); assertEquals(test.getProduct(), PRODUCT.resolve(REF_DATA)); assertEquals(test.getInfo(), TRADE_INFO); assertFalse(test.getUpfrontFee().isPresent()); }
CdsTrade sut() { return CdsTrade.builder() .product(PRODUCT) .upfrontFee(UPFRONT) .info(TRADE_INFO) .build(); }
CdsIndexTrade sut() { return CdsIndexTrade.builder() .product(PRODUCT) .upfrontFee(UPFRONT) .info(TRADE_INFO) .build(); }
public void coverage() { CdsIndexTrade test1 = sut(); coverImmutableBean(test1); CdsIndex product = CdsIndex.of(BUY, INDEX_ID, LEGAL_ENTITIES, USD, 1.e9, START_DATE, END_DATE, P6M, SAT_SUN, 0.067); CdsIndexTrade test2 = CdsIndexTrade.builder() .product(product) .info(TradeInfo.empty()) .build(); coverBeanEquals(test1, test2); }
public void coverage_trade() { CdsIndexCalibrationTrade test1 = CdsIndexCalibrationTrade.of(TRADE, QUOTE1); coverImmutableBean(test1); CdsIndexCalibrationTrade test2 = CdsIndexCalibrationTrade.of( CdsIndexTrade.builder() .product(PRODUCT) .info(TRADE_INFO) .build(), QUOTE2); coverBeanEquals(test1, test2); }
/** * Reduce this instance to {@code ResolvedCdsTrade}. * <p> * The resultant object is used for pricing CDS index trades under the homogeneous pool assumption on constituent * credit curves. * * @return the CDS trade */ public ResolvedCdsTrade toSingleNameCds() { return ResolvedCdsTrade.builder() .product(product.toSingleNameCds()) .info(info) .upfrontFee(upfrontFee) .build(); }
/** * Returns a builder used to create an instance of the bean. * @return the builder, not null */ public static CdsIndex.Builder builder() { return new CdsIndex.Builder(); }
/** * Returns a builder that allows this bean to be mutated. * @return the mutable builder, not null */ public Builder toBuilder() { return new Builder(this); }
@Override public CdsCalibrationTrade build() { return new CdsCalibrationTrade( underlyingTrade, quote); }
/** * Creates an instance. * * @param trade the trade * @param quote the quote * @return the instance */ public static CdsIndexCalibrationTrade of(CdsIndexTrade trade, CdsQuote quote) { return new CdsIndexCalibrationTrade(trade, quote); }
/** * Returns a builder used to create an instance of the bean. * @return the builder, not null */ public static CdsTrade.Builder builder() { return new CdsTrade.Builder(); }
@Override public LocalDate date(LocalDate tradeDate, ReferenceData refData) { CdsTrade trade = template.createTrade(legalEntityId, tradeDate, BuySell.BUY, 1, 1, refData); return trade.getProduct().resolve(refData).getProtectionEndDate(); }