/** * Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.analytics.riskfactors; import com.opengamma.util.money.Currency; /** * Default implementation of {@link RiskFactorsConfigurationProvider}. */ public class DefaultRiskFactorsConfigurationProvider implements RiskFactorsConfigurationProvider { private final Currency _currencyOverride; public DefaultRiskFactorsConfigurationProvider() { _currencyOverride = null; } public DefaultRiskFactorsConfigurationProvider(Currency currencyOverride) { _currencyOverride = currencyOverride; } @Override public Currency getCurrencyOverride() { return _currencyOverride; } @Override public String getFundingCurve() { return "Discounting"; } @Override public String getForwardCurve(Currency currency) { String suffix; if (currency.equals(Currency.USD) || currency.equals(Currency.NZD) || currency.equals(Currency.SEK)) { suffix = "3M"; } else { suffix = "6M"; } return "Forward" + suffix; } @Override public String getFXCurve(Currency ccy) { return "Discounting"; } @Override public String getFXVanillaOptionSurfaceName(Currency ccy1, Currency ccy2) { return "TULLETT"; //_" + ccy1.getCode() + ccy2.getCode(); } @Override public String getIRFutureOptionVolatilitySurfaceName(String futureCode) { return "DEFAULT"; // + futureCode;; } @Override public String getCommodityFutureOptionVolatilitySurfaceName(String futureCode) { return "DEFAULT"; // + futureCode; } @Override public String getEquityIndexOptionVolatilitySurfaceName(String tickerPlusMarketSector) { return "BBG"; // + tickerPlusMarketSector; } @Override public String getSwaptionVolatilitySurfaceName(Currency ccy) { return "DEFAULT"; //_ + ccy.getCode(); } @Override public String getSwaptionVolatilityCubeName(Currency ccy) { return "BLOOMBERG"; // + ccy.getCode(); } @Override public String getFXCalculationMethod() { return "BlackMethod"; } @Override public String getEquityFundingCurve() { return "FUNDING"; } @Override public String getEquityCalculationMethod() { return "BlackMethod"; } @Override public String getEquitySmileInterpolator() { return "Spline"; } }