Package net.finmath.marketdata.products
Class MarketForwardRateAgreement
- java.lang.Object
-
- net.finmath.marketdata.products.AbstractAnalyticProduct
-
- net.finmath.marketdata.products.MarketForwardRateAgreement
-
- All Implemented Interfaces:
AnalyticProduct
,Product
public class MarketForwardRateAgreement extends AbstractAnalyticProduct implements AnalyticProduct
Implements the valuation of a market forward rate agreement using curves (discount curve, forward curve). The value of the forward rate agreement at its maturity time t is
(F(t)-K) / (1 + F(t) * dcf(periodStart,periodEnd)) where F(t) is the forward evaluated at maturity and dcf(periodStart,periodEnd) is a given paymentOffset. The value of the forward rate agreement returned for an earlier time is the above payoff multiplied with the corresponding discount factor curve. Note that this valuation ignores a possible convexity adjustment between the forward and the discount factors since the above formula is not a linear function of F. Put differently, if this product is used to calibrate a forward curve to a forward rate agreement, then the calibrated forward curve will include the convexity adjustment.- Version:
- 1.0
- Author:
- Christian Fries
-
-
Constructor Summary
Constructors Constructor Description MarketForwardRateAgreement(double maturity, double paymentOffset, String forwardCurveName, double spread, String discountCurveName)
Creates a market forward rate agreement.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getValue(double evaluationTime, AnalyticModel model)
Return the valuation of the product using the given model.-
Methods inherited from class net.finmath.marketdata.products.AbstractAnalyticProduct
getValue, getValue
-
-
-
-
Constructor Detail
-
MarketForwardRateAgreement
public MarketForwardRateAgreement(double maturity, double paymentOffset, String forwardCurveName, double spread, String discountCurveName)
Creates a market forward rate agreement.- Parameters:
maturity
- Maturity, i.e., fixing on the forward curve.paymentOffset
- Payment offset.forwardCurveName
- Name of the forward curve, leave empty if this is a fix payment.spread
- Additional fixed payment (if any).discountCurveName
- Name of the discount curve for the forward.
-
-
Method Detail
-
getValue
public double getValue(double evaluationTime, AnalyticModel model)
Description copied from interface:AnalyticProduct
Return the valuation of the product using the given model. The model has to implement the modes ofAnalyticModel
.- Specified by:
getValue
in interfaceAnalyticProduct
- Parameters:
evaluationTime
- The evaluation time as double. Cash flows prior and including this time are not considered.model
- The model under which the product is valued.- Returns:
- The value of the product using the given model.
-
-