Exemple #1
0
        public virtual void test_metadata_dates()
        {
            CdsIndexIsdaCreditCurveNode node     = CdsIndexIsdaCreditCurveNode.ofParSpread(TEMPLATE_NS, QUOTE_ID, INDEX_ID, LEGAL_ENTITIES);
            ParameterMetadata           metadata = node.metadata(END_DATE);

            assertEquals(((LabelDateParameterMetadata)metadata).Date, END_DATE);
        }
Exemple #2
0
        public virtual void test_trade_noMarketData()
        {
            CdsIndexIsdaCreditCurveNode node = CdsIndexIsdaCreditCurveNode.ofParSpread(TEMPLATE, QUOTE_ID, INDEX_ID, LEGAL_ENTITIES);
            MarketData marketData            = MarketData.empty(VAL_DATE);

            assertThrows(() => node.trade(1d, marketData, REF_DATA), typeof(MarketDataNotFoundException));
        }
Exemple #3
0
        //-------------------------------------------------------------------------
        public virtual void test_trade()
        {
            CdsIndexIsdaCreditCurveNode node = CdsIndexIsdaCreditCurveNode.ofQuotedSpread(TEMPLATE, QUOTE_ID, INDEX_ID, LEGAL_ENTITIES, 0.01);
            double     rate                = 0.0125;
            double     quantity            = -1234.56;
            MarketData marketData          = ImmutableMarketData.builder(VAL_DATE).addValue(QUOTE_ID, rate).build();
            CdsIndexCalibrationTrade trade = node.trade(quantity, marketData, REF_DATA);
            CdsTrade      cdsTrade         = TEMPLATE.createTrade(INDEX_ID, VAL_DATE, SELL, -quantity, 0.01, REF_DATA);
            CdsIndex      cdsIndex         = CdsIndex.of(SELL, INDEX_ID, LEGAL_ENTITIES, TEMPLATE.Convention.Currency, -quantity, date(2015, 6, 20), date(2025, 6, 20), Frequency.P3M, TEMPLATE.Convention.SettlementDateOffset.Calendar, 0.01);
            CdsIndex      cdsIndexMod      = cdsIndex.toBuilder().paymentSchedule(cdsIndex.PaymentSchedule.toBuilder().rollConvention(RollConventions.DAY_20).startDateBusinessDayAdjustment(cdsIndex.PaymentSchedule.BusinessDayAdjustment).build()).build();
            CdsIndexTrade expected         = CdsIndexTrade.builder().product(cdsIndexMod).info(cdsTrade.Info).build();

            assertEquals(trade.UnderlyingTrade, expected);
            assertEquals(trade.Quote, CdsQuote.of(CdsQuoteConvention.QUOTED_SPREAD, rate));

            CdsIndexIsdaCreditCurveNode node1 = CdsIndexIsdaCreditCurveNode.ofParSpread(TEMPLATE, QUOTE_ID, INDEX_ID, LEGAL_ENTITIES);
            CdsTrade cdsTrade1 = TEMPLATE.createTrade(INDEX_ID, VAL_DATE, SELL, -quantity, rate, REF_DATA);
            CdsIndexCalibrationTrade trade1 = node1.trade(quantity, marketData, REF_DATA);
            CdsIndex      cdsIndex1         = CdsIndex.of(SELL, INDEX_ID, LEGAL_ENTITIES, TEMPLATE.Convention.Currency, -quantity, date(2015, 6, 20), date(2025, 6, 20), Frequency.P3M, TEMPLATE.Convention.SettlementDateOffset.Calendar, rate);
            CdsIndex      cdsIndexMod1      = cdsIndex1.toBuilder().paymentSchedule(cdsIndex.PaymentSchedule.toBuilder().rollConvention(RollConventions.DAY_20).startDateBusinessDayAdjustment(cdsIndex1.PaymentSchedule.BusinessDayAdjustment).build()).build();
            CdsIndexTrade expected1         = CdsIndexTrade.builder().product(cdsIndexMod1).info(cdsTrade1.Info).build();

            assertEquals(trade1.UnderlyingTrade, expected1);
            assertEquals(trade1.Quote, CdsQuote.of(CdsQuoteConvention.PAR_SPREAD, rate));
        }
Exemple #4
0
        //-------------------------------------------------------------------------
        public virtual void test_metadata_tenor()
        {
            CdsIndexIsdaCreditCurveNode node = CdsIndexIsdaCreditCurveNode.ofQuotedSpread(TEMPLATE, QUOTE_ID, INDEX_ID, LEGAL_ENTITIES, 0.01);
            LocalDate         nodeDate       = LocalDate.of(2015, 1, 22);
            ParameterMetadata metadata       = node.metadata(nodeDate);

            assertEquals(((TenorDateParameterMetadata)metadata).Date, nodeDate);
            assertEquals(((TenorDateParameterMetadata)metadata).Tenor, Tenor.TENOR_10Y);
        }
