Class CapShiftedVol

  • All Implemented Interfaces:
    AnalyticProduct, Product

    public class CapShiftedVol
    extends Cap
    Implements the valuation of a cap via an analytic model, i.e. the specification of a forward curve, discount curve and volatility surface. A cap is a portfolio of Caplets with a common strike, i.e., the strike is the same for all Caplets. The class can value a caplet with a given strike or given moneyness. If moneyness is given, the class calculates the ATM forward. Note that this is done by omitting the first (fixed) period, see Cap.getATMForward(AnalyticModel, boolean). Note: A fixing in arrears is not handled correctly since a convexity adjustment is currently not applied.
    Christian Fries
    To dos:
    Support convexity adjustment if fixing is in arrears., Fix JavaDoc for shift.
    • Constructor Detail

      • CapShiftedVol

        public CapShiftedVol​(Schedule schedule,
                             String forwardCurveName,
                             double strike,
                             boolean isStrikeMoneyness,
                             String discountCurveName,
                             String volatilitySurfaceName,
                             double shift)
        Create a Caplet with a given schedule, strike on a given forward curve (by name) with a given discount curve and volatility surface (by name). The valuation is performed using analytic valuation formulas for the underlying caplets.
        schedule - A given payment schedule, i.e., a collection of Periods with fixings, payments and period length.
        forwardCurveName - The forward curve to be used for the forward of the index.
        strike - The given strike (or moneyness).
        isStrikeMoneyness - If true, then the strike argument is interpreted as moneyness, i.e. we calculate an ATM forward from the schedule.
        discountCurveName - The discount curve to be used for discounting.
        volatilitySurfaceName - The volatility surface to be used.
        shift - The shift of the volatility surface.
    • Method Detail

      • getValueAsPrice

        public double getValueAsPrice​(double evaluationTime,
                                      AnalyticModel model)
        Returns the value of this product under the given model.
        getValueAsPrice in class Cap
        evaluationTime - Evaluation time.
        model - The model.
        Value of this product under the given model.