supl.005.001.03
The DTCCCANODerivativeSD1 message extends ISO corporate action notification (CANO) message with DTCC corporate action derivative notice elements not covered in the standard message.
Message Construction
Every ISO20022 message has at the highest level what we call ‘building blocks’. Because the message is constructed as immutable records, the association is by composition. Below you can see the relationship between the message and its constituent building blocks: For comparison, see the ISO20022 official specification
classDiagram direction LR %% DTCCCANODerivativeSD1V03 recursion level 0 with max 0 DTCCCANODerivativeSD1V03 *-- "0..1" CorporateActionNotificationSD2 : CorporateActionNotification
Now, we will zero-in one-by-one on each of these building blocks.
CorporateActionNotification building block
Extension block for the information to be extended as corporate action notification details. Provides additional information regarding corporate action notification. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CorporateActionNotificationSD2 recursion level 0 with max 1 class CorporateActionNotificationSD2{ PlaceAndName IsoMax350Text DerivativeWorkflowStatus DerivativeWorkflowStatus1Code DerivativeExchange IsoMax4AlphaNumericText DerivativePublicationDate IsoISODate DerivativeAdjustmentDate IsoISODate DerivativeCalculationMethod IsoMax1025Text DerivativeFactor IsoDecimalNumber LotSizeChangeFlag IsoYesNoIndicator LotAdjustmentMethod IsoMax1025Text StrikePriceChangeFlag IsoYesNoIndicator StrikePriceRoundingMethod IsoMax500Text ResidualCashFlag IsoYesNoIndicator ReferencePrice IsoDecimalNumber ReferencePriceCurrency ActiveCurrencyCode ApprovedFlag IsoYesNoIndicator }
CorporateActionNotificationSD2 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
PlaceAndName | xPath to the element that is being extended. | IsoMax350Text - Required 1..1 |
DerivativeWorkflowStatus | Status of a notice of change. | DerivativeWorkflowStatus1Code - Required 1..1 |
DerivativeExchange | Exchange where the derivative is traded. | IsoMax4AlphaNumericText - Required 1..1 |
DerivativePublicationDate | Date when the notice of change to the derivative is published by the exchange. | IsoISODate - Optional 0..1 |
DerivativeAdjustmentDate | Effective date of the adjustment to the derivative contract. | IsoISODate - Required 1..1 |
DerivativeCalculationMethod | Method (usually a formula) that will be used to calculate the adjustment factor that will be applied to the derivative to account for the impact of a corporate action event on the underlying equity. | IsoMax1025Text - Optional 0..1 |
DerivativeFactor | Adjustment factor to be applied to the derivative contract to account for the impact of a corporate action event on the underlying equity. Derived by using the calculation method. | IsoDecimalNumber - Optional 0..1 |
LotSizeChangeFlag | Indicates whether the deliverable stock amount on the derivative contract will be changed. | IsoYesNoIndicator - Optional 0..1 |
LotAdjustmentMethod | Method that is used to calculate the new stock deliverable on the derivative contract. Usually multiplication or division by a stated figure but may include explanatory text and examples. | IsoMax1025Text - Optional 0..1 |
StrikePriceChangeFlag | Indicates whether there is a new strike price for the change of the derivative contract as a result of the corporate action. | IsoYesNoIndicator - Optional 0..1 |
StrikePriceRoundingMethod | Method that will be used to adjust the strike price. May include the number of decimal places and rounding rules, example up or down. | IsoMax500Text - Optional 0..1 |
ResidualCashFlag | Indicates whether a residual cash is paid on the derivative contract. For example, this may be a cash element that is included in the terms of a takeover that the underlying equity is subject to. | IsoYesNoIndicator - Optional 0..1 |
ReferencePrice | Price of the security to be used in factor calculations. Usually the closing price of the underlying equity on the effective date of the contract adjustment. | IsoDecimalNumber - Optional 0..1 |
ReferencePriceCurrency | Currency associated with the reference price. | ActiveCurrencyCode - Optional 0..1 |
ApprovedFlag | Indicates whether the derivative data has/hasn’t been approved by a validation service. | IsoYesNoIndicator - Optional 0..1 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the DTCCCANODerivativeSD1V03 implementation follows a specific implementaiton pattern. First of all, DTCCCANODerivativeSD1V03 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, DTCCCANODerivativeSD1V03Document implements IOuterDocument. Because DTCCCANODerivativeSD1V03 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type DTCCCANODerivativeSD1V03.
classDiagram class IOuterRecord DTCCCANODerivativeSD1V03 --|> IOuterRecord : Implements DTCCCANODerivativeSD1V03Document --|> IOuterDocument~DTCCCANODerivativeSD1V03~ : Implements class IOuterDocument~DTCCCANODerivativeSD1V03~ { DTCCCANODerivativeSD1V03 Message }
Document wrapper for serialization
The only real purpose DTCCCANODerivativeSD1V03Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:supl.005.001.03’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using DTCCCANODerivativeSD1V03.ToDocument() method. The returned DTCCCANODerivativeSD1V03Document value will serialize correctly according to ISO 20022 standards.
classDiagram DTCCCANODerivativeSD1V03Document *-- DTCCCANODerivativeSD1V03 : Document
Sample of message format
This is an abbreviated version of what the message should look like.
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:supl.005.001.03">
<DTCCCANODerivSD1>
<CorpActnNtfctn>
<!-- CorporateActionNotification inner content -->
</CorpActnNtfctn>
</DTCCCANODerivSD1>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_1OJ85DL3EeKU9IrkkToqcw_396610797"
name="DTCCCANODerivativeSD1V03"
definition="The DTCCCANODerivativeSD1 message extends ISO corporate action notification (CANO) message with DTCC corporate action derivative notice elements not covered in the standard message."
registrationStatus="Registered"
messageSet="_f180QGxSEeKtkPXDQKdgxQ _Bu3cEJVUEeO6Q83g-JIX_w"
xmlTag="DTCCCANODerivSD1"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_1OJ85TL3EeKU9IrkkToqcw_778471175"
name="CorporateActionNotification"
definition="Extension block for the information to be extended as corporate action notification details."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="CorpActnNtfctn"
complexType="_1ZecFTL3EeKU9IrkkToqcw_-1357737772" />
<messageDefinitionIdentifier
businessArea="supl"
messageFunctionality="005"
flavour="001"
version="03" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.