public void test_serialization() { ResolvedTradeParameterMetadata test = ResolvedTradeParameterMetadata.of(TRADE, "Label"); assertSerialization(test); }
/** * Computes bucketed CS01 for CDS index using a single credit curve. * <p> * This is coherent to the pricer {@link IsdaHomogenousCdsIndexTradePricer}. * The relevant credit curve must be stored in {@code RatesProvider}. * * @param trade the trade * @param bucketCdsIndex the CDS index bucket * @param ratesProvider the rates provider * @param refData the reference data * @return the bucketed CS01 */ public CurrencyParameterSensitivity bucketedCs01( ResolvedCdsIndexTrade trade, List<ResolvedCdsIndexTrade> bucketCdsIndex, CreditRatesProvider ratesProvider, ReferenceData refData) { ResolvedCdsTrade cdsTrade = trade.toSingleNameCds(); List<ResolvedCdsTrade> bucketCds = bucketCdsIndex.stream() .map(ResolvedCdsIndexTrade::toSingleNameCds) .collect(Collectors.toList()); List<ResolvedTradeParameterMetadata> metadata = bucketCdsIndex.stream() .map(t -> ResolvedTradeParameterMetadata.of(t, t.getProduct().getProtectionEndDate().toString())) .collect(Guavate.toImmutableList()); CurrencyParameterSensitivity bucketedCs01 = bucketedCs01(cdsTrade, bucketCds, metadata, ratesProvider, refData); double indexFactor = getIndexFactor(cdsTrade.getProduct(), ratesProvider); return bucketedCs01.multipliedBy(indexFactor); }
public void test_of() { ResolvedTradeParameterMetadata test = ResolvedTradeParameterMetadata.of(TRADE, "Label"); assertEquals(test.getLabel(), "Label"); assertEquals(test.getIdentifier(), "Label"); assertEquals(test.getTrade(), TRADE); }
private CurrencyParameterSensitivity bucketedCs01( ResolvedCdsTrade trade, List<ResolvedCdsTrade> bucketCds, List<ResolvedTradeParameterMetadata> metadata, CreditRatesProvider ratesProvider, ReferenceData refData) { DoubleArray sensiValue = computedBucketedCs01(trade, bucketCds, ratesProvider, refData); return CurrencyParameterSensitivity.of( CurveName.of("impliedSpreads"), metadata, trade.getProduct().getCurrency(), sensiValue); }
ImmutableList<ParameterMetadata> parameterMetadata = IntStream.range(0, nNodes) .mapToObj( n -> ResolvedTradeParameterMetadata.of( curveNodes.get(n).trade(1d, marketData, refData).getUnderlyingTrade().resolve(refData), curveNodes.get(n).getLabel()))
if (storeTrade) { parameterMetadata = IntStream.range(0, nNodes) .mapToObj(n -> ResolvedTradeParameterMetadata.of(trades.get(n), curveNodes.get(n).getLabel())) .collect(Guavate.toImmutableList()); } else {
public void coverage() { ResolvedTradeParameterMetadata test1 = ResolvedTradeParameterMetadata.of(TRADE, "Label"); coverImmutableBean(test1); ResolvedTrade trade = ResolvedBulletPaymentTrade.of( TradeInfo.empty(), BulletPayment.builder() .date(AdjustableDate.of(LocalDate.of(2017, 3, 3))) .value(CurrencyAmount.of(Currency.USD, 100d)) .payReceive(PayReceive.PAY) .build() .resolve(REF_DATA)); ResolvedTradeParameterMetadata test2 = ResolvedTradeParameterMetadata.builder().trade(trade).label("Label2").build(); coverBeanEquals(test1, test2); }