{
  "tool_id": "art-369-run-rate-shock-ladder",
  "tool_version": "1.0.0",
  "display_name": "Rate Shock Ladder Replay",
  "mcp_name": "run_rate_shock_ladder",
  "mandate_type": "analytics_mandate",
  "wave": 64,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-369-run-rate-shock-ladder.html",
  "description": "US OCC/FDIC interest-rate-risk parallel shock ladder: sweeps four prescribed parallel magnitudes (+/-100/200/300/400bp) over a bucketed repricing-gap schedule, returning both a duration-weighted delta-EVE leg and a 12-month cumulative-gap delta-NII leg per shock. Optional non-parallel steepener/flattener presets are caller-declared (short/long tenor bps split), not baked-in regulatory scalars. Distinct from the shipped BCBS d368 / EBA standardised six-scenario convention (art-183/art-185): sweeps multiple magnitudes rather than one, and combines EVE+NII in a single kernel. Complements CC-A repricing-gap schedules or user-supplied gap tables. NaN-safe. Zero network, zero PII.",
  "input_schema_ref": "chaingraph/art-369-run-rate-shock-ladder.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:225cfd55e3d840c397a4282c89669257f774926ce11c8062c5dbe6d249cc730e","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-07-19"}],
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "C/4HBVyibAVKYkVQINsomTvwp/1jQNPNMNkyhVd7nmUAQ/ugei9fqhAH+SNX+tAl1bohIk4FoyF7WHAbydtk4i6ARWFJjO24g/aQ24P84km4JmWHyCjDJhDbDqRMg7PCJUwXfjRSe0e3zI4zTvuvqevIvu3BcdXkasnYSTbVraYbiqWBGxKOdUFiZtQQlRvfOuZE+yBbYzlFg1IQ4en5zhhFHhyBLgvf1AupNW4JqcHPxjgS5/O08Mpi0OQEEZKQDJLEcb7kq9vcNVpJ8ioFkfNOxz99+BIMXopMgQERZTMVaTgfyEczTwO/9UO8nF+zYgd1aMSYpU0GYppsBl5sfg==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:225cfd55e3d840c397a4282c89669257f774926ce11c8062c5dbe6d249cc730e",
      "output": {
        "buckets_used": [
          "on_1m",
          "m1_y1",
          "y1_y3",
          "y3_y5",
          "y5_y10",
          "y10_plus"
        ],
        "convention": "US OCC/FDIC parallel rate-shock ladder",
        "ladder": {
          "parallel_down_100bp": {
            "delta_eve": 25040,
            "delta_nii": -3000,
            "shock_bps": -100
          },
          "parallel_down_200bp": {
            "delta_eve": 50080,
            "delta_nii": -6000,
            "shock_bps": -200
          },
          "parallel_down_300bp": {
            "delta_eve": 75120,
            "delta_nii": -9000,
            "shock_bps": -300
          },
          "parallel_down_400bp": {
            "delta_eve": 100160,
            "delta_nii": -12000,
            "shock_bps": -400
          },
          "parallel_up_100bp": {
            "delta_eve": -25040,
            "delta_nii": 3000,
            "shock_bps": 100
          },
          "parallel_up_200bp": {
            "delta_eve": -50080,
            "delta_nii": 6000,
            "shock_bps": 200
          },
          "parallel_up_300bp": {
            "delta_eve": -75120,
            "delta_nii": 9000,
            "shock_bps": 300
          },
          "parallel_up_400bp": {
            "delta_eve": -100160,
            "delta_nii": 12000,
            "shock_bps": 400
          }
        },
        "magnitudes_bps": [
          100,
          200,
          300,
          400
        ],
        "nii_12m_gap": 300000,
        "preset_shocks": {
          "flattener": {
            "delta_eve": 15085,
            "delta_nii": null,
            "long_bps": -50,
            "short_bps": 100
          },
          "steepener": {
            "delta_eve": -27605,
            "delta_nii": null,
            "long_bps": 100,
            "short_bps": -50
          }
        },
        "total_net_gap": 500000,
        "worst_delta_eve": -100160,
        "worst_scenario": "parallel_up_400bp"
      }
    }
  },
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready"
}
