*/
public class StandardEquityModelFunction extends AbstractFunction.NonCompiledInvoker {
@Override
public Set<ComputedValue> execute(final FunctionExecutionContext executionContext, final FunctionInputs inputs, final ComputationTarget target, final Set<ValueRequirement> desiredValues) {
final EquitySecurity equity = (EquitySecurity) target.getSecurity();
final double price = (Double) inputs.getValue(
new ValueRequirement(
MarketDataRequirementNames.MARKET_VALUE,
ComputationTargetType.SECURITY,
equity.getUniqueId()));
final Set<ComputedValue> result = new HashSet<>();
final ValueProperties properties = createValueProperties().with(ValuePropertyNames.CURRENCY, equity.getCurrency().getCode()).get();
result.add(new ComputedValue(new ValueSpecification(ValueRequirementNames.FAIR_VALUE, target.toSpecification(), properties), price));
result.add(new ComputedValue(new ValueSpecification(ValueRequirementNames.PRESENT_VALUE, target.toSpecification(), properties), price));
return result;
}