Class SabrInArrearsVolatilityFunction

  • All Implemented Interfaces:
    Serializable, org.joda.beans.Bean, org.joda.beans.ImmutableBean

    public final class SabrInArrearsVolatilityFunction
    extends Object
    implements org.joda.beans.ImmutableBean, Serializable
    Adjustments to the SABR parameters to accommodate the pricing of in-arrears caplets.

    The parameter "q" in the formula is a parameter such that 1-q is closely related to a mean reversion. It is defaulted to q=1 in the default instance of the formula.

    Reference: Willems, Sander. SABR smiles for RFR caplets. August 2020. Electronic copy available at: https://ssrn.com/abstract=3567655

    See Also:
    Serialized Form
    • Method Detail

      • effectiveSabrBeforeStart

        public SabrFormulaData effectiveSabrBeforeStart​(SabrFormulaData parameters,
                                                        double tau0,
                                                        double tau1)
        The effective SABR parameters from the raw SABR parameters and the times. Formula in the case tau0 > 0.

        Theorem 4.2 in reference.

        Parameters:
        parameters - the raw SABR parameters
        tau0 - the accumulation period start time
        tau1 - the accumulation period end time
        Returns:
        the effective SABR parameters
      • effectiveSabrAfterStart

        public SabrFormulaData effectiveSabrAfterStart​(SabrFormulaData parameters,
                                                       double tau0,
                                                       double tau1)
        The effective SABR parameters from the raw SABR parameters and the times. Formula in the case tau0 <= 0.

        Theorem 4.1 in reference.

        Parameters:
        parameters - the raw SABR parameters
        tau0 - the accumulation period start time
        tau1 - the accumulation period end time
        Returns:
        the effective SABR parameters
      • effectiveSabr

        public SabrFormulaData effectiveSabr​(SabrFormulaData parameters,
                                             double tau0,
                                             double tau1)
        The effective SABR parameters from the raw SABR parameters and the times.
        Parameters:
        parameters - the raw SABR parameters
        tau0 - the accumulation period start time
        tau1 - the accumulation period end time
        Returns:
        the effective SABR parameters
      • effectiveSabrAfterStartAd

        public List<ValueDerivatives> effectiveSabrAfterStartAd​(SabrFormulaData parameters,
                                                                double tau0,
                                                                double tau1)
        The effective SABR parameters and their derivatives from the raw SABR parameters and the times. Formula in the case tau0 <= 0;

        The results are provided as a list of ValueDerivatives corresponding to alpha, beta, rho and nu and with each derivatives part containing the derivatives with respect to alpha, beta, rho, nu, tau0 and tau1.

        Parameters:
        parameters - the raw SABR parameters
        tau0 - the accumulation period start time
        tau1 - the accumulation period end time
        Returns:
        the effective SABR parameters
      • effectiveSabrBeforeStartAd

        public List<ValueDerivatives> effectiveSabrBeforeStartAd​(SabrFormulaData parameters,
                                                                 double tau0,
                                                                 double tau1)
        The effective SABR parameters and their derivatives from the raw SABR parameters and the times. Formula in the case tau0 > 0;

        The results are provided as a list of ValueDerivatives corresponding to alpha, beta, rho and nu and with each derivatives part containing the derivatives with respect to alpha, beta, rho, nu, tau0 and tau1.

        Parameters:
        parameters - the raw SABR parameters
        tau0 - the accumulation period start time
        tau1 - the accumulation period end time
        Returns:
        the effective SABR parameters
      • effectiveSabrAd

        public List<ValueDerivatives> effectiveSabrAd​(SabrFormulaData parameters,
                                                      double tau0,
                                                      double tau1)
        The effective SABR parameters from the raw SABR parameters and the times.
        Parameters:
        parameters - the raw SABR parameters
        tau0 - the accumulation period start time
        tau1 - the accumulation period end time
        Returns:
        the effective SABR parameters
      • getQ

        public double getQ()
        Gets the mean reversion related parameter.
        Returns:
        the value of the property
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object