Package com.opengamma.analytics.financial.equity.variance

Source Code of com.opengamma.analytics.financial.equity.variance.VarianceSwapDefinitionTest

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

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

import com.opengamma.analytics.financial.instrument.varianceswap.VarianceSwapDefinition;
import com.opengamma.financial.convention.calendar.Calendar;
import com.opengamma.financial.convention.calendar.MondayToFridayCalendar;
import com.opengamma.financial.convention.frequency.PeriodFrequency;
import com.opengamma.timeseries.DoubleTimeSeries;
import com.opengamma.timeseries.date.localdate.ImmutableLocalDateDoubleTimeSeries;
import com.opengamma.util.money.Currency;

/**
*
*/
public class VarianceSwapDefinitionTest {

  private static final ZonedDateTime now = ZonedDateTime.now();
  private static final ZonedDateTime tPlus2 = now.plusDays(2);
  private static final ZonedDateTime plus5y = now.plusYears(5);
  private static final PeriodFrequency obsFreq = PeriodFrequency.DAILY;
  private static final Currency ccy = Currency.EUR;
  private static final Calendar WEEKENDCAL = new MondayToFridayCalendar("WEEKEND");
  private static final double obsPerYear = 250;
  private static final double volStrike = 0.25;
  private static final double volNotional = 1.0E6;

  private final DoubleTimeSeries<LocalDate> emptyTimeSeries = ImmutableLocalDateDoubleTimeSeries.EMPTY_SERIES;

  @Test
  public void forwardStarting() {
    // Construct a forward starting swap, Definition
    final VarianceSwapDefinition varSwapDefn = new VarianceSwapDefinition(tPlus2, plus5y, plus5y, obsFreq, ccy, WEEKENDCAL, obsPerYear, volStrike, volNotional);
    // Construct a forward starting swap, Derivative
    varSwapDefn.toDerivative(now, emptyTimeSeries);
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  // FIXME Failing on purpose so that we don't forget to extend
  public void weeklyObservations() {
    final PeriodFrequency freqWeek = PeriodFrequency.WEEKLY;
    new VarianceSwapDefinition(tPlus2, plus5y, plus5y, freqWeek, ccy, WEEKENDCAL, obsPerYear, volStrike, volNotional);
  }
}
TOP

Related Classes of com.opengamma.analytics.financial.equity.variance.VarianceSwapDefinitionTest

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.