Builds mean-variance, Black-Litterman, and risk parity optimization models with constraint management and rebalancing rules. Use when optimizing portfolios, implementing risk parity, or applying Black-Litterman views.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add CaseMark/skills --skill modeling-portfolio-optimization --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Modeling Portfolio Optimization?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/casemark-modeling-portfolio-optimization)More formats (shields.io, HTML) on the badges page.
---
name: modeling-portfolio-optimization
language: en
description: Builds mean-variance, Black-Litterman, and risk parity optimization models with constraint management and rebalancing rules. Use when optimizing portfolios, implementing risk parity, or applying Black-Litterman views.
tags:
- modeling
- quantitative-capital-strategies
- risk
- portfolio
metadata:
author: casemark
practice_areas:
- Quantitative Investing
- Systematic Strategies
- Factor Investing
document_types:
- Financial Model
skill_modes:
- Modeling
- Forecasting
---
# Modeling Portfolio Optimization
Builds mean-variance, Black-Litterman, and risk parity optimization models with constraint management and rebalancing rules.
## When To Use
- Constructing or rebalancing a multi-asset or multi-factor portfolio against a risk/return objective
- Incorporating subjective market views into equilibrium weights via Black-Litterman
- Implementing risk parity or equal risk contribution across asset classes or factors
- Evaluating constraint sets (position limits, sector caps, turnover budgets) and their impact on the efficient frontier
- Stress-testing portfolio allocations under regime-change or tail-risk scenarios
## Inputs To Gather
- **Return estimates**: Historical return series (frequency, lookback window, asset universe) or forward-looking expected returns from a separate alpha model
- **Covariance / risk model**: Sample covariance, shrinkage estimator (Ledoit-Wolf), factor-based risk model, or DCC-GARCH specification — document which and why
- **Benchmark or equilibrium reference**: Market-cap weights for Black-Litterman implied returns; benchmark index if tracking error is a constraint
- **Investor views** (Black-Litterman): Absolute or relative views, confidence levels (tau, omega matrix calibration)
- **Constraints**: Min/max position sizes, sector/geography/factor exposure limits, long-only vs. long-short, turnover cap, transaction cost estimates
- **Risk budget** (risk parity): Target risk contribution per asset or factor; marginal risk contribution tolerances
- **Rebalancing rules**: Calendar-based (monthly, quarterly) vs. threshold-based (drift bands), tax-lot considerations if applicable
## Workflow
1. **Select optimization framework**
- Mean-variance (Markowitz): Use when you have credible expected return estimates and want to target a point on the efficient frontier or maximize Sharpe ratio.
- Black-Litterman: Use when starting from equilibrium (market-cap) weights and blending in discretionary or model-driven views. Specify tau (scaling factor for uncertainty in equilibrium returns) and construct the pick matrix (P) and view vector (Q) with confidence-weighted omega.
- Risk parity / equal risk contribution: Use when the goal is balanced risk allocation without relying on return forecasts. Solve for weights where each asset's marginal contribution to portfolio volatility is equal (or proportional to a risk budget).
2. **Prepare inputs**
- Clean return series: handle missing data, survivorship bias, corporate actions. State lookback period and frequency.
- Estimate covariance matrix. For large universes (>50 assets), apply shrinkage or factor decomposition to avoid singular or unstable matrices. Document eigenvalue floor if regularizing.
- For Black-Litterman: derive implied equilibrium returns (π = δΣw_mkt), then combine with views using the BL formula. State delta (risk aversion coefficient) derivation.
3. **Formulate and solve**
- Define the objective function (e.g., maximize w'μ − (λ/2)w'Σw for mean-variance; minimize Σ(RC_i − RC_target)^2 for risk parity).
- Encode all constraints as linear or second-order cone constraints for convex solvers.
- Solve using quadratic programming (mean-variance), sequential least-squares (risk parity), or closed-form BL posterior.
- If the solver fails to converge, relax the tightest binding constraint incrementally and document the trade-off.
4. **Analyze outputs**
- Report optimal weights, expected return, expected volatility, Sharpe ratio, and max drawdown (historical backtest).
- Decompose risk: contribution by asset, by factor, and by sector. Identify concentration risks.
- Run sensitivity analysis: perturb expected returns ±50–100 bps, shift correlations ±0.05–0.10, vary tau (BL) across 0.01–0.10 range. Report weight stability.
- Compare to benchmark or current portfolio: active weights, tracking error, information ratio.
5. **Define rebalancing protocol**
- Specify trigger mechanism: calendar schedule or drift threshold (e.g., rebalance when any weight deviates >2% from target).
- Incorporate transaction cost model (fixed + proportional) into the rebalance decision — only rebalance if expected utility gain exceeds estimated round-trip cost.
- For tax-sensitive accounts, apply tax-lot optimization and short-term vs. long-term gain awareness. [VERIFY: tax-lot rules per jurisdiction]
6. **Document and deliver**
- Produce a model specification sheet: objective, constraints, solver, input sources, date range, key parameters.
- Include an assumptions register with explicit flags for any estimated or inferred input.
- Attach backtest results with appropriate caveats (in-sample vs. out-of-sample, transaction cost assumptions, look-ahead bias checks).
## Output
- **Optimal weight table**: Asset/factor, target weight, current weight, trade direction, position size
- **Risk decomposition**: Marginal and percentage contribution to risk by asset, factor, and sector
- **Efficient frontier chart** (mean-variance) or **risk contribution bar chart** (risk parity)
- **Sensitivity matrix**: Weight changes under perturbed inputs (returns, correlations, tau)
- **Rebalancing rule summary**: Trigger type, cost threshold, expected annual turnover
- **Model specification sheet**: Full parameter documentation for reproducibility and audit
## Quality Checks
- Weights sum to 1.0 (or target net exposure for long-short) and satisfy all stated constraints
- Covariance matrix is positive semi-definite — check smallest eigenvalue > 0 (or applied regularization)
- Black-Litterman posterior returns lie between equilibrium returns and views — extreme tilts signal omega miscalibration
- Risk parity solution achieves risk contributions within tolerance (e.g., ±0.5% of target) — if not, flag solver convergence issue
- Backtest Sharpe ratio is plausible relative to asset class history — ratios above 2.0 for traditional assets warrant scrutiny for overfitting
- No single asset exceeds concentration limit; sector/factor exposures within policy bands
- Transaction cost assumptions are realistic for the asset class and trade size [VERIFY: market-specific bid-ask and commission schedules]
- All assumptions, data sources, and parameter choices are documented — no "magic numbers" without justification
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!