Repository navigation
Regulatory Sources
๐ Guide, not policy. The source register and docs/methodology/sources/README.md govern; where this page differs, the repository wins.
K-SACCR cites its rules from a fixed set of regulatory texts, each in a recorded version, and keeps a copy of each checked version in the repository, with its SHA-256 hash. This page lists those texts, what each is relied on for, when it was checked, and what has deliberately not been checked.
Release baseline: v1.0.2; source-register update: 2026-10-22.
The tagged release contains nine stored source files: the six of v1.0.1,
the CRR-CCP extract and the BCBS 279 PDF (both added on 2026-10-18), and the
CRE50 chapter (added on 2026-10-22). Release 1.0.2 relies on CRR-CCP,
CRE50 and CRE54 for the trade exposures to a CCP (role CCP).
A source register records what the methodology was checked against. It is not a legal opinion, and citing a text does not validate the numbers the engine produces from it; that is the job of the test cases.
- CRR and delegated regulations: binding EU legislation. The authentic acts are those published in the Official Journal; consolidated EUR-Lex texts are reference tools with no legal effect of their own.
- Basel Framework and BCBS publications: international prudential standards and supporting material, implemented through the relevant jurisdiction's rules; they do not override the EU CRR.
- EBA Single Rulebook Q&As: non-binding interpretations that support consistent application; they do not amend or replace the legislation.
The register below covers the sources formally recorded for the implementation and its documented methodology/clearing analysis. It is not an exhaustive bibliography of every SA-CCR-related rule or Q&A. Contextual references used elsewhere in the wiki are identified separately below.
Code, the traceability table and the test cases cite sources by these IDs. Reference values may only be taken from a source in this register; a new source gets a row before it is cited, and a later version of a text is a new row, not an edit.
| ID | Source | Relied on for | Version / date | Checked |
|---|---|---|---|---|
CRR |
Regulation (EU) No 575/2013, Part Three, Title II, Chapter 6, Section 3 (Articles 274โ280f), as amended by Regulation (EU) 2019/876 and Regulation (EU) 2024/1623 (official text) | SA-CCR exposure value, replacement cost, PFE, add-ons | Consolidated text of 26.06.2026 (version 021.001), EUR-Lex | Articles 274(2)โ(7), 275, 277, 277a, 278(3), 279aโ279c, 280โ280f and 285(2)โ(5) on 2026-10-09; Article 278(1)โ(2) on 2026-10-10 in the EUR-Lex PDF |
CRR-RTS |
Commission Delegated Regulation (EU) 2021/931, as amended by Delegated Regulation (EU) 2025/855 (official text) | Supervisory delta and lambda shift of interest-rate and commodity options | Consolidated text of 25.05.2025 (version 001.001), EUR-Lex | Article 5 on 2026-10-09. Articles 1โ4 and 6 not checked (see below) |
EBA-QA-2023_6962 |
EBA Single Rulebook Q&A 2023_6962 (official text) | Collateral C in the cap on the exposure value of a margined netting set (CRR Art. 274(3)): NICA | Final, published 15/03/2024 | Answer checked 2026-10-10 |
BCBS |
Basel Framework, chapter CRE52, Standardised approach to counterparty credit risk (official text) | Basel SA-CCR | Effective 1 January 2023, last updated 5 June 2020 | Paragraph locators and the CRE52.72 table on 2026-10-09 |
CRE50 |
Basel Framework, chapter CRE50, Counterparty credit risk definitions and terminology (official text) | Definition of a qualifying CCP (CRE50.3), which a BCBS netting set with role CCP declares in NettingSets column R; the status is the user's attestation, and K-SACCR states the risk-weight rule it sets without applying it |
Effective 15 December 2019, updated for the FAQ published 5 July 2024 | CRE50.2 to CRE50.4 on 2026-10-22 |
CRE54 |
Basel Framework, chapter CRE54, Capital requirements for bank exposures to central counterparties (official text) | Client-clearing MPOR and the wider clearing-coverage analysis. The workbook uses at least 5 days for a clearing member facing its client and a conservative 10-day floor for a BCBS client; see the interpretation below. Trade exposures to a CCP (role CCP): the 10-day floor (CRE54.8(2)), the horizon where the CCP retains VM and the collateral is not protected (CRE54.8(3)), and the risk-weight rules stated on Checks, 2% for a QCCP (CRE54.7) and the standardised weight for a non-qualifying CCP (CRE54.41) |
Effective 1 January 2023, published 27 March 2020 | CRE54.8, CRE54.12 and CRE54.14 on 2026-10-16; CRE54.15โ.17 on 2026-10-18; CRE54.1โ.42 read for clearing coverage on 2026-10-18; CRE54.7, .8 and .41 checked again on 2026-10-22 |
CRR-CCP |
Regulation (EU) No 575/2013, Article 4(1)(88)โ(91) and Part Three, Title II, Chapter 6, Section 9 (Articles 300โ311), as amended by Regulation (EU) 2019/876 (official text) | Exposures to central counterparties: the clearing coverage and, for role CCP, the MPOR floor and horizon of trade exposures (Art. 304(3)(b), (d)), the QCCP status of column R (Art. 4(1)(88)) and the risk-weight rule stated on Checks (Art. 306(1)); default-fund contributions are not calculated |
Consolidated text of 26.06.2026 (version 021.001) | Articles 4(1)(88)โ(91) and 300โ311 on 2026-10-18 |
BCBS-279 |
BCBS, The standardised approach for measuring counterparty credit risk exposures (2014) (official text) | Background; Annex 4a worked examples (printed pages 22โ30) | March 2014, revised April 2014 | Example 4 on 2026-10-09; stored copy registered 2026-10-18 |
CRE99 |
Basel Framework, chapter CRE99, Application guidance: the SA-CCR worked examples (official text) | Published values of the cre99-example-* cases, in USD thousands; intermediate results unrounded, displayed results and final EAD rounded (CRE99.20); 250 business days a year (CRE99.28) |
Effective 1 January 2023, published 27 March 2020 | The values used by Examples 1โ5 on 2026-10-09 |
CRE54 was registered on 2026-10-16 for the client-clearing MPOR review.
On 2026-10-18, CRR-CCP was added for the clearing-coverage analysis and a
stored copy of the already registered BCBS-279 source was added. CRE50
was added on 2026-10-22, with a stored copy, for the QCCP status of role CCP.
An independent expected value can come only from an external implementation
registered as a source with an ID starting IMPL-; none is registered. A source's
registration date, a copy's retrieval date and a rule's checking date describe
different events.
What each source is used for, in practice
| ID | Typical citation | Example |
|---|---|---|
CRR |
CRR.<article>[.<paragraph>] |
CRR.275.1 for the unmargined RC; CRR.280a for the interest-rate add-on |
CRR-RTS |
CRR-RTS.<article> |
CRR-RTS.5 for the lambda shift (T20, T23) |
BCBS |
CRE52.<paragraph> |
CRE52.18 for the margined RC; CRE52.57 for the interest-rate add-on |
CRE50 |
CRE50.<paragraph> |
CRE50.3 for the definition of a QCCP behind NettingSets column R |
CRE54 |
CRE54.<paragraph> |
CRE54.12 for the clearing member's 5-day MPOR floor; CRE54.8 for the 10-day floor and retained-VM horizon of a CCP netting set |
CRR-CCP |
Rule IDs such as CRR.304.3
|
Art. 304(3)(b) and (d) for the MPOR floor and retained-VM horizon of a CCP netting set (illustrative-ccp-*) |
CRE99 |
Example and paragraph | Example 5, CRE99.83 for the MPOR of 14 days (T11) |
EBA-QA-2023_6962 |
The Q&A ID | The cap on exposure value, using NICA in the unmargined calculation, in illustrative-posted-vm-cap.crr (T17, T18) |
BCBS-279 |
Annex 4a page | Example 4, page 29, alongside CRE99.77โ.79 (T08โT10) |
The consolidated reference text of the CRR. It is a documentation tool with no
legal effect, as its first page states: the authentic legal acts are those
published in the Official Journal. K-SACCR's CRR regime follows it; where a
rule is the same as Basel, the code carries both identifiers. K-SACCR
implements SA-CCR under Articles 274โ280f for the instruments and netting-set
structures in its documented support matrix, and relies on the definitions
(Article 272) and the margin period of risk (Article 285(2)โ(5)). Article 273a
(conditions for the simplified methods), Article 281 (simplified SA-CCR) and
Article 282 (original exposure method) are in the extract as context only;
K-SACCR does not implement them. The copy in the repository is an
extract of the official consolidated PDF: page 1, pages 379โ417 (Articles
271โ282 and the start of 283) and pages 421โ423 (Article 285 and the start of
286), cut without changing the pages.
This entry uses the same consolidated CRR version as CRR, with a separate
extract: page 1, page 22 (including Article 4(1)(88)โ(91)) and pages 441โ449
(Articles 300โ311). It was added on 2026-10-18 for
CLEARING_COVERAGE.md.
The coverage analysis distinguishes clearing members, clients, CCP-facing
netting sets and multi-level arrangements; QCCP status; trade exposures;
collateral protection; retained variation margin; and default-fund
contributions. From 1.0.2 a clearing member's trade exposures to a CCP are
calculated with its rules (role CCP): the 10-day MPOR floor (Art. 304(3)(b)),
the per-trade horizon where the CCP retains VM (Art. 304(3)(d)) and the QCCP
status of Art. 4(1)(88). Risk weights (Art. 306(1)) are stated on Checks, not
applied, and default-fund capital (Art. 307โ310) and the cap of Art. 303(2)
are not calculated (#400).
The Commission delegated regulation adopting regulatory technical standards under the CRR, based on EBA draft standards. As amended by Delegated Regulation (EU) 2025/855, its Article 5 gives the supervisory delta of interest-rate and commodity options with a lambda shift, so that negative rates and prices can be handled: ฮป = max(0.10% โ min(P, K), 0) for interest rate and ฮป = max(โ(1 + 0.1) ร min(P, K), 0) for commodity, with option volatilities of 50% (interest rate), 70% (commodities other than electricity) and 150% (electricity). P is the underlying spot or forward price, K the strike; rates are expressed consistently as decimals. See Potential Future Exposure.
A final EBA answer on CRR Article 274(3): when the exposure of a margined netting set is capped at that of the same netting set without a margin agreement, the replacement cost of the cap follows Article 275(1), and NICA in that formula "does not include the variation margin posted or received". The repository holds a Markdown transcription of the question, background and final answer, with altered layout, EBA_QA_2023_6962.md. The final answer is the EBA interpretation; the submitter's question and background are not EBA conclusions. An EBA Q&A is non-binding and does not replace the CRR. The earlier EBA question 2022_6354, rejected in 2022 without an answer, is not a source: the prototype's posted-VM scenario came from it, and its expected values are only illustrative. See Replacement Cost and Collateral.
The Basel standard for SA-CCR, with its FAQs. The BCBS regime follows it.
Paragraph numbers were checked for EAD and alpha (.1), the cap (.2), RC (.10,
.18), PFE (.20), the multiplier (.22โ.23), the aggregate add-on (.25),
supervisory duration (.34), adjusted notional (.35, .36), delta (.39, .40,
.41), basis and volatility (.46, .47, .73), maturity factor (.48โ.49, .52โ.53),
MPOR (.50, .51), interest rate (.56, .57), FX (.58, .59), credit (.60, .61,
.64), equity (.65, .66, .68), commodity (.69, .70) and the parameters (.72).
The Basel chapter of counterparty credit risk definitions. Registered on
2026-10-22, with a stored copy, for the definition of a qualifying CCP
(CRE50.3): a CCP licensed and supervised in a jurisdiction that applies rules
consistent with the PFMI. A BCBS netting set with role CCP declares it in
NettingSets column R, so a CCP outside the EU can be Y for a BCBS netting
set; under CRR the status follows Art. 4(1)(88). The status is the user's
attestation and changes the risk weight, not the exposure value.
The Basel chapter on exposures to central counterparties. The engine uses it for client-clearing MPOR floors and, from 1.0.2, for trade exposures to a CCP: the 10-day floor (CRE54.8(2)), the horizon where the CCP retains VM (CRE54.8(3)) and the risk-weight rules stated on Checks (CRE54.7, CRE54.41). The methodology also relies on its wider provisions for the clearing-coverage inventory: the register records CRE54.1โ.42 as read on 2026-10-18. This additional analysis is not an implementation of all those rules.
CRE54.12 permits a clearing member to use an MPOR of at least five days for its exposure to its client. For a bank as client, CRE54.14 extends the CCP treatment to qualifying client exposures subject to CRE54.15. Its two conditions concern:
- Protection of client transactions and collateral against losses from the clearing member's default, its other clients' default and their joint default, including the required legal review and enforceability of the arrangements.
- Continuity/portability: the arrangements make it highly likely that the offsetting transactions continue through the CCP following the clearing member's default, with client positions and collateral transferred as prescribed. A mere absence of a contractual prohibition on porting is insufficient.
CRE54.16 provides a 4% risk weight where only joint-default protection is missing and the other conditions are met. CRE54.17 requires bilateral capitalisation where the qualifying client treatment is unavailable. The 10-day minimum in CRE54.8(2) is stated for OTC trade exposures to CCPs.
K-SACCR's BCBS client floor is a conservative interpretation. CRE54.2 requires both parties to capitalise the clearing-memberโclient leg of an exchange-traded derivative under a bilateral agreement as an OTC derivative; its footnote also refers to CRE54.12. The latter expressly grants five days to the clearing member, while CRE54.14โ.17 address the client's treatment. K-SACCR retains ten days for the client and five for the clearing member; it does not present the ten-day choice as an unqualified rule for every cleared product. The rationale and accepted decisions are in the clearing coverage.
K-SACCR does not determine whether the client eligibility conditions are met or calculate the associated risk weights. The user must establish the arrangement. See Margining and MPOR, #358 and #359.
CRE99 prints the five SA-CCR worked examples first published in Annex 4a of
BCBS 279 (2014). Their printed figures are the only published reference
values of v1.0.2 (T01โT14). Every published value is cited from CRE99. BCBS 279
is registered for background and for Example 4; its 37-page PDF (March 2014,
revised April 2014), from the
BIS publication page, is kept with the
other copies. It was added from a local copy; the source README records that
a fresh BIS download for byte comparison was unavailable when it was added.
See Worked Examples.
The repository keeps a copy of every checked version in docs/methodology/sources/, so a citation can be checked without searching for the right version. These are documentation copies: the authentic EU texts are those in the Official Journal of the European Union, and the authoritative Basel text is the one on bis.org. The copies are not covered by the repository's licence; each stays under its publisher's terms. The BIS terms and conditions allow BIS material to be downloaded and redistributed for non-commercial purposes.
| File | Source ID | Version | Retrieved | SHA-256 |
|---|---|---|---|---|
CRR_575-2013_consolidated_2026-06-26_extract.pdf |
CRR |
26.06.2026, version 021.001 | 2026-10-10 | 11471b9b93be3e2c7b485bfac84d220dfdb65fdc0f8ebb363446c5bc91dae78d |
CRR-RTS_2021-931_consolidated_2025-05-25.pdf |
CRR-RTS |
25.05.2025, version 001.001 | 2026-10-10 | f6a06f62b15f2bc261535cc6b269130955a2d0564b93b78e50eb81e674462f99 |
BCBS_CRE52_effective_2023-01-01.pdf |
BCBS |
Effective 1 January 2023, last updated 5 June 2020 | 2026-10-10 | 6ce15b86f1c67692e16806ae76df6bd97c8f19820a72c7ceb7ddac78b509c111 |
BCBS_CRE99_effective_2023-01-01.pdf |
CRE99 |
Effective 1 January 2023, published 27 March 2020 | 2026-10-10 | f0d86acfe451699d7c3d783822e2372b180798b3e4fdd7b4018524ba8a937855 |
BCBS_CRE54_effective_2023-01-01.pdf |
CRE54 |
Effective 1 January 2023, published 27 March 2020 | 2026-10-16 | 44d8c361e8d5d827d8ebcde630024f3b6ed0de6efdda09cb5f43e010e85895d4 |
CRR_575-2013_consolidated_2026-06-26_extract_CCP.pdf |
CRR-CCP |
26.06.2026, version 021.001 | 2026-10-18 | 73acdbba784b73e9a6c47f48008523340a5818124f3b7b6f1416de784191e047 |
BCBS_CRE50_effective_2019-12-15.pdf |
CRE50 |
Effective 15 December 2019, updated for the FAQ published 5 July 2024 | 2026-10-22 | f3fb4b51b278c98dff1840bfbd1cc4f8dd5ea678aa0bdd51ef584152acbd342a |
BCBS_279_revised_2014-04.pdf |
BCBS-279 |
March 2014, revised April 2014 | 2026-10-18 | 5f17fea239b28bc4cf152b11d3c44284b8f2dcc5e6c034a9e2f38dad1ede0b0f |
EBA_QA_2023_6962.md |
EBA-QA-2023_6962 |
Final, published 15/03/2024 | 2026-10-10 | 9eea2133a5ae404a80ef8c234b764d5c64db94b22059c0810fa618babfc37abb |
Both CRR extracts were cut from the full consolidated PDF, whose own SHA-256 is
6796302ed4213bcba4d4b9b17dc48aefcaf7ef586b875c30c8c71a7689288ecf (895 pages).
The addresses each file was retrieved from are in the
sources README.
Run this from the repository root (it works on Windows too) and compare the output with the table:
python -c "import glob,hashlib;[print(hashlib.sha256(open(f,'rb').read()).hexdigest(),f) for f in sorted(glob.glob('docs/methodology/sources/*')) if not f.endswith('README.md')]"Verification on 2026-10-18: the eight source files then in the main
collection were retrieved and their SHA-256 hashes recomputed; all eight
matched the table above. The six source files in the v1.0.1 tag have the
same Git blob identities as their corresponding files in that collection; the
two additional stored files were the CCP extract and BCBS 279 PDF. The CRE50
copy, the ninth file, was added with its hash on 2026-10-22 and is in the
v1.0.2 tag.
A matching hash verifies that the stored bytes match the registered copy; it does not by itself establish regulatory interpretation, numerical correctness or that a newer official version has not been published.
-
Never edit or reformat a copy, including
EBA_QA_2023_6962.md: a changed byte breaks its registered hash. - Never replace a file. A newer version is added next to the old one, with its own row in the table and in the register.
- A fresh Basel chapter PDF may have a different hash. Generated PDFs can contain download-time metadata. The registered hash identifies the archived file; compare the chapter version and substantive text when checking a fresh official download.
Every expected value in tests/expected/ carries exactly one reference class
(TEST_CASES.md).
Only the first two qualify as numerical-validation references under the
project's policy. Regression, boundary and rejection tests are evidence too,
that the software behaves as specified, but not that a figure is correct.
| Class | Meaning | In v1.0.2 |
|---|---|---|
| published | Printed in a registered source, with an exact locator, compared within half a unit of the last printed digit | The 14 CRE99 values T01โT14, all Basel |
| independent | Computed by an external implementation by another author, registered as a source with an ID starting IMPL-, from the same inputs; a published value never cites one |
None: no external implementation is registered. Planned with a second source in #100 |
| illustrative | Shows a format or a behaviour; not a validated SA-CCR figure | Every other value: T15โT28 and the uncatalogued cases, including every CRR value and the clearing, CCP and settled-to-market values of 1.0.2 |
An illustrative value can come from a hand calculation, from a Python
implementation that is not in the repository, from a separate derivation in
tests/derivations/
that shares no code with the engine (the clearing, CCP and settled-to-market
cases), or from the engine's own contract (such as a status). From 1.0.2 no
independent review is required: a value derived within the project stays
illustrative, and only an external implementation registered as a source can
make it independent (#410). A source check, such as the 18% factor
for climatic conditions checked against CRR Art. 280e(5), is not a numerical
validation either.
Checking the law and validating numbers are different things. The CRR
provisions K-SACCR applies have been checked against the registered sources;
CRR-specific numerical validation remains incomplete under the project's
evidence policy, because no published or independent CRR value exists yet.
The published CRE99 tests substantiate the Basel cases and the calculation
paths they exercise; they do not establish a comprehensive validation of the
Basel framework either.
| Item | Status | Consequence |
|---|---|---|
CRR-RTS Articles 1โ4 (primary risk driver and risk-category mapping) and 6 (long or short position) |
Not checked | The engine does not apply them: the user maps each leg of a transaction to its risk category and direction (#38) |
| Collateral eligibility and haircuts (CRR Art. 276 and the CRR collateral rules, such as Art. 223; the Basel credit risk mitigation framework) | Cited, not checked: the Basel_vs_CRR sheet marks this row CITED
|
Collateral is an input after haircuts; eligibility is the user's |
| CRE52 provisions beyond the original locator list | Check the traceability table and clearing coverage for their individual status | The clearing analysis also cites settlement/reset provisions, including CRE52.31โ.32 and .37(5). A rule ID CRE52 without a paragraph indicates an unresolved locator, not that all other paragraphs are unchecked |
| BCBS 279 | Registered and copied; only Example 4 is checked | Every published value is cited from CRE99 |
| Fresh bis.org chapter-PDF downloads | May differ byte for byte because of generated metadata | Compare versions and substantive text; use the registered hash to verify the archived file |
The following references explain the wider framework. They are not additional implemented methods, and are not new source IDs in the formal register. The full official CRR consolidated text contains provisions outside the stored SA-CCR and CCP extracts.
| Context | Reference | Boundary |
|---|---|---|
| Eligibility for simplified methods | CRR Art. 273aโ273b; methods in Art. 281โ282 | Context only; simplified SA-CCR and OEM are not implemented in v1.0.2 |
| Legal recognition of netting | CRR Art. 295โ298; Basel CRE52.7โ.8 and definitions in CRE50 | The user establishes legal recognition. The stored CRR extracts do not cover Art. 295โ298; CRE50 is registered from 1.0.2, but only CRE50.2โ.4 (the QCCP definition) were checked |
| Collateral recognition | CRR Art. 276 and applicable credit risk mitigation provisions; Basel credit risk mitigation framework, including CRE22 | Eligibility and haircut derivation are not implemented; the workbook takes collateral after haircuts. CRE22 is not yet a registered archived source |
| Leverage-ratio derivative exposure | CRR Art. 429c | A separate calculation context, not implemented; the article is outside the stored extracts |
| Output-floor transition | CRR Art. 92 and 465(4) | Context only, not implemented; these articles are outside the stored extracts |
References discussed in the overview are not evidence that the corresponding calculation is supported. A future implementation must record its source, exact version, relied-on provisions and checking status in the repository's register before using it. This page records a fixed reference collection; maintaining it also requires checking for amendments, updated Q&As and changes to the Basel FAQs rather than relying on a retrieval date alone.
- SA-CCR Overview ยท Regulatory Basis ยท Basel vs CRR
- Worked Examples ยท Validation Approach ยท Test Catalogue
- Repository: clearing coverage ยท source register ยท sources README ยท traceability
๐ฆ K-SACCR ยท โ๏ธ EU CRR ยท Basel CRE52 ยท ๐งช Published CRE99 checks T01โT14; CRR implemented, not numerically validated ยท ๐ฆ Release 1.0.2 published 2026-10-23 ยท ๐งฎ No real portfolio data ยท โก 500,000 synthetic trade legs in under two minutes ยท Repository ยท Validation Approach ยท Open Items
๐ฆ K-SACCR
โ๏ธ Regulation
- ๐ SA-CCR Overview
- ๐ Regulatory Sources
- ๐งญ Regulatory Basis
- ๐ก๏ธ Replacement Cost and Collateral
- โฑ๏ธ Margining and MPOR
- ๐ Potential Future Exposure
- โ๏ธ Basel vs CRR
- ๐งฎ Worked Examples
๐งฎ Workbook
- ๐ Getting Started
- ๐บ๏ธ Workbook Guide
- ๐ฅ Inputs
- ๐ค Outputs and Statuses
- ๐ Reconciliation and Evidence
- โ๏ธ How It Works
- ๐งพ Worksheet Functions
- ๐งช Test Catalogue
- โ Validation Approach
- ๐ ๏ธ Troubleshooting
- ๐ง Open Items and Limitations
๐ Guide, not policy: the repository documents govern.