Package cdm.product.template
Class TradableProduct.TradableProductImpl
java.lang.Object
cdm.product.template.TradableProduct.TradableProductImpl
- All Implemented Interfaces:
TradableProduct,com.rosetta.model.lib.RosettaModelObject
- Enclosing interface:
TradableProduct
Immutable Implementation of TradableProduct
-
Nested Class Summary
Nested classes/interfaces inherited from interface cdm.product.template.TradableProduct
TradableProduct.TradableProductBuilder, TradableProduct.TradableProductBuilderImpl, TradableProduct.TradableProductImpl -
Field Summary
Fields inherited from interface cdm.product.template.TradableProduct
metaData -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected -
Method Summary
Modifier and TypeMethodDescriptionbuild()Build MethodsbooleanSpecifies 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.inthashCode()protected voidtoString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.rosetta.model.lib.RosettaModelObject
processRosetta, processRosettaMethods inherited from interface cdm.product.template.TradableProduct
getType, metaData, process
-
Constructor Details
-
TradableProductImpl
-
-
Method Details
-
getProduct
@RosettaAttribute(value="product", isRequired=true) @RuneAttribute(value="product", isRequired=true) public Product getProduct()Description copied from interface:TradableProductThe underlying product to be included in a contract or execution.- Specified by:
getProductin interfaceTradableProduct
-
getTradeLot
@RosettaAttribute(value="tradeLot", isRequired=true) @RuneAttribute(value="tradeLot", isRequired=true) public List<? extends TradeLot> getTradeLot()Description copied from interface:TradableProductSpecifies 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.- Specified by:
getTradeLotin interfaceTradableProduct
-
getCounterparty
@RosettaAttribute(value="counterparty", isRequired=true) @RuneAttribute(value="counterparty", isRequired=true) public List<? extends Counterparty> getCounterparty()Description copied from interface:TradableProductSpecifies 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).- Specified by:
getCounterpartyin interfaceTradableProduct
-
getAncillaryParty
@RosettaAttribute("ancillaryParty") @RuneAttribute("ancillaryParty") public List<? extends AncillaryParty> getAncillaryParty()Description copied from interface:TradableProductSpecifies 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.- Specified by:
getAncillaryPartyin interfaceTradableProduct
-
getAdjustment
@RosettaAttribute("adjustment") @RuneAttribute("adjustment") public NotionalAdjustmentEnum getAdjustment()Description copied from interface:TradableProductSpecifies 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.- Specified by:
getAdjustmentin interfaceTradableProduct
-
build
Description copied from interface:TradableProductBuild Methods- Specified by:
buildin interfacecom.rosetta.model.lib.RosettaModelObject- Specified by:
buildin interfaceTradableProduct
-
toBuilder
- Specified by:
toBuilderin interfacecom.rosetta.model.lib.RosettaModelObject- Specified by:
toBuilderin interfaceTradableProduct
-
setBuilderFields
-
equals
-
hashCode
public int hashCode() -
toString
-