Package com.opengamma.financial.analytics.conversion

Source Code of com.opengamma.financial.analytics.conversion.BondFutureTradeConverter

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

import com.opengamma.analytics.financial.instrument.future.BondFutureDefinition;
import com.opengamma.core.position.Trade;
import com.opengamma.financial.security.future.BondFutureSecurity;
import com.opengamma.util.ArgumentChecker;

/**
* Converts a bond future trade to a {@link BondFutureDefinition}
*/
public class BondFutureTradeConverter {
  private final BondFutureSecurityConverter _securityConverter;

  public BondFutureTradeConverter(final BondFutureSecurityConverter securityConverter) {
    ArgumentChecker.notNull(securityConverter, "security converter");
    _securityConverter = securityConverter;
  }

  /**
   * Convert a Trade on a Bond FutureSecurity into the OG-Analytics Definition.
   * This is currently just a wrapper on the Security converter, but the Trade contains data we may wish to use for risk management.
   * @param trade A trade containing a BondFutureSecurity
   * @return BondFutureDefinition
   */
  // TODO Consider extending the function arguments to allow dynamic treatment of the reference price of the future.
  public BondFutureDefinition convert(final Trade trade) {
    ArgumentChecker.notNull(trade, "trade");
    ArgumentChecker.isTrue(trade.getSecurity() instanceof BondFutureSecurity, "Can only handle trades with security type BondFutureSecurity");
    final BondFutureDefinition underlyingFuture = (BondFutureDefinition) ((BondFutureSecurity) trade.getSecurity()).accept(_securityConverter);
    return underlyingFuture;
  }
}
TOP

Related Classes of com.opengamma.financial.analytics.conversion.BondFutureTradeConverter

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.