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.
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).
Methods inherited from class net.finmath.marketdata.products.Cap
getATMForward, getDiscountCurveName, getForwardCurveName, getImpliedVolatility, getStrike, getValue, toString
Methods inherited from class net.finmath.marketdata.products.AbstractAnalyticProduct
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
CapShiftedVolpublic 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.
getValueAsPricepublic double getValueAsPrice(double evaluationTime, AnalyticModel model)Returns the value of this product under the given model.