{
  "tool_id": "art-443-irrbb-basis-risk-nii-shock-calculator",
  "tool_version": "1.0.0",
  "display_name": "IRRBB Basis-Risk NII Shock Calculator",
  "mcp_name": "calculate_basis_risk_nii_shock",
  "mandate_type": "analytics_mandate",
  "wave": 73,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-443-irrbb-basis-risk-nii-shock-calculator.html",
  "description": "Comptroller's Handbook IRR basis-risk delta-NII calculator: sweeps a single reference-rate shock across multiple priced indices (Prime, SOFR, Fed Funds, CD portfolio, etc.), each with a caller-declared historical beta vs the reference rate, and isolates the incremental delta-NII from indices not moving in lockstep. Distinct from art-369 (Rate Shock Ladder Replay), whose parallel-curve convention assumes one shock moves the entire gap schedule uniformly and cannot see basis risk. Complements art-369 and art-442 as the third leg of a full NII/EVE-shock toolkit. NaN-safe. Zero network, zero PII.",
  "input_schema_ref": "chaingraph/art-443-irrbb-basis-risk-nii-shock-calculator.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:6a53b2b9e42a854d9801a6759fcc8e62fbd7ee5f0585ea83b9c43165bf2d9bcc",
      "valid_from": "2026-07-10"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-07-23"
    }
  ],
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "CiP82+xLKQZXRRU84ZJ1OrGN5ABOnuE7DB0lGNK8dhMiQS+bglGG4KoGvRew9yvm3+QeJiK/gm1yGP0F6RP4dgKQBIg8t/Ip4ToVCe7l6XZS7ikDQeYxDrlVERxbesukG4n2xbeW5hC/RqiUDlic7NIaIQA0qJM8fsr6N2UoHBYqfdQTH/xrSDcd6Kk6wF1geCTKdmjKt3W3lve0dOQscxZhhICcc84WWbgiQEnJjz/IyGBTQk/DPKJzE1x5x1FhJJIinMLf51g/PPek/Tqn4eP9x+KG2LFpnvgf3Cb6hPYQ21Sk2wCSoj087AteSiwZsBl97m6yGpwjCM+3mG708Q==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:6a53b2b9e42a854d9801a6759fcc8e62fbd7ee5f0585ea83b9c43165bf2d9bcc",
      "output": {
        "basis_risk_delta_nii": 4500,
        "basis_risk_pct_of_parallel": 0.3,
        "convention": "Comptroller's Handbook IRR basis-risk delta-NII (per-index beta vs single reference shock)",
        "horizon_months": 12,
        "index_results": [
          {
            "asset_balance": 2000000,
            "beta_vs_reference": 1,
            "index_name": "prime",
            "index_shock_bps": 100,
            "liability_balance": 0,
            "net_exposure": 2000000,
            "nii_contribution": 20000
          },
          {
            "asset_balance": 500000,
            "beta_vs_reference": 0.9,
            "index_name": "sofr",
            "index_shock_bps": 90,
            "liability_balance": 0,
            "net_exposure": 500000,
            "nii_contribution": 4500
          },
          {
            "asset_balance": 0,
            "beta_vs_reference": 0.5,
            "index_name": "cd_portfolio",
            "index_shock_bps": 50,
            "liability_balance": 1000000,
            "net_exposure": -1000000,
            "nii_contribution": -5000
          }
        ],
        "is_material": true,
        "material_threshold_pct": 0.1,
        "parallel_delta_nii": 15000,
        "reference_shock_bps": 100,
        "total_net_exposure": 1500000,
        "total_nii_contribution": 19500
      }
    }
  }
}
