markowitz.views.idzorek¶
markowitz.views.idzorek
¶
Idzorek (2005) confidence-to-Omega mapping.
Idzorek's procedure lets a portfolio manager express each view's strength as a
percentage confidence c_k rather than as an opaque variance entry of
Omega. Two flavours are exposed:
- :func:
idzorek_omega_approx-- the closed-form approximationomega_k ~= ((1 - c_k) / c_k) * (P_k tau Sigma P_k^T). - :func:
idzorek_omega-- the exact root-finding procedure that solves, for every viewk, the scalar equation ensuring that the posterior weight tilt matches what would be obtained under a 100%-confidence single-view update scaled byc_k.
Both return a diagonal matrix. The exact variant falls back to the approximation when the bracketing strategy fails (which can happen for pathological covariance structures).
idzorek_omega(P: np.ndarray, tau_Sigma: np.ndarray, confidences: np.ndarray, pi: np.ndarray, delta: float, w_mkt: np.ndarray, *, brent_xtol: float = 1e-10, brent_maxiter: int = 200) -> np.ndarray
¶
Exact Idzorek omega via per-view root finding (with safe fallback).
Source code in src/markowitz/views/idzorek.py
idzorek_omega_approx(P: np.ndarray, tau_Sigma: np.ndarray, confidences: np.ndarray) -> np.ndarray
¶
Closed-form Idzorek omega approximation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
P
|
ndarray
|
Pick matrix of shape |
required |
tau_Sigma
|
ndarray
|
The scaled prior covariance |
required |
confidences
|
ndarray
|
One-dimensional array of length |
required |
Returns:
| Type | Description |
|---|---|
ndarray
|
Diagonal |