Portfolio Construction: Using the Optimizers

This guide covers the practical steps for using QuanterLab's three portfolio optimization modules and its two risk analysis tools.

Mean-Variance Optimization (FM098MVOX)

Access from the Dashboard → Fundamental Analysis → Portfolio Optimization cluster, or from the Fundamental ribbon.

Configuration

  1. Enter tickers — Type or paste the symbols you want to optimize. These are typically your top candidates from the screener
  2. Select return estimation method — Historical Mean (simple), CAPM (beta-based), or Black-Litterman (equilibrium-based). Black-Litterman generally produces the most sensible weights
  3. Select covariance method — Sample (direct), Ledoit-Wolf Shrinkage (recommended), or Exponential Weighted (recent-data emphasis)
  4. Set constraints — Minimum and maximum weight per stock, maximum number of holdings. Constraints prevent extreme concentration
  5. Set lookback period — 1-5 years of historical data for estimation. Default is 2 years
  6. Choose optimization goal — Maximum Sharpe Ratio or Minimum Variance

Output

  • Efficient frontier chart — 30 portfolios plotted on a return vs. volatility curve. Your optimized portfolio is highlighted
  • Weight allocation table — Each ticker with its optimal weight percentage, sorted by weight
  • Portfolio metrics — Expected annual return, annualized volatility, Sharpe ratio
  • Sector allocation — Percentage breakdown by sector
  • Covariance matrix — Visual correlation structure of the top 20 holdings
Constraint Tip

Without constraints, MVO often concentrates 50-80% of the portfolio in 1-2 stocks. Set a maximum weight of 15-20% per stock to force diversification. This produces more practical portfolios while staying close to the efficient frontier.

Hierarchical Risk Parity (FM097HRPX)

Configuration

  1. Enter tickers — Same as MVO
  2. Select distance metric — Standard Correlation (positive correlation = similar) or Absolute Correlation (treats negative correlation as similar too)
  3. Select linkage method — Single, Complete, Average, or Ward. Ward linkage is recommended as it minimizes within-group variance and produces the most balanced clusters
  4. Set constraints — Min/max weight per stock, maximum holdings
  5. Set correlation filter threshold — Stocks with correlation above this value (default 0.85) are filtered to avoid redundancy. Known share class pairs (GOOG/GOOGL, BRK.A/BRK.B) are detected automatically

Output

  • Dendrogram — Tree visualization showing how assets cluster together. Nearby branches are highly correlated
  • Ordered correlation matrix — Quasi-diagonal form showing the block structure after clustering
  • Weight allocation table — Optimal weights per ticker
  • Cluster assignments — Which assets belong to which cluster
  • Correlation filtering report — Which stocks were removed due to high correlation and what their correlation was

Inverse Volatility (FM096IVOX)

Configuration

  1. Enter tickers
  2. Select volatility calculation — Standard (equal-weighted historical) or Exponential Weighted (emphasizes recent data, halflife parameter adjustable)
  3. Set constraints — Min/max weight, maximum holdings

Output

  • Weight allocation table — With individual volatility and inverse volatility scores for each holding
  • Volatility distribution — Histogram of all screened stocks' volatilities
  • Sector allocation
  • Portfolio metrics — Realized return, volatility, Sharpe ratio

Risk Analysis Tools

Monte Carlo Simulation (FM095MCSX)

Enter a ticker or portfolio. The module runs 1,000 simulated price paths using Geometric Brownian Motion over your chosen time horizon (1 month, 3 months, 6 months, or 1 year).

The output includes:

  • 40 sample paths — Visual representation of possible price trajectories
  • Percentile bands — 5th, 25th, 50th, 75th, 95th percentile paths showing the distribution of outcomes
  • Terminal value histogram — Distribution of ending portfolio values across all simulations
  • Probability analysis — Probability of gain, probability of 50%+ gain, probability of doubling, probability of loss, probability of 25%+ loss

Value at Risk (FM094VARX)

Calculates three VaR measures across multiple confidence levels (90%, 95%, 99%) and time horizons (1 day to 1 year):

  • Historical VaR — Uses actual return distribution (no distribution assumption)
  • Parametric VaR — Assumes normal distribution (faster, but underestimates tail risk)
  • Conditional VaR (CVaR) — Expected loss beyond the VaR threshold (more conservative tail risk measure)

Additional outputs include per-stock risk contribution, rolling VaR chart (60-day window), historical VaR breach count, and return distribution histogram with VaR thresholds overlaid.

VaR Interpretation

A 95% daily VaR of 2.3% means: "On 95% of trading days, the portfolio will not lose more than 2.3%." The remaining 5% of days — the tail events — can produce losses much larger than 2.3%. CVaR captures the expected magnitude of those tail losses and is generally more useful for risk management.

Optimization Workflow
  • Start with HRP — It requires the fewest assumptions and produces stable, diversified portfolios
  • Compare with MVO — If you have strong return views, run MVO with Black-Litterman and Ledoit-Wolf to see if it produces meaningfully different allocations
  • Validate with Monte Carlo — Run the optimized portfolio through Monte Carlo to understand the range of possible outcomes
  • Check VaR — Use VaR to quantify the worst-case scenarios at your preferred confidence level
  • Deploy — Build the portfolio in Portfolio Visualizer with the recommended weights
Back to QuanterLab
Report
Loading report...
Article
Loading article...