java.lang.Object
net.finmath.marketdata.products.AbstractAnalyticProduct
net.finmath.marketdata.products.Cap
net.finmath.marketdata.model.volatility.caplet.CapShiftedVol
- All Implemented Interfaces:
AnalyticProduct
,Product
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.- Version:
- 1.0
- Author:
- Christian Fries
- To dos:
- Support convexity adjustment if fixing is in arrears., Fix JavaDoc for shift.
-
Constructor Summary
ConstructorsConstructorDescriptionCapShiftedVol(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). -
Method Summary
Modifier and TypeMethodDescriptiondouble
getValueAsPrice(double evaluationTime, AnalyticModel model)
Returns the value of this product under the given model.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
getValue, getValue
-
Constructor Details
-
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.- Parameters:
schedule
- A given payment schedule, i.e., a collection ofPeriod
s 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 Details
-
getValueAsPrice
Returns the value of this product under the given model.- Overrides:
getValueAsPrice
in classCap
- Parameters:
evaluationTime
- Evaluation time.model
- The model.- Returns:
- Value of this product under the given model.
-