/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.analytics.model.equity.option;
import com.opengamma.core.security.Security;
import com.opengamma.financial.analytics.model.equity.EquitySecurityUtils;
import com.opengamma.financial.property.DefaultPropertyFunction;
/**
* Populates {@link EquityOptionFunction}, including {@link EquityVanillaBarrierOptionBlackFunction}, with defaults appropriate
* for pricing using an interpolated Black lognormal volatility surface.
*/
public class EquityOptionSurfaceCalculationMethodPerEquityDefaults extends EquityOptionSurfaceCalculationMethodDefaults {
/**
* @param priority The priority class of {@link DefaultPropertyFunction} instances, allowing them to be ordered relative to each other, not null
* @param perEquityConfig Defaults values of curve configuration, discounting curve, surface name and interpolation method per equity, not null
*/
public EquityOptionSurfaceCalculationMethodPerEquityDefaults(final String priority, final String... perEquityConfig) {
super(priority, perEquityConfig);
}
@Override
protected String getId(final Security security) {
final String id = EquitySecurityUtils.getIndexOrEquityNameFromUnderlying(security, true);
if (id != null) {
return id.toUpperCase();
}
return null;
}
}