Interface TradableProduct

All Superinterfaces:
com.rosetta.model.lib.RosettaModelObject
All Known Subinterfaces:
TradableProduct.TradableProductBuilder
All Known Implementing Classes:
TradableProduct.TradableProductBuilderImpl, TradableProduct.TradableProductImpl

@RosettaDataType(value="TradableProduct", builder=TradableProductBuilderImpl.class, version="5.30.0") @RuneDataType(value="TradableProduct", model="cdm", builder=TradableProductBuilderImpl.class, version="5.30.0") public interface TradableProduct extends com.rosetta.model.lib.RosettaModelObject
Definition of a product as ready to be traded, i.e. included in an execution or contract, by associating a specific price and quantity to this product plus an (optional) mechanism for any potential future quantity adjustment.
Version:
5.30.0
  • Field Details

  • Method Details

    • getProduct

      Product getProduct()
      The underlying product to be included in a contract or execution.
    • getTradeLot

      List<? extends TradeLot> getTradeLot()
      Specifies the price, quantity and effective date of each trade lot, when the same product may be traded multiple times in different lots with the same counterparty. In a trade increase, a new trade lot is added to the list, with the corresponding effective date. In a trade decrease, the existing trade lot(s) are decreased of the corresponding quantity (and an unwind fee may have to be settled). The multiple cardinality and the ability to increase existing trades is used for Equity Swaps in particular.
    • getCounterparty

      List<? extends Counterparty> getCounterparty()
      Specifies the parties which are the two counterparties to the transaction. The product is agnostic to the actual parties to the transaction, with the party references abstracted away from the product definition and replaced by the counterparty enum (e.g. CounterpartyEnum values Party1 or Party2). The counterparty enum can then be positioned in the product (e.g. to specify which counterparty is the payer, receiver etc) and this counterparties attribute, which is positioned outside of the product definition, allows the counterparty enum to be associated with an actual party reference. Body ICMA Corpus MasterAgreement GMRA Global Master Repurchase Agreement GMRA 2011 "The Global Master Repurchase Agreement (GMRA) is a model legal agreement designed for parties transacting repos and is published by the International Capital Market Association (ICMA)." namingConvention "Party" Provision Parties entering into GMRA, as specified on page 1 of the GMRA and under 1. (a).
    • getAncillaryParty

      List<? extends AncillaryParty> getAncillaryParty()
      Specifies the parties with ancillary roles in the transaction. The product is agnostic to the actual parties involved in the transaction, with the party references abstracted away from the product definition and replaced by the AncillaryRoleEnum. The AncillaryRoleEnum can then be positioned in the product and this AncillaryParty type, which is positioned outside of the product definition, allows the AncillaryRoleEnum to be associated with an actual party reference.
    • getAdjustment

      NotionalAdjustmentEnum getAdjustment()
      Specifies the conditions that govern the adjustment to the quantity of a product being traded: e.g. execution, portfolio rebalancing etc. It is typically used in the context of Equity Swaps.
    • build

      Build Methods
      Specified by:
      build in interface com.rosetta.model.lib.RosettaModelObject
    • toBuilder

      Specified by:
      toBuilder in interface com.rosetta.model.lib.RosettaModelObject
    • builder

    • metaData

      default com.rosetta.model.lib.meta.RosettaMetaData<? extends TradableProduct> metaData()
      Utility Methods
      Specified by:
      metaData in interface com.rosetta.model.lib.RosettaModelObject
    • getType

      @RuneAttribute("@type") default Class<? extends TradableProduct> getType()
      Specified by:
      getType in interface com.rosetta.model.lib.RosettaModelObject
    • process

      default void process(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor)
      Specified by:
      process in interface com.rosetta.model.lib.RosettaModelObject