CCPMemberRequirementsReportV01

auth.055.001.01

The CCPMemberRequirementsReport message is sent from the central counterparty to the national competent authority. It is used to inform the national competent authority about the collateral requirements that a central counterparty obligates a clearing member post at the central counterparty.

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
%% CCPMemberRequirementsReportV01 recursion level 0 with max 0
CCPMemberRequirementsReportV01 *-- "1..1" IntraDayRequirement1 : IntraDayRequirementAmount
CCPMemberRequirementsReportV01 *-- "0..1" IntraDayMarginCall1 : IntraDayMarginCall
CCPMemberRequirementsReportV01 *-- "1..1" EndOfDayRequirement2 : EndOfDayRequirement
CCPMemberRequirementsReportV01 *-- "1..1" DefaultFundRequirement1 : DefaultFundRequirement
CCPMemberRequirementsReportV01 *-- "0..1" SupplementaryData1 : SupplementaryData
  

Now, we will zero-in one-by-one on each of these building blocks.

IntraDayRequirementAmount building block

Obligations of a clearing member with respect to a central counterparty that are calculated based on intraday positions. Obligations of a clearing member with respect to a central counterparty that are calculated based on intraday positions. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IntraDayRequirement1 recursion level 0 with max 1
class IntraDayRequirement1{
    IntraDayMarginCall IsoActiveCurrencyAndAmount
    PeakInitialMarginLiability IsoActiveCurrencyAndAmount
    PeakVariationMarginLiability IsoActiveCurrencyAndAmount
    AggregatePeakLiability IsoActiveCurrencyAndAmount
}
IntraDayRequirement1 *-- "1..1" GenericIdentification165 : MarginAccountIdentification
%% GenericIdentification165 recursion level 1 with max 1
class GenericIdentification165{
    Identification IsoMax256Text
    Description IsoMax140Text
    Issuer IsoMax35Text
    SchemeName SchemeIdentificationType1Code
}
  

IntraDayRequirement1 members

Member name Description Data Type / Multiplicity
IntraDayMarginCall Total aggregate value of collateral called intraday, excluding repayments. IsoActiveCurrencyAndAmount - Required 1..1
PeakInitialMarginLiability Peak increase in initial margin liability for the account during the day. IsoActiveCurrencyAndAmount - Required 1..1
PeakVariationMarginLiability Peak loss uncollateralised variation margin liability on the margin account during the day. IsoActiveCurrencyAndAmount - Required 1..1
AggregatePeakLiability Peak intraday liability (sum of increase in initial margin relative to end of day plus sum of decrease in variation margin relative to end of day) for a margin account during the day. Liabilities are shown as positive integers. IsoActiveCurrencyAndAmount - Required 1..1
MarginAccountIdentification Identification of the account used to calculate margin requirements and determine intraday calls. GenericIdentification165 - Required 1..1

IntraDayMarginCall building block

Describes an instance of an intraday margin call being made against a margin account. Describes an instance of an intraday margin call being made against a margin account. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IntraDayMarginCall1 recursion level 0 with max 1
class IntraDayMarginCall1{
    IntraDayCall IsoActiveCurrencyAndAmount
    TimeStamp IsoISODateTime
}
IntraDayMarginCall1 *-- "1..1" GenericIdentification165 : MarginAccountIdentification
%% GenericIdentification165 recursion level 1 with max 1
class GenericIdentification165{
    Identification IsoMax256Text
    Description IsoMax140Text
    Issuer IsoMax35Text
    SchemeName SchemeIdentificationType1Code
}
  

IntraDayMarginCall1 members

Member name Description Data Type / Multiplicity
MarginAccountIdentification Identification of the margin account against which the intraday margin call is being made. GenericIdentification165 - Required 1..1
IntraDayCall Value of the call being made. IsoActiveCurrencyAndAmount - Required 1..1
TimeStamp Time at which the margin call was made. IsoISODateTime - Required 1..1

EndOfDayRequirement building block

