Package com.opengamma.analytics.financial.equity.future

Source Code of com.opengamma.analytics.financial.equity.future.EquityIndexDividendFutureTest

/**
* Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.analytics.financial.equity.future;

import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertFalse;
import static org.testng.AssertJUnit.assertNull;

import org.testng.annotations.Test;
import org.threeten.bp.ZoneOffset;
import org.threeten.bp.ZonedDateTime;

import com.opengamma.analytics.financial.equity.future.derivative.EquityIndexDividendFuture;
import com.opengamma.timeseries.DoubleTimeSeries;
import com.opengamma.timeseries.precise.zdt.ImmutableZonedDateTimeDoubleTimeSeries;
import com.opengamma.util.money.Currency;
import com.opengamma.util.time.DateUtils;

/**
*
*/
public class EquityIndexDividendFutureTest {

  private static final double PRICE = 95.0;
  private static final double timeToSettlement = 1.45;
  private static final double timeToFixing = 1.44;

  private static final ZonedDateTime FIXING_DATE = DateUtils.getUTCDate(2011, 1, 3);
  private static final ZonedDateTime[] FIXING_DATES = {FIXING_DATE, FIXING_DATE.plusYears(1), DateUtils.getDateOffsetWithYearFraction(FIXING_DATE, 1.0) };
  private static final double[] FIXINGS = {98d, 99., 100.0 };
  private static final DoubleTimeSeries<ZonedDateTime> FIXING_TS = ImmutableZonedDateTimeDoubleTimeSeries.of(FIXING_DATES, FIXINGS, ZoneOffset.UTC);

  @Test
  public void test() {

    final EquityIndexDividendFuture theFuture = new EquityIndexDividendFuture(timeToFixing, timeToSettlement, PRICE, Currency.CAD, 10.);

    assertEquals(theFuture.getTimeToSettlement(), timeToSettlement, 0);
    assertFalse(Double.compare(theFuture.getTimeToExpiry(), timeToSettlement) == 0);
  }

  @Test
  public void testTimeSeries() {

    final ZonedDateTime lastCloseDate = FIXING_DATE;
    final double lastClose = FIXING_TS.getValue(lastCloseDate);
    assertEquals(lastClose, 98, 0);

    final double latestFixing = FIXING_TS.getLatestValue();
    assertEquals(latestFixing, 100, 0);

    final ZonedDateTime HighNoon = lastCloseDate.plusHours(12);
    assertNull("ArrayZonedDateTimeDoubleTimeSeries.getValue has not returned a null value for a time missing from the series", FIXING_TS.getValue(HighNoon));

    // BLOOMBERG_TICKER~Z H1 Index

  }

}
TOP

Related Classes of com.opengamma.analytics.financial.equity.future.EquityIndexDividendFutureTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.