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 Details

    • 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 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.
    • getRate

      public double 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()
    • toString

      public String toString()
      Overrides:
      toString in class Object