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.