DTCCCANODerivativeSD1V03

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.