Class ResolvedCmsTrade

  • All Implemented Interfaces:
    ResolvedTrade, java.io.Serializable, Bean, ImmutableBean

    public final class ResolvedCmsTrade
    extends java.lang.Object
    implements ResolvedTrade, ImmutableBean, java.io.Serializable
    A trade in a constant maturity swap (CMS), resolved for pricing.

    This is the resolved form of CmsTrade and is the primary input to the pricers. Applications will typically create a ResolvedCmsTrade from a CmsTrade using CmsTrade.resolve(ReferenceData).

    A ResolvedCmsTrade 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

      • meta

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

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

        public TradeInfo getInfo()
        Gets the additional trade information, defaulted to an empty instance.

        This allows additional information to be attached to the trade.

        Specified by:
        getInfo in interface ResolvedTrade
        Returns:
        the value of the property, not null
      • getProduct

        public ResolvedCms getProduct()
        Gets the resolved CMS product.

        The product captures the contracted financial details of the trade.

        Specified by:
        getProduct in interface ResolvedTrade
        Returns:
        the value of the property, not null
      • getPremium

        public java.util.Optional<Payment> getPremium()
        Gets the optional premium of the product.

        For certain CMS products, a premium is paid upfront. This typically occurs instead of periodic payments based on fixed or Ibor rates over the lifetime of the product.

        The premium sign must be compatible with the product Pay/Receive flag.

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

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