Class 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.
    Christian Fries
    • Constructor Detail

      • MarketForwardRateAgreement

        public MarketForwardRateAgreement​(double maturity,
                                          double paymentOffset,
                                          String forwardCurveName,
                                          double spread,
                                          String discountCurveName)
        Creates a market forward rate agreement.
        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 of AnalyticModel.
        Specified by:
        getValue in interface AnalyticProduct
        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.
        The value of the product using the given model.