/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.analytics.model.pnl; import java.util.Set; import com.opengamma.engine.ComputationTargetSpecification; import com.opengamma.engine.value.ValueRequirement; import com.opengamma.financial.security.FinancialSecurity; /** * Gathers contributions for sensitivity-based historical P&L calculations. * <p> * This is available as an interface so that it may be implemented either locally or as a remote service. * See {@link DefaultPnLRequirementsGatherer} for a possible implementation. */ public interface PnLRequirementsGatherer { /** * @param security The security * @param samplingPeriod The sampling period * @param scheduleCalculator The schedule calculator * @param samplingFunction The sampling function * @param targetSpec The target specification * @param currency The currency * @return A set of requirements for calculating the first-order P&L */ Set<ValueRequirement> getFirstOrderRequirements(FinancialSecurity security, String samplingPeriod, String scheduleCalculator, String samplingFunction, ComputationTargetSpecification targetSpec, String currency); }