Class ResolvedTermDeposit

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

    public final class ResolvedTermDeposit
    extends java.lang.Object
    implements ResolvedProduct, org.joda.beans.ImmutableBean, java.io.Serializable
    A term deposit, resolved for pricing.

    This is the resolved form of TermDeposit and is an input to the pricers. Applications will typically create a ResolvedTermDeposit from a TermDeposit using TermDeposit.resolve(ReferenceData).

    A ResolvedTermDeposit is bound to data that changes over time, such as holiday calendars. If the data changes, such as the addition of a new holiday, the resolved form will not be updated. Care must be taken when placing the resolved form in a cache or persistence layer.

    See Also:
    Serialized Form
    • Method Detail

      • getInterest

        public double getInterest()
        Gets the accrued interest.

        The interest is rate * principal * yearFraction.

        Returns:
        the accrued interest
      • meta

        public static ResolvedTermDeposit.Meta meta()
        The meta-bean for ResolvedTermDeposit.
        Returns:
        the meta-bean, not null
      • builder

        public static ResolvedTermDeposit.Builder builder()
        Returns a builder used to create an instance of the bean.
        Returns:
        the builder, not null
      • getCurrency

        public Currency getCurrency()
        Gets the primary currency.

        This is the currency of the deposit and the currency that payment is made in.

        Returns:
        the value of the property, not null
      • getNotional

        public double getNotional()
        Gets the notional amount.

        The amount that is deposited. It is a positive signed amount if the deposit is 'Buy', and a negative signed amount if the deposit is 'Sell'.

        The currency of the notional is specified by currency.

        Returns:
        the value of the property
      • getStartDate

        public java.time.LocalDate getStartDate()
        Gets the start date of the deposit.

        This is the first date that interest accrues.

        This is an adjusted date, which should be a valid business day

        Returns:
        the value of the property, not null
      • getEndDate

        public java.time.LocalDate getEndDate()
        Gets the end date of the deposit.

        This is the last day that interest accrues. This date must be after the start date.

        This is an adjusted date, which should be a valid business day

        Returns:
        the value of the property, not null
      • getYearFraction

        public double getYearFraction()
        Gets the year fraction between the start and end date.

        The value is usually calculated using a DayCount. Typically the value will be close to 1 for one year and close to 0.5 for six months. The fraction may be greater than 1, but not less than 0.

        Returns:
        the value of the property
      • getRate

        public double getRate()
        Gets the fixed rate of interest. A 5% rate will be expressed as 0.05.
        Returns:
        the value of the property
      • toBuilder

        public ResolvedTermDeposit.Builder toBuilder()
        Returns a builder that allows this bean to be mutated.
        Returns:
        the mutable builder, not null
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object