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 Details

    • 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 Details

    • 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 of AnalyticModel.
      Specified by:
      getValue in interface AnalyticProduct
      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.