Obligations of a clearing member with respect to a central counterparty that are calculated based on end of day positions. Obligations of a clearing member with respect to a central counterparty that are calculated based on end of day positions. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% EndOfDayRequirement2 recursion level 0 with max 1
EndOfDayRequirement2 *-- "1..1" InitialMarginRequirement1 : InitialMarginRequirements
EndOfDayRequirement2 *-- "1..1" AmountAndDirection102 : VariationMarginRequirements
EndOfDayRequirement2 *-- "1..1" GenericIdentification165 : MarginAccountIdentification
%% InitialMarginRequirement1 recursion level 1 with max 1
class InitialMarginRequirement1{
    Credit IsoActiveCurrencyAndAmount
}
InitialMarginRequirement1 *-- "1..0" InitialMarginExposure1 : InitialMarginExposure
%% AmountAndDirection102 recursion level 1 with max 1
class AmountAndDirection102{
    Amount IsoActiveCurrencyAndAmount
    Sign IsoPlusOrMinusIndicator
}
%% GenericIdentification165 recursion level 1 with max 1
class GenericIdentification165{
    Identification IsoMax256Text
    Description IsoMax140Text
    Issuer IsoMax35Text
    SchemeName SchemeIdentificationType1Code
}
  

EndOfDayRequirement2 members

Member name Description Data Type / Multiplicity
InitialMarginRequirements Liability and assets that arise for a clearing member with respect to a central counterparty. InitialMarginRequirement1 - Required 1..1
VariationMarginRequirements Total change in the mark-to-market value of the margin account from the previous day, net of changes in mark-to-market relating to the entry or exit of derivative positions not entered into at zero mark-to-market (such as option premiums and upsettled upfront fees). Indicates whether the variation margin is paid to clearing members. AmountAndDirection102 - Required 1..1
MarginAccountIdentification Identification of account used to calculate margin requirements. Usage: In the context of a central counterparty, if reported at the client level (expected for gross omnibus and individual segregated accounts), will report the Client ID in the Internal ID field and choose ‘ClientID’ for the CCP Participant ID Type. If reported at the clearing member account level will report the account ID in the Internal ID field and choose ‘AccountID’ for the CCP Participant ID Type. GenericIdentification165 - Required 1..1

DefaultFundRequirement building block

Requirement for a clearing member to post collateral at a central counterparty with respect to a default fund. Requirement for a clearing member to post collateral at a central counterparty with respect to a default fund. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% DefaultFundRequirement1 recursion level 0 with max 1
class DefaultFundRequirement1{
    ServiceIdentification IsoMax35Text
    Amount IsoActiveCurrencyAndAmount
}
DefaultFundRequirement1 *-- "1..1" GenericIdentification165 : ClearingMemberIdentification
%% GenericIdentification165 recursion level 1 with max 1
class GenericIdentification165{
    Identification IsoMax256Text
    Description IsoMax140Text
    Issuer IsoMax35Text
    SchemeName SchemeIdentificationType1Code
}
  

DefaultFundRequirement1 members

Member name Description Data Type / Multiplicity
ClearingMemberIdentification Identification of the clearing member. GenericIdentification165 - Required 1..1
ServiceIdentification Central counterparty’s identification of the service where default fund contributions are made at the service level. IsoMax35Text - Optional 0..1
Amount Clearing member’s pre-funded default fund requirement for the default fund at the central counterparty. IsoActiveCurrencyAndAmount - Required 1..1

SupplementaryData building block

Additional information that cannot be captured in the structured elements and/or any other specific block. Additional information that can not be captured in the structured fields and/or any other specific block. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SupplementaryData1 recursion level 0 with max 1
class SupplementaryData1{
    PlaceAndName IsoMax350Text
}
SupplementaryData1 *-- "1..1" IsoSupplementaryDataEnvelope1 : Envelope
%% IsoSupplementaryDataEnvelope1 recursion level 1 with max 1
  

SupplementaryData1 members

Member name Description Data Type / Multiplicity
PlaceAndName Unambiguous reference to the location where the supplementary data must be inserted in the message instance. In the case of XML, this is expressed by a valid XPath. IsoMax350Text - Optional 0..1
Envelope Technical element wrapping the supplementary data. IsoSupplementaryDataEnvelope1 - Required 1..1

Extensibility and generalization considerations

