{
  "equal-weight": {
    "schema_version": 1,
    "model_id": "equal-weight",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "assets": 4
    },
    "outputs": {
      "weights": [
        0.25,
        0.25,
        0.25,
        0.25
      ],
      "weight_sum": 1
    },
    "notes": [
      "No expected returns or covariance inputs. Rebalancing costs and universe selection are outside the rule."
    ]
  },
  "inverse-volatility": {
    "schema_version": 1,
    "model_id": "inverse-volatility",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "volatilities": [
        0.1,
        0.2,
        0.4
      ]
    },
    "outputs": {
      "weights": [
        0.5714285714285714,
        0.2857142857142857,
        0.14285714285714285
      ],
      "weight_sum": 1
    },
    "notes": [
      "Positive same-frequency decimal volatilities only. Correlations are not used; this is not a general equal-risk-contribution solver."
    ]
  },
  "two-asset-minimum-variance": {
    "schema_version": 1,
    "model_id": "two-asset-minimum-variance",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "covariance": [
        [
          0.04,
          0.006
        ],
        [
          0.006,
          0.01
        ]
      ]
    },
    "outputs": {
      "weights": [
        0.10526315789473684,
        0.8947368421052632
      ],
      "unconstrained_weight_1": 0.10526315789473684,
      "variance": 0.009578947368421053,
      "unique": true
    },
    "notes": [
      "Long-only two-asset variance minimization; expected returns and costs excluded."
    ]
  },
  "covariance-shrinkage": {
    "schema_version": 1,
    "model_id": "covariance-shrinkage",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "covariance": [
        [
          0.04,
          0.006
        ],
        [
          0.006,
          0.01
        ]
      ],
      "intensity": 0.5
    },
    "outputs": {
      "covariance": [
        [
          0.0325,
          0.003
        ],
        [
          0.003,
          0.0175
        ]
      ],
      "target_variance": 0.025
    },
    "notes": [
      "User-specified convex shrinkage to mean-variance identity. Intensity is not estimated by Ledoit-Wolf or selected by validation."
    ]
  },
  "portfolio-variance": {
    "schema_version": 1,
    "model_id": "portfolio-variance",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "weights": [
        0.6,
        0.4
      ],
      "covariance": [
        [
          0.04,
          0.006
        ],
        [
          0.006,
          0.01
        ]
      ]
    },
    "outputs": {
      "variance": 0.01888,
      "volatility": 0.13740451229854134
    },
    "notes": [
      "Two aligned long-only weights and a same-frequency covariance matrix. No additional annualization is applied."
    ]
  },
  "component-risk": {
    "schema_version": 1,
    "model_id": "component-risk",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "weights": [
        0.6,
        0.4
      ],
      "covariance": [
        [
          0.04,
          0.006
        ],
        [
          0.006,
          0.01
        ]
      ]
    },
    "outputs": {
      "variance": 0.01888,
      "volatility": 0.13740451229854134,
      "component_volatility": [
        0.11528005692843722,
        0.02212445537010412
      ],
      "risk_shares": [
        0.8389830508474576,
        0.1610169491525424
      ]
    },
    "notes": [
      "Signed Euler contributions sum to portfolio volatility; individual contributions can be negative.",
      "Two aligned long-only weights and a same-frequency covariance matrix. No additional annualization is applied."
    ]
  },
  "volatility-target": {
    "schema_version": 1,
    "model_id": "volatility-target",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "target_volatility": 0.12,
      "estimated_volatility": 0.08,
      "leverage_cap": 1.25
    },
    "outputs": {
      "uncapped_exposure": 1.5,
      "exposure": 1.25,
      "estimated_scaled_volatility": 0.1,
      "cap_binding": true
    },
    "notes": [
      "Same-frequency volatilities. This is a proportional exposure reference, not an order, realized-risk guarantee or borrowing-cost model."
    ]
  },
  "ewma-variance": {
    "schema_version": 1,
    "model_id": "ewma-variance",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "returns": [
        0.01,
        -0.02,
        0.015
      ],
      "initial_variance": 0.0001,
      "lambda": 0.94
    },
    "outputs": {
      "variance_path": [
        0.0001,
        0.00011800000000000002,
        0.00012442000000000003
      ],
      "next_period_variance": 0.00012442000000000003,
      "next_period_volatility": 0.01115437134042076
    },
    "notes": [
      "Zero conditional mean assumption; each observation updates variance for the following period. No fitted decay parameter or forecast validation."
    ]
  },
  "ordinary-least-squares": {
    "schema_version": 1,
    "model_id": "ordinary-least-squares",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "x": [
        1,
        2,
        3,
        4
      ],
      "y": [
        2,
        4,
        5,
        7
      ]
    },
    "outputs": {
      "slope": 1.6,
      "intercept": 0.5,
      "r_squared": 0.9846153846153847,
      "residual_sum_squares": 0.1999999999999999,
      "observations": 4
    },
    "notes": [
      "Univariate in-sample least squares with an intercept. R-squared is withheld for constant response; no inference or out-of-sample accuracy is supplied."
    ]
  },
  "beta": {
    "schema_version": 1,
    "model_id": "beta",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "asset": [
        0.015,
        -0.005,
        0.025,
        0.005
      ],
      "benchmark": [
        0.01,
        -0.01,
        0.02,
        0
      ]
    },
    "outputs": {
      "slope": 1,
      "intercept": 0.005,
      "r_squared": 1,
      "residual_sum_squares": 3.76158192263132e-36,
      "observations": 4
    },
    "notes": [
      "Descriptive same-period raw-return beta and intercept. No risk-free adjustment; intercept is not a causal alpha estimate."
    ]
  },
  "tracking-error": {
    "schema_version": 1,
    "model_id": "tracking-error",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "portfolio": [
        0.02,
        -0.01,
        0.03,
        0.01
      ],
      "benchmark": [
        0.01,
        -0.02,
        0.02,
        0.015
      ],
      "periods_per_year": 12
    },
    "outputs": {
      "active_returns": [
        0.01,
        0.01,
        0.009999999999999998,
        -0.004999999999999999
      ],
      "mean_active_return": 0.00625,
      "sample_tracking_error": 0.0075,
      "annualized_tracking_error": 0.025980762113533156
    },
    "notes": [
      "Arithmetic period differences with sample n-1 dispersion. Square-root annualization assumes stationary, uncorrelated active returns; it is not a compounded wealth difference."
    ]
  },
  "information-ratio": {
    "schema_version": 1,
    "model_id": "information-ratio",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "portfolio": [
        0.02,
        -0.01,
        0.03,
        0.01
      ],
      "benchmark": [
        0.01,
        -0.02,
        0.02,
        0.015
      ],
      "periods_per_year": 12
    },
    "outputs": {
      "active_returns": [
        0.01,
        0.01,
        0.009999999999999998,
        -0.004999999999999999
      ],
      "mean_active_return": 0.00625,
      "sample_tracking_error": 0.0075,
      "annualized_tracking_error": 0.025980762113533156,
      "annualized_information_ratio": 2.8867513459481287
    },
    "notes": [
      "Arithmetic period differences with sample n-1 dispersion. Square-root annualization assumes stationary, uncorrelated active returns; it is not a compounded wealth difference."
    ]
  },
  "compound-return": {
    "schema_version": 1,
    "model_id": "compound-return",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "returns": [
        0.1,
        -0.1,
        0.05
      ],
      "periods_per_year": 12
    },
    "outputs": {
      "ending_wealth": 1.0395,
      "compounded_return": 0.0395,
      "annualized_return": 0.16761045388006252,
      "periods": 3
    },
    "notes": [
      "Equal-length periods with no external cash flows. Annualized short samples are arithmetic demonstrations, not expected returns."
    ]
  },
  "maximum-drawdown": {
    "schema_version": 1,
    "model_id": "maximum-drawdown",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "returns": [
        0.1,
        -0.2,
        0.15,
        -0.05
      ]
    },
    "outputs": {
      "maximum_drawdown": -0.2,
      "ending_wealth": 0.9614,
      "wealth_path": [
        1,
        1.1,
        0.88,
        1.012,
        0.9614
      ],
      "drawdown_path": [
        0,
        0,
        -0.2,
        -0.08000000000000002,
        -0.12600000000000003
      ]
    },
    "notes": [
      "Initial wealth 1 is included as a peak. End-of-period observations only; intraperiod losses and external flows are not reconstructed. Drawdown is a nonpositive fraction."
    ]
  },
  "turnover": {
    "schema_version": 1,
    "model_id": "turnover",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "before": [
        0.6,
        0.4
      ],
      "after": [
        0.4,
        0.6
      ]
    },
    "outputs": {
      "trades": [
        -0.19999999999999996,
        0.19999999999999996
      ],
      "gross_traded_weight": 0.3999999999999999,
      "one_way_turnover": 0.19999999999999996
    },
    "notes": [
      "Both vectors use the same pretrade NAV and asset order, sum to one, and exclude external flows. before means drifted pretrade weights, not an earlier target."
    ]
  },
  "cost-drag": {
    "schema_version": 1,
    "model_id": "cost-drag",
    "model_version": "1.0.0",
    "engine_version": "1.0.0",
    "published_at": "2026-10-16",
    "scope": "Synthetic educational reference calculation. Not a fitted investment strategy, forecast, provider model or client return.",
    "inputs": {
      "before": [
        0.6,
        0.4
      ],
      "after": [
        0.4,
        0.6
      ],
      "cost_bps": 10,
      "gross_return": 0.02
    },
    "outputs": {
      "trades": [
        -0.19999999999999996,
        0.19999999999999996
      ],
      "gross_traded_weight": 0.3999999999999999,
      "one_way_turnover": 0.19999999999999996,
      "cost_fraction": 0.0003999999999999999,
      "net_return_approximation": 0.0196
    },
    "notes": [
      "Both vectors use the same pretrade NAV and asset order, sum to one, and exclude external flows. before means drifted pretrade weights, not an earlier target.",
      "Symmetric basis-point cost per buy and sell notional. Linear one-period approximation; no spread/impact calibration, tax, financing or cash re-solve."
    ]
  }
}
