{
  "tool_id": "art-355-erba-standardized-rwa-calculator",
  "note": "ERBA/standardized RWA per BASEL-TAKE2-BUILD-SPEC.md BT-1. Vector 1: 2026 mixed-book worked example. Vector 2: SAME book under rule_set=2023 (feeds BT-3 versus-2023 comparator). Vector 3: empty exposures, finite zero-book edge case.",
  "vectors": [
    {
      "name": "mixed_book_2026_reproposal",
      "description": "Residential RE (75% LTV), QRRE transactor, ECRA-rated corporate (BBB), SME corporate (BB, support factor applied), off-balance UCC commitment -- all under the 2026 reproposal rule_set.",
      "policy_parameters": {
        "rule_set": "2026",
        "exposures": [
          {
            "id": "e1",
            "category": "residential_re",
            "exposure_amount": 200000,
            "ltv": 75
          },
          {
            "id": "e2",
            "category": "retail_qrre_transactor",
            "exposure_amount": 5000
          },
          {
            "id": "e3",
            "category": "corporate",
            "exposure_amount": 1000000,
            "external_rating": "BBB"
          },
          {
            "id": "e4",
            "category": "corporate",
            "exposure_amount": 500000,
            "sme": true,
            "external_rating": "BB"
          },
          {
            "id": "e5",
            "category": "off_balance",
            "exposure_amount": 300000,
            "commitment_type": "unconditionally_cancellable"
          }
        ]
      },
      "output_payload": {
        "rule_set": "2026",
        "rule_status": "proposed",
        "rule_set_label": "Basel III Endgame -- 2026 reproposal (BCBS/US NPR, comments closed 2026-06-18)",
        "per_exposure": [
          {
            "id": "e1",
            "category": "residential_re",
            "exposure_amount": 200000,
            "credit_equivalent_amount": 200000,
            "risk_weight": 30,
            "sme_support_factor": 1,
            "effective_risk_weight": 30,
            "basis": "residential_re_ltv_band",
            "rwa": 60000
          },
          {
            "id": "e2",
            "category": "retail_qrre_transactor",
            "exposure_amount": 5000,
            "credit_equivalent_amount": 5000,
            "risk_weight": 45,
            "sme_support_factor": 1,
            "effective_risk_weight": 45,
            "basis": "qrre_transactor",
            "rwa": 2250
          },
          {
            "id": "e3",
            "category": "corporate",
            "exposure_amount": 1000000,
            "credit_equivalent_amount": 1000000,
            "risk_weight": 75,
            "sme_support_factor": 1,
            "effective_risk_weight": 75,
            "basis": "ecra_external_rating",
            "rwa": 750000
          },
          {
            "id": "e4",
            "category": "corporate",
            "exposure_amount": 500000,
            "credit_equivalent_amount": 500000,
            "risk_weight": 100,
            "sme_support_factor": 0.85,
            "effective_risk_weight": 85,
            "basis": "ecra_external_rating",
            "rwa": 425000
          },
          {
            "id": "e5",
            "category": "off_balance",
            "exposure_amount": 300000,
            "credit_equivalent_amount": 30000,
            "risk_weight": 100,
            "sme_support_factor": 1,
            "effective_risk_weight": 100,
            "basis": "off_balance_ccf_unconditionally_cancellable_then_scra_unrated",
            "rwa": 30000
          }
        ],
        "total_exposure_amount": 2005000,
        "aggregate_rwa": 1267250,
        "average_risk_weight": 63.204488778054866,
        "exposure_count": 5,
        "constants_version": "BASEL-TAKE2-ERBA-2026-07-17-V1",
        "table_source": "Illustrative approximation of BCBS/US Basel III Endgame reproposal (2026-03-19) standardized/ERBA risk-weight bucket structure, contrasted against the original 2023 US NPR. NOT a verbatim regulatory-text transcription -- verify against the final published rule (~Q4 2026).",
        "disambiguation": "compute_rwa_erba_2026 computes per-exposure standardized/ERBA risk weights and aggregate RWA under a chosen Basel Endgame rule_set (2023 original NPR or 2026 reproposal). It does NOT run scenario replay (see sim-03-basel-rwa-scenario-modeler) and does NOT compare rule sets in one call (see compare_basel_2023_vs_2026, BT-3) -- run twice with different rule_set values for a delta."
      },
      "golden_hash": "a0f13feff62e6e60f71ad06df9087fa1e5eb4f3a220cab7a4c7bf5f69f9bd696"
    },
    {
      "name": "same_book_2023_original_npr_versus_2023",
      "description": "IDENTICAL exposure book as vector 1, rule_set=2023 (original stricter NPR) -- higher RWA than the 2026 vector, demonstrating the reproposal's net-relief direction. Feeds BT-3 compare_basel_2023_vs_2026.",
      "policy_parameters": {
        "rule_set": "2023",
        "exposures": [
          {
            "id": "e1",
            "category": "residential_re",
            "exposure_amount": 200000,
            "ltv": 75
          },
          {
            "id": "e2",
            "category": "retail_qrre_transactor",
            "exposure_amount": 5000
          },
          {
            "id": "e3",
            "category": "corporate",
            "exposure_amount": 1000000,
            "external_rating": "BBB"
          },
          {
            "id": "e4",
            "category": "corporate",
            "exposure_amount": 500000,
            "sme": true,
            "external_rating": "BB"
          },
          {
            "id": "e5",
            "category": "off_balance",
            "exposure_amount": 300000,
            "commitment_type": "unconditionally_cancellable"
          }
        ]
      },
      "output_payload": {
        "rule_set": "2023",
        "rule_status": "proposed",
        "rule_set_label": "Basel III Endgame -- original 2023 US NPR",
        "per_exposure": [
          {
            "id": "e1",
            "category": "residential_re",
            "exposure_amount": 200000,
            "credit_equivalent_amount": 200000,
            "risk_weight": 45,
            "sme_support_factor": 1,
            "effective_risk_weight": 45,
            "basis": "residential_re_ltv_band",
            "rwa": 90000
          },
          {
            "id": "e2",
            "category": "retail_qrre_transactor",
            "exposure_amount": 5000,
            "credit_equivalent_amount": 5000,
            "risk_weight": 75,
            "sme_support_factor": 1,
            "effective_risk_weight": 75,
            "basis": "qrre_transactor",
            "rwa": 3750
          },
          {
            "id": "e3",
            "category": "corporate",
            "exposure_amount": 1000000,
            "credit_equivalent_amount": 1000000,
            "risk_weight": 100,
            "sme_support_factor": 1,
            "effective_risk_weight": 100,
            "basis": "scra_unrated",
            "rwa": 1000000
          },
          {
            "id": "e4",
            "category": "corporate",
            "exposure_amount": 500000,
            "credit_equivalent_amount": 500000,
            "risk_weight": 100,
            "sme_support_factor": 1,
            "effective_risk_weight": 100,
            "basis": "scra_unrated",
            "rwa": 500000
          },
          {
            "id": "e5",
            "category": "off_balance",
            "exposure_amount": 300000,
            "credit_equivalent_amount": 0,
            "risk_weight": 100,
            "sme_support_factor": 1,
            "effective_risk_weight": 100,
            "basis": "off_balance_ccf_unconditionally_cancellable_then_scra_unrated",
            "rwa": 0
          }
        ],
        "total_exposure_amount": 2005000,
        "aggregate_rwa": 1593750,
        "average_risk_weight": 79.48877805486283,
        "exposure_count": 5,
        "constants_version": "BASEL-TAKE2-ERBA-2026-07-17-V1",
        "table_source": "Illustrative approximation of BCBS/US Basel III Endgame reproposal (2026-03-19) standardized/ERBA risk-weight bucket structure, contrasted against the original 2023 US NPR. NOT a verbatim regulatory-text transcription -- verify against the final published rule (~Q4 2026).",
        "disambiguation": "compute_rwa_erba_2026 computes per-exposure standardized/ERBA risk weights and aggregate RWA under a chosen Basel Endgame rule_set (2023 original NPR or 2026 reproposal). It does NOT run scenario replay (see sim-03-basel-rwa-scenario-modeler) and does NOT compare rule sets in one call (see compare_basel_2023_vs_2026, BT-3) -- run twice with different rule_set values for a delta."
      },
      "golden_hash": "42627d02276d619e534c4ae45db055a60d359204cef4c86fb4dff95527395156"
    },
    {
      "name": "empty_book_finite_zero",
      "description": "No exposures -- deterministic finite zero output (no NaN/Infinity from an empty-array division).",
      "policy_parameters": {
        "rule_set": "2026",
        "exposures": []
      },
      "output_payload": {
        "rule_set": "2026",
        "rule_status": "proposed",
        "rule_set_label": "Basel III Endgame -- 2026 reproposal (BCBS/US NPR, comments closed 2026-06-18)",
        "per_exposure": [],
        "total_exposure_amount": 0,
        "aggregate_rwa": 0,
        "average_risk_weight": 0,
        "exposure_count": 0,
        "constants_version": "BASEL-TAKE2-ERBA-2026-07-17-V1",
        "table_source": "Illustrative approximation of BCBS/US Basel III Endgame reproposal (2026-03-19) standardized/ERBA risk-weight bucket structure, contrasted against the original 2023 US NPR. NOT a verbatim regulatory-text transcription -- verify against the final published rule (~Q4 2026).",
        "disambiguation": "compute_rwa_erba_2026 computes per-exposure standardized/ERBA risk weights and aggregate RWA under a chosen Basel Endgame rule_set (2023 original NPR or 2026 reproposal). It does NOT run scenario replay (see sim-03-basel-rwa-scenario-modeler) and does NOT compare rule sets in one call (see compare_basel_2023_vs_2026, BT-3) -- run twice with different rule_set values for a delta."
      },
      "golden_hash": "98eadd993ad0c92b9e6ff9e79f708bb744ac77f8590b4de79ffd54af1f8aef8a"
    }
  ]
}
