final Set<String> returnCalculatorNames = desiredValue.getConstraints().getValues(ValuePropertyNames.RETURN_CALCULATOR);
final TimeSeriesReturnCalculator returnCalculator = getTimeSeriesReturnCalculator(returnCalculatorNames);
final LocalDateDoubleTimeSeries returnSeries = (LocalDateDoubleTimeSeries) returnCalculator.evaluate((LocalDateDoubleTimeSeries) priceSeriesObj);
final ValueSpecification resultSpec = new ValueSpecification(ValueRequirementNames.PNL_SERIES, target.toSpecification(), desiredValue.getConstraints());
//final Object result = returnSeries.multiply(fairValue);
final Object result = returnSeries.multiply(fairValue).multiply(target.getPosition().getQuantity().doubleValue());
return Collections.singleton(new ComputedValue(resultSpec, result));
}
private TimeSeriesReturnCalculator getTimeSeriesReturnCalculator(final Set<String> calculatorNames) {
if (calculatorNames == null || calculatorNames.isEmpty() || calculatorNames.size() != 1) {