/** * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.sesame.irfutureoption; import com.opengamma.analytics.financial.interestrate.future.derivative.InterestRateFutureSecurity; import com.opengamma.analytics.financial.provider.description.interestrate.NormalSTIRFuturesExpSimpleMoneynessProviderDiscount; import com.opengamma.sesame.Environment; import com.opengamma.sesame.MulticurveBundle; import com.opengamma.sesame.trade.IRFutureOptionTrade; import com.opengamma.util.result.Result; /** * Function to provide the Normal volatility surface for interest rate future options */ public interface IRFutureOptionNormalSurfaceProviderFn { /** * Returns the normal surface provider for a IR future option. * * @param env the environment. * @param trade the IRFutureOptionTrade trade * @param underlyingFuture * @param value * @return the NormalSTIRFuturesExpSimpleMoneynessProviderDiscount for a IR future option trade. */ Result<NormalSTIRFuturesExpSimpleMoneynessProviderDiscount> getNormalSurfaceProvider(Environment env, IRFutureOptionTrade trade, InterestRateFutureSecurity underlyingFuture, MulticurveBundle value); }