Package cdm.product.template
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
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceBuilder Interfacestatic classBuilder Implementation of TradableProductstatic classImmutable Implementation of TradableProduct -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbuild()Build Methodsbuilder()Specifies the conditions that govern the adjustment to the quantity of a product being traded: e.g. execution, portfolio rebalancing etc.List<? extends AncillaryParty> Specifies the parties with ancillary roles in the transaction.List<? extends Counterparty> Specifies the parties which are the two counterparties to the transaction.The underlying product to be included in a contract or execution.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.default Class<? extends TradableProduct> getType()default com.rosetta.model.lib.meta.RosettaMetaData<? extends TradableProduct> metaData()Utility Methodsdefault voidprocess(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor) Methods inherited from interface com.rosetta.model.lib.RosettaModelObject
processRosetta, processRosetta
-
Field Details
-
metaData
-
-
Method Details
-
getProduct
Product getProduct()The underlying product to be included in a contract or execution. -
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
TradableProduct build()Build Methods- Specified by:
buildin interfacecom.rosetta.model.lib.RosettaModelObject
-
toBuilder
TradableProduct.TradableProductBuilder toBuilder()- Specified by:
toBuilderin interfacecom.rosetta.model.lib.RosettaModelObject
-
builder
-
metaData
Utility Methods- Specified by:
metaDatain interfacecom.rosetta.model.lib.RosettaModelObject
-
getType
- Specified by:
getTypein interfacecom.rosetta.model.lib.RosettaModelObject
-
process
default void process(com.rosetta.model.lib.path.RosettaPath path, com.rosetta.model.lib.process.Processor processor) - Specified by:
processin interfacecom.rosetta.model.lib.RosettaModelObject
-