Exemple #5
0
        //-------------------------------------------------------------------------
        public virtual void coverage()
        {
            CdsIndexIsdaCreditCurveNode test1 = CdsIndexIsdaCreditCurveNode.ofQuotedSpread(TEMPLATE, QUOTE_ID, INDEX_ID, LEGAL_ENTITIES, 0.01);

            coverImmutableBean(test1);
            CdsIndexIsdaCreditCurveNode test2 = CdsIndexIsdaCreditCurveNode.ofPointsUpfront(TenorCdsTemplate.of(TENOR_10Y, CdsConventions.EUR_GB_STANDARD), QuoteId.of(StandardId.of("OG-Ticker", "Cdx2")), StandardId.of("OG", "DEF"), ImmutableList.of(StandardId.of("OG", "DEF1"), StandardId.of("OG", "DEF2")), 0.01);

            QuoteId.of(StandardId.of("OG-Ticker", "Deposit2"));
            coverBeanEquals(test1, test2);
        }
Exemple #6
0
        public virtual void test_of_pardSpread()
        {
            CdsIndexIsdaCreditCurveNode test = CdsIndexIsdaCreditCurveNode.ofParSpread(TEMPLATE_NS, QUOTE_ID, INDEX_ID, LEGAL_ENTITIES);

            assertEquals(test.Label, END_DATE.ToString());
            assertEquals(test.CdsIndexId, INDEX_ID);
            assertEquals(test.LegalEntityIds, LEGAL_ENTITIES);
            assertEquals(test.ObservableId, QUOTE_ID);
            assertEquals(test.Template, TEMPLATE_NS);
            assertEquals(test.date(VAL_DATE, REF_DATA), END_DATE);
        }
Exemple #7
0
        public virtual void test_of_quotedSpread()
        {
            CdsIndexIsdaCreditCurveNode test = CdsIndexIsdaCreditCurveNode.ofQuotedSpread(TEMPLATE, QUOTE_ID, INDEX_ID, LEGAL_ENTITIES, 0.01);

            assertEquals(test.Label, LABEL_AUTO);
            assertEquals(test.CdsIndexId, INDEX_ID);
            assertEquals(test.LegalEntityIds, LEGAL_ENTITIES);
            assertEquals(test.ObservableId, QUOTE_ID);
            assertEquals(test.Template, TEMPLATE);
            assertEquals(test.date(VAL_DATE, REF_DATA), date(2025, 6, 20));
        }
Exemple #8
0
        public virtual void test_builder()
        {
            CdsIndexIsdaCreditCurveNode test = CdsIndexIsdaCreditCurveNode.builder().label(LABEL).template(TEMPLATE).observableId(QUOTE_ID).quoteConvention(CdsQuoteConvention.PAR_SPREAD).cdsIndexId(INDEX_ID).legalEntityIds(LEGAL_ENTITIES).build();

            assertEquals(test.Label, LABEL);
            assertEquals(test.CdsIndexId, INDEX_ID);
            assertEquals(test.LegalEntityIds, LEGAL_ENTITIES);
            assertEquals(test.ObservableId, QUOTE_ID);
            assertEquals(test.Template, TEMPLATE);
            assertEquals(test.date(VAL_DATE, REF_DATA), date(2025, 6, 20));
        }
 public override bool Equals(object obj)
 {
     if (obj == this)
     {
         return(true);
     }
     if (obj != null && obj.GetType() == this.GetType())
     {
         CdsIndexIsdaCreditCurveNode other = (CdsIndexIsdaCreditCurveNode)obj;
         return(JodaBeanUtils.equal(template, other.template) && JodaBeanUtils.equal(label, other.label) && JodaBeanUtils.equal(observableId, other.observableId) && JodaBeanUtils.equal(cdsIndexId, other.cdsIndexId) && JodaBeanUtils.equal(legalEntityIds, other.legalEntityIds) && JodaBeanUtils.equal(quoteConvention, other.quoteConvention) && JodaBeanUtils.equal(fixedRate, other.fixedRate));
     }
     return(false);
 }
Exemple #10
0
        public virtual void test_serialization()
        {
            CdsIndexIsdaCreditCurveNode test = CdsIndexIsdaCreditCurveNode.ofQuotedSpread(TEMPLATE, QUOTE_ID, INDEX_ID, LEGAL_ENTITIES, 0.01);

            assertSerialization(test);
        }
Exemple #11
0
 public virtual void test_build_fail_noRate()
 {
     assertThrows(() => CdsIndexIsdaCreditCurveNode.builder().template(TEMPLATE).observableId(QUOTE_ID).cdsIndexId(INDEX_ID).legalEntityIds(LEGAL_ENTITIES).quoteConvention(CdsQuoteConvention.QUOTED_SPREAD).build(), typeof(System.ArgumentException));
 }