TradeState
Type CDM 7.2.0Defines the fundamental financial information that can be changed by a Primitive Event and by extension any business or life-cycle event. Each TradeState specifies where a Trade is in its life-cycle. TradeState is a root type and as such, can be created independently to any other CDM data type, but can also be used as part of the CDM Event Model.
Attributes
All 6 declared on TradeState. Cardinality in amber is required.
| Name | Type | Card. | Description |
|---|---|---|---|
| trade | Trade | 1..1 | Represents the Trade that has been effected by a business or life-cycle event. |
| state | State | 0..1 | Represents the State of the Trade through its life-cycle. |
| resetHistory | Reset | 0..* | Represents the updated Trade attributes which can change as the result of a reset event. Only the changed values are captured, leaving the remaining data attributes empty. See Create_Reset function for further details on how TradeState is used in the Reset event. The TradeState data type is used to maintain backwards compatibility with the current Reset mechanism. |
| transferHistory | TransferState | 0..* | Represents the updated Trade attributes which can change as the result of a transfer event. |
| observationHistory | ObservationEvent | 0..* | Represents the observed events related to a particular product or process, such as credit events or corporate actions. |
| valuationHistory | Valuation | 0..* | — |
Referenced by
8 types hold a TradeState as an attribute.
Functions
Model functions that produce or consume this type. These are the CDM's own behaviour — the logic a correct implementation has to match.
| Function | Role | Description |
|---|---|---|
| Create_StockSplit | returns | Function specification to create the fully-formed business event which represents the impact of a stock split (or a reverse stock split) on an Equity Derivatives contract on a certain date. |
| Create_Execution | returns | Specifies the function to compose an execution based on a minimum required set of inputs: product, quantity, parties, etc. |
| Create_ContractFormation | returns | Function specification that represents an executed trade for a contractual product that has been affirmed (or confirmed) by the two parties. The formed contract can reference a legal agreement for instance a master agreement, by using the optional legalAgreement input. |
| Create_Exercise | returns | Defines the process of putting into effect the rights specified in an options contract, such as to buy or sell a security. Once exercised the option contract is terminated. |
| Create_Reset | returns | This function processes a lifecycle reset event (e.g., a floating interest rate) for an active trade. It takes the incoming Reset Instruction and applies it to the current state of the trade. |
| Create_Transfer | returns | Defines how a transfer should be constructed, when representing the exchange of cash between parties. |
| Create_Split | returns | Defines the logic for splitting a trade into separate copies. The split instruction contains a breakdown into N set of primitive instructions. Each set contains the primitive instructions to be applied to each post-split trade, eventually producing N trades. The split function underpins a number of business events such as clearing or allocation. |
| Create_PartyChange | returns | Defines the logic for changing one of the counterparties on a trade. A new trade identifier must be specified as a change of party results in a new trade. An ancillary party can also be specified, for instance to refer to the original executing party on the new trade. |
| Create_QuantityChange | returns | A specification of the inputs, outputs and constraints when calculating the after state of a Quantity Change Primitive Event |
| Create_TermsChange | returns | A specification of the inputs, outputs and constraints when calculating the after tradeState based Terms Change Primitive Instruction. |
| FilterOpenTradeStates | returns | Filter to only 'open' TradeState - where both the closedState and positionState are not set. |
| FilterClosedTradeStates | returns | Filter to only 'closed' TradeState - where either the closedState or positionState are set. |
| QuantityIncreased | takes | — |
| QuantityDecreased | takes | — |
| QuantityDecreasedToZero | takes | — |
| CompareTradeStatesToAmount | takes | For each TradeState, compare the Quantity amounts in each TradeState to the given amount (regardless of unit of amount), based on the CompareOp enum. |
| InterestCashSettlementAmount | takes | Defines the performance calculations relevant for a fixed or floating rate payout. |
| ResolveReset | takes | Defines the interface for adopters to resolve a reset, given a trade state and a date. |
| EquityCashSettlementAmount | takes | Represents Part 1 Section 12 of the 2018 ISDA CDM Equity Confirmation for Security Equity Swap, Para 72. 'Equity Cash Settlement Amount' means, in respect of an Equity Cash Settlement Date, an amount in the Settlement Currency determined by the Calculation Agent as of the Equity Valuation Date to which the Equity Cash Settlement Amount relates, pursuant to the following formula: Equity Cash Settlement Amount = ABS(Rate Of Return) * Equity Notional Amount. |
| Create_StockSplit | takes | Function specification to create the fully-formed business event which represents the impact of a stock split (or a reverse stock split) on an Equity Derivatives contract on a certain date. |
| Create_ContractFormation | takes | Function specification that represents an executed trade for a contractual product that has been affirmed (or confirmed) by the two parties. The formed contract can reference a legal agreement for instance a master agreement, by using the optional legalAgreement input. |
| Create_Exercise | takes | Defines the process of putting into effect the rights specified in an options contract, such as to buy or sell a security. Once exercised the option contract is terminated. |
| Create_Reset | takes | This function processes a lifecycle reset event (e.g., a floating interest rate) for an active trade. It takes the incoming Reset Instruction and applies it to the current state of the trade. |
| Create_Transfer | takes | Defines how a transfer should be constructed, when representing the exchange of cash between parties. |
Showing 12 of each. All 1286 functions →
In the product library
Canonical products whose JSON instantiates TradeState. Useful when
you want to see the type populated rather than described.
| Product | Asset class | Family |
|---|---|---|
| CDS 2003 Long Euro Corp Fixed Regular Payment Schedule | Credit | Single-name |
| CDS 2003 Long US Corp Fixed Regular Payment Schedule | Credit | Single-name |
| CDS 2003 Short Asia Corp Fixed Regular Payment Schedule | Credit | Single-name |
| CDS 2003 Short Euro Corp Fixed Regular Payment Schedule | Credit | Single-name |
| CDS 2003 Short US Corp Fixed Regular Payment Schedule | Credit | Single-name |
| CDS Basket | Credit | Basket |
| CDS Basket Tranche | Credit | Tranche |
| CDS Custom Basket | Credit | Basket |
| CDS European Loan Credit Referenceobligation | Credit | Single-name |
| CDS iBoxx OIS | Credit | Index |
| CDS iBoxx Total Return Swap | Credit | Index |
| CDS Independent Amount Short US Corp Fixed Standard Payment Schedule. | Credit | Single-name |
| CDS Index Option | Credit | Swaptions |
| CDS Index Tranche | Credit | Tranche |
| CDS ITraxx Contractual Supplement | Credit | Index |
and 73 more across the library.
Open TradeState in the Model Browser
Walk the tree and the reference graph interactively, and switch releases to see how the type has changed. Free, no signup.