public final class TermDeposit extends Object implements Product, Resolvable<ResolvedTermDeposit>, org.joda.beans.ImmutableBean, Serializable
A term deposit is a financial instrument that provides a fixed rate of interest on an amount for a specific term. For example, investing GBP 1,000 for 3 months at a 1% interest rate.
The instrument has two payments, one at the start date and one at the end date. For example, investing GBP 1,000 for 3 months implies an initial payment to the counterparty of GBP 1,000 and a final payment from the counterparty of GBP 1,000 plus interest.
Modifier and Type | Class and Description |
---|---|
static class |
TermDeposit.Builder
The bean-builder for
TermDeposit . |
static class |
TermDeposit.Meta
The meta-bean for
TermDeposit . |
Modifier and Type | Method and Description |
---|---|
ImmutableSet<Currency> |
allCurrencies()
Returns the set of currencies the product refers to.
|
static TermDeposit.Builder |
builder()
Returns a builder used to create an instance of the bean.
|
boolean |
equals(Object obj) |
Optional<BusinessDayAdjustment> |
getBusinessDayAdjustment()
Gets the business day adjustment to apply to the start and end date, optional.
|
BuySell |
getBuySell()
Gets whether the term deposit is 'Buy' or 'Sell'.
|
Currency |
getCurrency()
Gets the primary currency.
|
DayCount |
getDayCount()
Gets the day count convention.
|
LocalDate |
getEndDate()
Gets the end date of the deposit.
|
double |
getNotional()
Gets the notional amount.
|
double |
getRate()
Gets the fixed interest rate to be paid.
|
LocalDate |
getStartDate()
Gets the start date of the deposit.
|
int |
hashCode() |
static TermDeposit.Meta |
meta()
The meta-bean for
TermDeposit . |
TermDeposit.Meta |
metaBean() |
ResolvedTermDeposit |
resolve(ReferenceData refData) |
TermDeposit.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
allPaymentCurrencies, isCrossCurrency
public ImmutableSet<Currency> allCurrencies()
Product
This returns the complete set of currencies, not just the payment currencies. For example, the sets will differ when one of the currencies is non-deliverable.
allCurrencies
in interface Product
public ResolvedTermDeposit resolve(ReferenceData refData)
resolve
in interface Resolvable<ResolvedTermDeposit>
public static TermDeposit.Meta meta()
TermDeposit
.public static TermDeposit.Builder builder()
public TermDeposit.Meta metaBean()
metaBean
in interface org.joda.beans.Bean
public BuySell getBuySell()
A value of 'Buy' implies payment of the principal at the start date and receipt of the principal plus interest at the end date. A value of 'Sell' implies the opposite. In other words, 'Buy' refers to buying the service of "money storage", with the benefit of receiving interest.
public Currency getCurrency()
This is the currency of the term deposit and the currency that payment is made in.
public double getNotional()
The notional represents the principal amount, and must be non-negative.
The currency of the notional is specified by currency
.
public LocalDate getStartDate()
Interest accrues from this date.
This date is typically set to be a valid business day.
Optionally, the businessDayAdjustment
property may be set to provide a rule for adjustment.
public LocalDate getEndDate()
Interest accrues until this date.
This date is typically set to be a valid business day.
Optionally, the businessDayAdjustment
property may be set to provide a rule for adjustment.
This date must be after the start date.
public Optional<BusinessDayAdjustment> getBusinessDayAdjustment()
The start and end date are typically defined as valid business days and thus do not need to be adjusted. If this optional property is present, then the start and end date will be adjusted as defined here.
public DayCount getDayCount()
This is used to convert dates to a numerical value.
public double getRate()
public TermDeposit.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.