Class Deposit

  • All Implemented Interfaces:
    AnalyticProduct, Product

    public class Deposit
    extends AbstractAnalyticProduct
    implements AnalyticProduct
    Implements the valuation of the (overnight) deposit (maturity t+1 or t+2). May be used in curve calibration. For definition and convention see Ametrano/Bianchetti (2013). Following the notation there,...
    • for deposit ON set spot offset = 0, start = 0D, maturity = 1D
    • for deposit TN set spot offset = 1, start = 0D, maturity = 1D
    • for deposit ST set spot offset = 2, start = 0D, maturity as given.
    Date rolling convention: "following" for T < 1M, "modified following, eom" for T ≥ 1 The getValue method returns the value df(T) * (1.0+rate*periodLength) - df(t), where t = schedule.getPeriodStart(0), T = schedule.getPayment(0) and df denotes discountCurve.getDiscountFactor. This corresponds to the valuation of an investment of 1 in t, paid back as (1.0+rate*periodLength) in time T.
    Version:
    1.0
    Author:
    Rebecca Declara, Christian Fries
    • Constructor Detail

      • Deposit

        public Deposit​(Schedule schedule,
                       double rate,
                       String discountCurveName)
        Parameters:
        schedule - The schedule of the deposit consisting of one period, providing start, payment and periodLength.
        rate - The deposit rate.
        discountCurveName - The discount curve name.
    • Method Detail

      • getValue

        public RandomVariable 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 RandomVariable getRate​(AnalyticModel model)
        Return the deposit rate implied by the given model's curve.
        Parameters:
        model - The given model containing the curve of name discountCurveName.
        Returns:
        The value of the deposit rate implied by the given model's curve.
      • getSchedule

        public Schedule getSchedule()
      • getDiscountCurveName

        public String getDiscountCurveName()
      • getRate

        public double getRate()
      • getPeriodEndTime

        public double getPeriodEndTime()
      • getFixingTime

        public double getFixingTime()