From wealth-management
Determine how to distribute capital across asset classes using strategic and tactical allocation frameworks. Use when the user asks about portfolio allocation, mean-variance optimization, Black-Litterman, risk parity, glide paths, or target-date strategies. Also trigger when users mention 'how much in stocks vs bonds', '60/40 portfolio', 'policy portfolio', 'core-satellite', 'liability-driven investing', 'asset-liability matching', or ask how to split their money across investments.
npx claudepluginhub joellewis/finance_skills --plugin wealth-managementThis skill uses the workspace's default tool permissions.
Provides frameworks for determining how to distribute capital across asset classes and strategies. Covers strategic and tactical allocation, mean-variance optimization, Black-Litterman, risk parity, glide paths, and practical implementation approaches. Asset allocation is the primary driver of long-term portfolio performance and risk.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Provides frameworks for determining how to distribute capital across asset classes and strategies. Covers strategic and tactical allocation, mean-variance optimization, Black-Litterman, risk parity, glide paths, and practical implementation approaches. Asset allocation is the primary driver of long-term portfolio performance and risk.
4 — Portfolio Construction
both
The long-term policy portfolio based on an investor's risk tolerance, return objectives, time horizon, and constraints. SAA determines the baseline target weights (e.g., 60% equity / 30% bonds / 10% alternatives) and is the dominant driver of long-term portfolio returns. SAA should be revisited when investor circumstances change, not in response to market movements.
Short-to-medium-term deviations from the SAA based on market views, valuations, or momentum signals. TAA requires a disciplined process to avoid becoming ad hoc market timing. Key considerations:
Markowitz's framework for finding optimal portfolio weights that maximize risk-adjusted return:
max w'*mu - (lambda/2) * w'Sigmaw
subject to: sum(w_i) = 1, w_i >= 0 (if long-only), and any additional constraints.
Where:
MVO requires three inputs: expected returns, the covariance matrix, and risk aversion. The solution is highly sensitive to expected return inputs.
Combines market equilibrium returns with investor views to produce more stable, intuitive portfolio weights. Two-step process:
Step 1 — Implied Equilibrium Returns: Pi = lambda * Sigma * w_mkt
where w_mkt is the market-capitalization weight vector, lambda is the risk aversion parameter, and Sigma is the covariance matrix. These are the returns the market implicitly expects given current prices.
Step 2 — Blending with Views: E(R) = [(tau*Sigma)^(-1) + P'*Omega^(-1)P]^(-1) * [(tauSigma)^(-1)*Pi + P'*Omega^(-1)*Q]
where:
The result is a posterior expected return vector that tilts away from equilibrium toward the investor's views, proportional to confidence.
Equalizes the risk contribution from each asset (or factor) rather than equalizing capital allocation:
RC_i = w_i * (Sigma*w)_i / sigma_p
Set RC_i = RC_j for all i, j.
In a simple two-asset case with no correlation: w_i is proportional to 1/sigma_i
Risk parity portfolios allocate more capital to lower-volatility assets (typically bonds) and often require leverage to achieve competitive return targets.
An age-based or time-based allocation that systematically shifts from growth assets to defensive assets as the investor ages or the target date approaches:
Common rule of thumb: Equity % = 110 - Age
Target-date fund glide paths typically:
A hybrid approach combining:
This structure captures the market return efficiently (core) while allowing alpha generation or specific exposures (satellites).
For investors with defined liabilities (pensions, insurance, endowments with spending rules):
| Formula | Expression | Use Case |
|---|---|---|
| MVO Objective | max w'*mu - (lambda/2)*w'Sigmaw | Optimal portfolio weights |
| Equilibrium Returns | Pi = lambda * Sigma * w_mkt | Black-Litterman starting point |
| BL Posterior | E(R) = [(tau*Sigma)^(-1) + P'*Omega^(-1)P]^(-1) * [(tauSigma)^(-1)*Pi + P'*Omega^(-1)*Q] | Blended expected returns |
| Risk Contribution | RC_i = w_i * (Sigma*w)_i / sigma_p | Risk parity target |
| Risk Parity Condition | RC_i = RC_j for all i, j | Equal risk contribution |
| Glide Path Rule | Equity % = 110 - Age | Age-based allocation |
Given:
Calculate: Optimal weights
Solution:
Covariance matrix:
MVO with lambda=4 (solving numerically or via quadratic programming):
Optimal weights (approximate):
Portfolio: expected return = 5.25%, volatility = 7.8%
Note: The high bond allocation results from the optimization penalizing variance heavily (lambda=4). Reducing lambda or adding a minimum equity constraint would shift toward equities.
Given:
Calculate: Posterior expected returns and implied weight shift
Solution:
View specification:
After applying the Black-Litterman formula:
Posterior expected returns (approximate):
The posterior tilts returns toward the view. When these posterior returns are fed into MVO, the resulting weights shift from market-cap weights toward EM and away from US, but the shift is moderate and proportional to confidence, avoiding the extreme concentrations that raw MVO can produce.
See scripts/asset_allocation.py for computational helpers.