Class ForwardRateAgreement

  • All Implemented Interfaces:
    AnalyticProduct, Product

    public class ForwardRateAgreement
    extends AbstractAnalyticProduct
    implements AnalyticProduct
    Implements the valuation of a FRA in multi-curve setting. According to Ametrano/Bianchetti (2013) p.22, the size of the convexity adjustment between market FRA and textbook FRA is neglegible. This class can thus be used for the valuation of the market FRA. market conventions (see Ametrano/Bianchetti (2013), p.22): spot offset: 2BD day count convention: act/360 fixing date offset: 2BD
    Version:
    1.0
    Author:
    Rebecca Declara, Christian Fries
    • Constructor Detail

      • ForwardRateAgreement

        public ForwardRateAgreement​(Schedule schedule,
                                    double spread,
                                    String forwardCurveName,
                                    String discountCurveName,
                                    boolean isPayer)
        Creates a FRA. The FRA has a unit notional of 1.
        Parameters:
        schedule - The schedule (provides fixing and periods length).
        spread - The market FRA rate
        forwardCurveName - Name of the forward curve
        discountCurveName - Name of the discount curve (possibly multi curve setting).
        isPayer - If true, the fra pays fix, i.e., the payoff is forward - spread. Otherwise it is spread - forward.
      • ForwardRateAgreement

        public ForwardRateAgreement​(Schedule schedule,
                                    double spread,
                                    String forwardCurveName,
                                    String discountCurveName)
        Creates a payer FRA. The FRA has a unit notional of 1.
        Parameters:
        schedule - The schedule (provides fixing and periods length).
        spread - The market FRA rate
        forwardCurveName - Name of the forward curve
        discountCurveName - Name of the discount curve (possibly multi curve setting).
    • 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
        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.
      • getRate

        public double getRate​(AnalyticModel model)
        Return the par FRA rate for a given curve.
        Parameters:
        model - A given model.
        Returns:
        The par FRA rate.