To facilitate generalized design patterns in the system, the CCPMemberRequirementsReportV01 implementation follows a specific implementaiton pattern. First of all, CCPMemberRequirementsReportV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, CCPMemberRequirementsReportV01Document implements IOuterDocument. Because CCPMemberRequirementsReportV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type CCPMemberRequirementsReportV01.

classDiagram
    class IOuterRecord
    CCPMemberRequirementsReportV01 --|> IOuterRecord : Implements
    CCPMemberRequirementsReportV01Document --|> IOuterDocument~CCPMemberRequirementsReportV01~ : Implements
    class IOuterDocument~CCPMemberRequirementsReportV01~ {
        CCPMemberRequirementsReportV01 Message
     }
  

Document wrapper for serialization

The only real purpose CCPMemberRequirementsReportV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:auth.055.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using CCPMemberRequirementsReportV01.ToDocument() method. The returned CCPMemberRequirementsReportV01Document value will serialize correctly according to ISO 20022 standards.

classDiagram
    CCPMemberRequirementsReportV01Document *-- CCPMemberRequirementsReportV01 : 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:auth.055.001.01">
    <CCPMmbRqrmntsRpt>
        <IntraDayRqrmntAmt>
            <!-- IntraDayRequirementAmount inner content -->
        </IntraDayRqrmntAmt>
        <IntraDayMrgnCall>
            <!-- IntraDayMarginCall inner content -->
        </IntraDayMrgnCall>
        <EndOfDayRqrmnt>
            <!-- EndOfDayRequirement inner content -->
        </EndOfDayRqrmnt>
        <DfltFndRqrmnt>
            <!-- DefaultFundRequirement inner content -->
        </DfltFndRqrmnt>
        <SplmtryData>
            <!-- SupplementaryData inner content -->
        </SplmtryData>
    </CCPMmbRqrmntsRpt>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_daMXQeUUEem3X-64-NKdqg"
  name="CCPMemberRequirementsReportV01"
  definition="The CCPMemberRequirementsReport message is sent from the central counterparty to the national competent authority. It is used to inform the national competent authority about the collateral requirements that a central counterparty obligates a clearing member post at the central counterparty."
  registrationStatus="Registered"
  messageSet="_5z1DIOUQEem3X-64-NKdqg"
  xmlTag="CCPMmbRqrmntsRpt"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_daMXSeUUEem3X-64-NKdqg"
    name="IntraDayRequirementAmount"
    definition="Obligations of a clearing member with respect to a central counterparty that are calculated based on intraday positions."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="IntraDayRqrmntAmt"
    complexType="_vFk_wKp1EeamNLogr5TkIQ" />
  <messageBuildingBlock
    xmi:id="_daMXS-UUEem3X-64-NKdqg"
    name="IntraDayMarginCall"
    definition="Describes an instance of an intraday margin call being made against a margin account."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="IntraDayMrgnCall"
    complexType="_dC8lAEG6EemxGPEh9hU2Xg" />
  <messageBuildingBlock
    xmi:id="_daMXTeUUEem3X-64-NKdqg"
    name="EndOfDayRequirement"
    definition="Obligations of a clearing member with respect to a central counterparty that are calculated based on end of day positions."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="EndOfDayRqrmnt"
    complexType="_RUSFwKprEeamNLogr5TkIQ" />
  <messageBuildingBlock
    xmi:id="_daMXT-UUEem3X-64-NKdqg"
    name="DefaultFundRequirement"
    definition="Requirement for a clearing member to post collateral at a central counterparty with respect to a default fund."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="DfltFndRqrmnt"
    complexType="_UvqKAKp3EeamNLogr5TkIQ" />
  <messageBuildingBlock
    xmi:id="_daMXUeUUEem3X-64-NKdqg"
    name="SupplementaryData"
    definition="Additional information that cannot be captured in the structured elements and/or any other specific block."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="SplmtryData"
    complexType="_Qn0zC9p-Ed-ak6NoX_4Aeg_468227563" />
  <messageDefinitionIdentifier
    businessArea="auth"
    messageFunctionality="055"
    flavour="001"
    version="01" />
</messageDefinition>

ISO Building Blocks

The following items are used as building blocks to construct this message.