public virtual void test_metadata_end() { IborFutureCurveNode node = IborFutureCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL); LocalDate date = LocalDate.of(2015, 10, 20); LocalDate referenceDate = TEMPLATE.calculateReferenceDateFromTradeDate(date, REF_DATA); LocalDate maturityDate = TEMPLATE.Index.calculateMaturityFromEffective(referenceDate, REF_DATA); ParameterMetadata metadata = node.metadata(date, REF_DATA); assertEquals(metadata.Label, LABEL); assertTrue(metadata is YearMonthDateParameterMetadata); assertEquals(((YearMonthDateParameterMetadata)metadata).Date, maturityDate); assertEquals(((YearMonthDateParameterMetadata)metadata).YearMonth, YearMonth.from(referenceDate)); }
public virtual void test_calculateReferenceDateFromTradeDate() { IborFutureTemplate @base = IborFutureTemplate.of(YEAR_MONTH, CONVENTION); LocalDate date = LocalDate.of(2015, 10, 20); LocalDate expected = LocalDate.of(2016, 6, 15); assertEquals(@base.calculateReferenceDateFromTradeDate(date, REF_DATA), expected); }
public virtual void test_calculateReferenceDateFromTradeDate() { IborFutureTemplate @base = IborFutureTemplate.of(MIN_PERIOD, NUMBER, CONVENTION); LocalDate date = LocalDate.of(2015, 10, 20); // 2nd Quarterly IMM at least 2 months later from this date LocalDate expected = LocalDate.of(2016, 6, 15); // 1st is March 2016, 2nd is Jun 2016 assertEquals(@base.calculateReferenceDateFromTradeDate(date, REF_DATA), expected); }