Class ResolvedBondFuture

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

    public final class ResolvedBondFuture
    extends java.lang.Object
    implements ResolvedProduct, org.joda.beans.ImmutableBean, java.io.Serializable
    A futures contract based on a basket of fixed coupon bonds, resolved for pricing.

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

    A ResolvedBondFuture 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.

    Price

    Strata uses decimal prices for bond futures in the trade model, pricers and market data. This is coherent with the pricing of FixedCouponBond. The bond futures delivery is a bond for an amount computed from the bond future price, a conversion factor and the accrued interest.
    See Also:
    Serialized Form
    • Method Detail

      • getCurrency

        public Currency getCurrency()
        Obtains the currency of the underlying fixed coupon bonds.

        All of the bonds in the delivery basket have the same currency.

        Returns:
        the currency
      • getNotional

        public double getNotional()
        Obtains the notional of underlying fixed coupon bonds.

        All of the bonds in the delivery basket have the same notional. The currency of the notional is specified by getCurrency().

        Returns:
        the notional
      • meta

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

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

        public SecurityId getSecurityId()
        Gets the security identifier.

        This identifier uniquely identifies the security within the system.

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

        public ImmutableList<ResolvedFixedCouponBond> getDeliveryBasket()
        Gets the basket of deliverable bonds.

        The underling which will be delivered in the future time is chosen from a basket of underling securities. This must not be empty.

        All of the underlying bonds must have the same notional and currency.

        Returns:
        the value of the property, not empty
      • getConversionFactors

        public ImmutableList<java.lang.Double> getConversionFactors()
        Gets the conversion factor for each bond in the basket.

        The price of each underlying security in the basket is rescaled by the conversion factor. This must not be empty, and its size must be the same as the size of deliveryBasket.

        All of the underlying bonds must have the same notional and currency.

        Returns:
        the value of the property, not empty
      • getLastTradeDate

        public java.time.LocalDate getLastTradeDate()
        Gets the last trading date.

        The future security is traded until this date.

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

        public java.time.LocalDate getFirstNoticeDate()
        Gets the first notice date.

        The first date on which the delivery of the underlying is authorized.

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

        public java.time.LocalDate getLastNoticeDate()
        Gets the last notice date.

        The last date on which the delivery of the underlying is authorized.

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

        public java.time.LocalDate getFirstDeliveryDate()
        Gets the first delivery date.

        The first date on which the underlying is delivered.

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

        public java.time.LocalDate getLastDeliveryDate()
        Gets the last delivery date.

        The last date on which the underlying is delivered.

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

        public Rounding getRounding()
        Gets the definition of how to round the futures price, defaulted to no rounding.

        The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.

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

        public ResolvedBondFuture.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