finMath lib documentation
net.finmath.analytic.products

## Class Deposit

• All Implemented Interfaces:
AnalyticProductInterface, ProductInterface

public class Deposit
extends AbstractAnalyticProduct
implements AnalyticProductInterface
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 Summary

Constructors
Constructor and Description
Deposit(ScheduleInterface schedule, double rate, String discountCurveName)
• ### Method Summary

All Methods
Modifier and Type Method and Description
String getDiscountCurveName()
double getFixingTime()
double getPeriodEndTime()
double getRate()
RandomVariableInterface getRate(AnalyticModelInterface model)
Return the deposit rate implied by the given model's curve.
ScheduleInterface getSchedule()
RandomVariableInterface getValue(double evaluationTime, AnalyticModelInterface model)
Return the valuation of the product using the given model.
String toString()
• ### Methods inherited from class net.finmath.analytic.products.AbstractAnalyticProduct

getValue, getValue
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
• ### Methods inherited from interface net.finmath.modelling.ProductInterface

getValue, getValues
• ### Constructor Detail

• #### Deposit

public Deposit(ScheduleInterface 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 RandomVariableInterface getValue(double evaluationTime,
AnalyticModelInterface model)
Description copied from interface: AnalyticProductInterface
Return the valuation of the product using the given model. The model has to implement the modes of AnalyticModelInterface.
Specified by:
getValue in interface AnalyticProductInterface
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 RandomVariableInterface getRate(AnalyticModelInterface 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 ScheduleInterface 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