/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.analytics.model.forex.option.callspreadblack;
import java.util.List;
import com.opengamma.engine.function.config.AbstractFunctionConfigurationBean;
import com.opengamma.engine.function.config.FunctionConfiguration;
import com.opengamma.engine.function.config.FunctionConfigurationSource;
import com.opengamma.financial.analytics.model.forex.defaultproperties.FXDigitalCallSpreadBlackDefaults;
/**
* Function repository configuration source for the functions contained in this package.
*/
public class CallSpreadBlackFunctions extends AbstractFunctionConfigurationBean {
/**
* Default instance of a repository configuration source exposing the functions from this package.
*
* @return the configuration source exposing functions from this package
*/
public static FunctionConfigurationSource instance() {
return new CallSpreadBlackFunctions().getObjectCreating();
}
/**
* Function repository configuration source for the defaults functions contained in this package.
*/
public static class Defaults extends AbstractFunctionConfigurationBean {
private double _callSpread = 0.0001;
public void setCallSpread(final double callSpread) {
_callSpread = callSpread;
}
public double getCallSpread() {
return _callSpread;
}
@Override
protected void addAllConfigurations(final List<FunctionConfiguration> functions) {
functions.add(functionConfiguration(FXDigitalCallSpreadBlackDefaults.class, Double.toString(getCallSpread())));
}
}
@Override
protected void addAllConfigurations(final List<FunctionConfiguration> functions) {
// functions.add(functionConfiguration(FXDigitalCallSpreadBlackFXPresentValueFunction.class));
// functions.add(functionConfiguration(FXDigitalCallSpreadBlackDeltaFunction.class));
functions.add(functionConfiguration(FXDigitalCallSpreadBlackGammaFunction.class));
functions.add(functionConfiguration(FXDigitalCallSpreadBlackGammaSpotFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackImpliedVolatilityFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackPresentValueCurveSensitivityFunction.class));
functions.add(functionConfiguration(FXDigitalCallSpreadBlackPV01Function.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackTermStructureCurrencyExposureFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackThetaFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackVannaFunction.class));
functions.add(functionConfiguration(FXDigitalCallSpreadBlackVegaFunction.class));
functions.add(functionConfiguration(FXDigitalCallSpreadBlackVegaMatrixFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackVegaQuoteMatrixFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackVolatilitySurfaceConstantSpreadThetaFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackVolatilitySurfaceForwardSlideThetaFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackVommaFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackYCNSFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackYieldCurvesConstantSpreadThetaFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadBlackYieldCurvesForwardSlideThetaFunction.class));
//functions.add(functionConfiguration(FXDigitalCallSpreadVannaVolgaPresentValueFunction.class));
}
}