/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.analytics.financial.provider.description.inflation;
import com.opengamma.analytics.financial.model.option.parameters.BlackFlatCapFloorParameters;
import com.opengamma.analytics.financial.model.option.parameters.BlackSmileCapInflationZeroCouponParameters;
import com.opengamma.analytics.financial.model.option.parameters.InflationConvexityAdjustmentParameters;
/**
* Implementation of a provider of Black smile for zero-coupon inflation options with convexity adjustment. The volatility is time to expiration/strike/delay dependent.
* The "delay" is the time between expiration of the option and last trading date of the underlying.
*/
public class BlackSmileCapInflationZeroCouponWithConvexityProviderDiscount extends BlackSmileCapInflationZeroCouponWithConvexityProvider {
/**
* @param inflation The inflation provider.
* @param parameters The Black parameters.
* @param inflationConvexityAdjutmentsParameters The inflation convexity adjustment parameters.
* @param blackSmileIborCapParameters The Black volatility cap/floor (ibor) parameters.
*/
public BlackSmileCapInflationZeroCouponWithConvexityProviderDiscount(InflationProviderDiscount inflation, final BlackSmileCapInflationZeroCouponParameters parameters,
final InflationConvexityAdjustmentParameters inflationConvexityAdjutmentsParameters, final BlackFlatCapFloorParameters blackSmileIborCapParameters) {
super(inflation, parameters, inflationConvexityAdjutmentsParameters, blackSmileIborCapParameters);
}
@Override
public BlackSmileCapInflationZeroCouponWithConvexityProviderDiscount copy() {
InflationProviderDiscount inflation = getInflationProvider().copy();
return new BlackSmileCapInflationZeroCouponWithConvexityProviderDiscount(inflation, getBlackParameters(), getInflationConvexityAdjustmentParameters(), getBlackSmileIborCapParameters());
}
@Override
public InflationProviderDiscount getInflationProvider() {
return (InflationProviderDiscount) super.getInflationProvider();
}
}