/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.analytics.model.sabrcube; import com.opengamma.analytics.financial.interestrate.InstrumentDerivative; import com.opengamma.analytics.financial.interestrate.PresentValueSABRExtrapolationCalculator; import com.opengamma.analytics.financial.model.option.definition.SABRInterestRateDataBundle; import com.opengamma.engine.value.ValueRequirement; import com.opengamma.engine.value.ValueRequirementNames; import com.opengamma.financial.analytics.model.sabr.RightExtrapolationSABRDiscountingPVFunction; /** * Calculates the present value using the SABR with a right extrapolation model. * @deprecated Use {@link RightExtrapolationSABRDiscountingPVFunction} */ @Deprecated public class SABRRightExtrapolationPresentValueFunction extends SABRRightExtrapolationFunction { @Override protected String getValueRequirement() { return ValueRequirementNames.PRESENT_VALUE; } @Override protected Object getResult(final InstrumentDerivative derivative, final SABRInterestRateDataBundle data, final ValueRequirement desiredValue) { final Double cutoff = Double.parseDouble(desiredValue.getConstraint(SABRRightExtrapolationFunction.PROPERTY_CUTOFF_STRIKE)); final Double mu = Double.parseDouble(desiredValue.getConstraint(SABRRightExtrapolationFunction.PROPERTY_TAIL_THICKNESS_PARAMETER)); final PresentValueSABRExtrapolationCalculator calculator = new PresentValueSABRExtrapolationCalculator(cutoff, mu); return derivative.accept(calculator, data); } }