/** * Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.analytics.financial.provider.description.interestrate; import com.opengamma.analytics.financial.instrument.index.GeneratorSwapFixedIbor; /** * Provider of normal (Bachelier) smile for swaptions. * The volatility is time to expiration/tenor/strike price/underlying forward swap rate dependent. */ public interface NormalSwaptionProviderInterface extends ParameterProviderInterface { /** * Create a new copy of the provider * @return The bundle */ @Override NormalSwaptionProviderInterface copy(); /** * Gets the normal volatility at a given expiry-tenor-strike-forward point. * @param expiry The time to expiration. * @param tenor The tenor (in year). * @param strikeRate The strike rate. * @param forwardRate The forward rate of the underlying swap. Used for relative moneyness smile description. * @return The normal implied volatility. */ double getVolatility(final double expiry, final double tenor, final double strikeRate, double forwardRate); /** * Returns the swap generator for which the parameters are valid, * i.e. the data is calibrated to swaption on vanilla swaps with conventions as described in the generator. * @return The generator. */ GeneratorSwapFixedIbor getGeneratorSwap(); }