Package com.opengamma.analytics.financial.timeseries.returns

Source Code of com.opengamma.analytics.financial.timeseries.returns.RelativeTimeSeriesReturnCalculator

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

import java.util.List;

import org.apache.commons.lang.Validate;

import com.opengamma.timeseries.DoubleTimeSeries;
import com.opengamma.timeseries.TimeSeriesException;
import com.opengamma.util.ArgumentChecker;
import com.opengamma.util.CalculationMode;

/**
*
*/
public abstract class RelativeTimeSeriesReturnCalculator extends TimeSeriesReturnCalculator {

  public RelativeTimeSeriesReturnCalculator(final CalculationMode mode) {
    super(mode);
  }

  protected void testInputData(final DoubleTimeSeries<?>... x) {
    Validate.notNull(x, "x");
    ArgumentChecker.notEmpty(x, "x");
    Validate.notNull(x[0], "first time series");
    Validate.notNull(x[1], "second time series");
    if (getMode() == CalculationMode.STRICT) {
      final int size = x[0].size();
      for (int i = 1; i < x.length; i++) {
        if (x[i].size() != size) {
          throw new TimeSeriesException("Time series were not all the same length");
        }
      }
      final List<?> times1 = x[0].times();
      List<?> times2;
      for (int i = 1; i < x.length; i++) {
        times2 = x[1].times();
        for (final Object t : times1) {
          if (!times2.contains(t)) {
            throw new TimeSeriesException("Time series did not contain all the same dates");
          }
        }
      }
    }
  }
}
TOP

Related Classes of com.opengamma.analytics.financial.timeseries.returns.RelativeTimeSeriesReturnCalculator

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.