{
  "slug": "covariance-shrinkage",
  "title": "Identity-target covariance shrinkage",
  "topic": "estimation",
  "summary": "Apply a declared convex shrinkage intensity without pretending it was statistically estimated.",
  "version": "1.0.0",
  "published": "2026-10-16",
  "status": "Educational reference",
  "formula": "S_new = (1 - a)*S + a*(trace(S)/2)*I",
  "inputs": [
    [
      "covariance",
      "Symmetric PSD 2x2 matrix; entries -100 to 100",
      "Original covariance estimate; nonnegative diagonal"
    ],
    [
      "intensity",
      "Decimal, 0 to 1 inclusive",
      "User-chosen shrinkage strength"
    ]
  ],
  "method": [
    "The target uses the average of the two variances on both diagonal entries and zero off-diagonal entries. At intensity zero the matrix is unchanged; at one it becomes the target. Intermediate settings reduce the off-diagonal covariance and move each variance toward the shared mean.",
    "The default half-strength example changes the variances to 0.0325 and 0.0175, with covariance 0.003. Preserving the trace makes the target easy to reconcile, but is not an argument that this target best represents any particular investment universe."
  ],
  "limits": [
    "This is a fixed-intensity transform, not the Ledoit-Wolf estimator. It does not select a parameter, repair an indefinite starting matrix or prove better out-of-sample risk estimates. Review window, data cleaning and target suitability separately."
  ],
  "checks": [
    "Both endpoints, trace preservation and symmetry tested.",
    "Invalid intensity and non-PSD inputs fail before calculation."
  ],
  "related": [
    "covariance-shrinkage-targets",
    "arithmetic-tests-versus-validation"
  ],
  "sources": [
    {
      "title": "scikit-learn: covariance estimation and shrinkage",
      "url": "https://scikit-learn.org/stable/modules/covariance.html"
    }
  ],
  "example": {
    "covariance": [
      [
        0.04,
        0.006
      ],
      [
        0.006,
        0.01
      ]
    ],
    "intensity": 0.5
  },
  "frozen_result": {
    "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."
    ]
  }
}
