Esempio n. 1
0
        public virtual void test_initialGuess()
        {
            IborFutureCurveNode node = IborFutureCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD);
            double     price         = 0.99;
            MarketData marketData    = ImmutableMarketData.builder(VAL_DATE).addValue(QUOTE_ID, price).build();

            assertEquals(node.initialGuess(marketData, ValueType.ZERO_RATE), 1.0 - price, TOLERANCE_RATE);
            assertEquals(node.initialGuess(marketData, ValueType.FORWARD_RATE), 1.0 - price, TOLERANCE_RATE);
            double approximateMaturity = TEMPLATE.approximateMaturity(VAL_DATE);
            double df = Math.Exp(-approximateMaturity * (1.0 - price));

            assertEquals(node.initialGuess(marketData, ValueType.DISCOUNT_FACTOR), df, TOLERANCE_RATE);
            assertEquals(node.initialGuess(marketData, ValueType.UNKNOWN), 0.0d, TOLERANCE_RATE);
        }
        public virtual void test_approximateMaturity()
        {
            IborFutureTemplate @base = IborFutureTemplate.of(YEAR_MONTH, CONVENTION);

            assertEquals(@base.approximateMaturity(LocalDate.of(2015, 10, 20)), 8d / 12d, 0.1d);
        }
Esempio n. 3
0
        public virtual void test_approximateMaturity()
        {
            IborFutureTemplate @base = IborFutureTemplate.of(MIN_PERIOD, NUMBER, CONVENTION);

            assertEquals(@base.approximateMaturity(LocalDate.of(2015, 10, 20)), 0.5d, 0.1d);
        }