Package com.opengamma.financial.analytics.model.simpleinstrument

Source Code of com.opengamma.financial.analytics.model.simpleinstrument.SimpleFuturePresentValueFunction

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

import com.opengamma.analytics.financial.commodity.calculator.CommodityFuturePresentValueCalculator;
import com.opengamma.analytics.financial.commodity.derivative.SimpleFutureConverter;
import com.opengamma.analytics.financial.interestrate.InstrumentDerivative;
import com.opengamma.analytics.financial.simpleinstruments.derivative.SimpleFuture;
import com.opengamma.analytics.financial.simpleinstruments.pricing.SimpleFutureDataBundle;
import com.opengamma.engine.value.ValueRequirementNames;

/**
* Simple Function computes PV as the difference between Live and last day's closing prices
*/
public class SimpleFuturePresentValueFunction extends SimpleFutureFunction {

  public SimpleFuturePresentValueFunction() {
    super(ValueRequirementNames.PRESENT_VALUE);
  }

  private static final CommodityFuturePresentValueCalculator CALCULATOR = new CommodityFuturePresentValueCalculator();

  @Override
  protected Object computeValues(InstrumentDerivative derivative, SimpleFutureDataBundle market) {
    SimpleFuture simpleFuture = derivative.accept(SimpleFutureConverter.getInstance());
    final Double pv = simpleFuture.accept(CALCULATOR, market);
    return pv;
  }

}
TOP

Related Classes of com.opengamma.financial.analytics.model.simpleinstrument.SimpleFuturePresentValueFunction

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.