{
  "nbformat": 4,
  "nbformat_minor": 5,
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "name": "python",
      "version": "3.10"
    }
  },
  "cells": [
    {
      "id": "scope",
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# risk reproduction check\n",
        "Run in the extracted bundle folder. Read README.md for provenance, prerequisites, and limitations. This is not full-paper replication.\n"
      ]
    },
    {
      "id": "check",
      "cell_type": "code",
      "metadata": {},
      "execution_count": null,
      "outputs": [],
      "source": [
        "\"\"\"Synthetic loss-tail teaching example. Not market data or a backtest.\"\"\"\n",
        "import json\n",
        "import math\n",
        "from pathlib import Path\n",
        "\n",
        "ROOT = Path(__file__).resolve().parent if \"__file__\" in globals() else Path.cwd()\n",
        "\n",
        "\n",
        "def reproduce():\n",
        "    source = json.loads((ROOT / \"source.json\").read_text(encoding=\"utf-8\"))\n",
        "    results = {}\n",
        "    for name in (\"balanced\", \"concentrated\"):\n",
        "        losses = sorted(source[name])\n",
        "        count = int(len(losses) * source[\"tail_percent\"] / 100)\n",
        "        mean = sum(losses) / len(losses)\n",
        "        cvar = sum(losses[-count:]) / count\n",
        "        # Empirical left quantile, immediately before the selected upper tail.\n",
        "        var = losses[len(losses) - count - 1]\n",
        "        results[name] = {\"mean\": mean, \"var\": var, \"cvar\": cvar,\n",
        "                         \"objective\": mean + source[\"penalty\"] * cvar}\n",
        "    return results\n",
        "\n",
        "\n",
        "if __name__ == \"__main__\":\n",
        "    result = reproduce()\n",
        "    expected = json.loads((ROOT / \"expected.json\").read_text(encoding=\"utf-8\"))\n",
        "    for name, values in expected.items():\n",
        "        for key, value in values.items():\n",
        "            assert math.isclose(result[name][key], value, rel_tol=0, abs_tol=1e-12), (name, key)\n",
        "    print(json.dumps(result, indent=2))\n",
        "    print(\"PASS: synthetic teaching example checked; no trading policy or backtest reproduced.\")\n"
      ]
    }
  ]
}
