Class Dsf

  • All Implemented Interfaces:
    Resolvable<ResolvedDsf>, Product, SecuritizedProduct, Serializable, org.joda.beans.Bean, org.joda.beans.ImmutableBean

    public final class Dsf
    extends Object
    implements SecuritizedProduct, Resolvable<ResolvedDsf>, org.joda.beans.ImmutableBean, Serializable
    A deliverable swap futures contract.

    A deliverable swap future is a financial instrument that physically settles an interest rate swap on a future date. The delivered swap is cleared by a central counterparty. The last future price before delivery is quoted in term of the underlying swap present value. The futures product is margined on a daily basis.

    Price

    The price of a DSF is based on the present value (NPV) of the underlying swap on the delivery date. For example, a price of 100.182 represents a present value of $100,182.00, if the notional is $100,000. This price can also be viewed as a percentage present value - (100 + percentPv), or 0.182% in this example.

    Strata uses decimal prices for DSFs in the trade model, pricers and market data. The decimal price is based on the decimal multiplier equivalent to the implied percentage. Thus the market price of 100.182 is represented in Strata by 1.00182.

    See Also:
    Serialized Form
    • Method Detail

      • getCurrency

        public Currency getCurrency()
        Gets the currency of the underlying swap.

        The underlying swap must have a single currency.

        Specified by:
        getCurrency in interface SecuritizedProduct
        Returns:
        the currency of the swap
      • resolve

        public ResolvedDsf resolve​(ReferenceData refData)
        Description copied from interface: Resolvable
        Resolves this object using the specified reference data.

        This converts the object implementing this interface to the equivalent resolved form. All ReferenceDataId identifiers in this instance will be resolved. The resolved form will typically be a type that is optimized for pricing.

        Resolved objects may be 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.

        Specified by:
        resolve in interface Resolvable<ResolvedDsf>
        Parameters:
        refData - the reference data to use when resolving
        Returns:
        the resolved instance
      • meta

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

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

        public Dsf.Meta metaBean()
        Specified by:
        metaBean in interface org.joda.beans.Bean
      • getSecurityId

        public SecurityId getSecurityId()
        Gets the security identifier.

        This identifier uniquely identifies the security within the system.

        Specified by:
        getSecurityId in interface SecuritizedProduct
        Returns:
        the value of the property, not null
      • getNotional

        public double getNotional()
        Gets the notional of the futures.

        This is also called face value or contract value.

        Returns:
        the value of the property
      • getLastTradeDate

        public LocalDate getLastTradeDate()
        Gets the last date of trading.

        This date must be before the delivery date of the underlying swap.

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

        public LocalDate getDeliveryDate()
        Gets the delivery date.

        The underlying swap is delivered on this date.

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

        public Swap getUnderlyingSwap()
        Gets the underlying swap.

        The delivery date of the future is typically the first accrual date of the underlying swap. The swap should be a receiver swap of notional 1.

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

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

        public int hashCode()
        Overrides:
        hashCode in class Object