Portfolio Optimization and Analysis

Modern Portfolio Theory (MPT), Monte Carlo simulation, and advanced risk analytics for quantitative portfolio management and risk measurement.


Overview

# Notebook Details Implementation
1 Portfolio Optimization using Monte Carlo Methods Traditional portfolio optimization using SciPy SLSQP algorithm with Monte Carlo simulation to map the efficient frontier. Docs
2 Portfolio Optimization - PyPortfolioOpt Advanced portfolio optimization using PyPortfolioOpt library with dual optimization approach and discrete allocation functionality. Docs
3 Portfolio Risk Analytics - VaR & ES Calculate, compare, and backtest ~17 different VaR and Expected Shortfall models for market risk. Docs

Details

1. Portfolio Optimization - Monte Carlo

Notebook: 01_portfolio_optimization_monte_carlo.ipynb

View - Github

Overview

Traditional portfolio optimization using SciPy SLSQP algorithm with Monte Carlo simulation to map the efficient frontier.

Key Features

  • 50,000 Monte Carlo simulations for efficient frontier mapping
  • SLSQP optimization maximizing Sharpe Ratio
  • Logarithmic returns analysis
  • Correlation analysis for diversification insights
  • Comprehensive visualizations: efficient frontier, allocation charts, weight distributions

Methodology

  • Objective: Maximize Sharpe Ratio
  • Algorithm: Sequential Least Squares Programming (SLSQP)
  • Constraints:
    • Weights sum to 100%
    • No short selling (0 ≤ w_i ≤ 1)
  • Risk-Free Rate: 3.6% (1-year US Treasury yield)

Mathematical Framework

\(\mu_P = \sum_{i=1}^{n} w_i \mu_i \times 252\)

\[\sigma_P = \sqrt{w^T \Sigma w \times 252}\] \[SR = \frac{\mu_P - r_f}{\sigma_P}\]

2. Portfolio Optimization - PyPortfolioOpt

Notebook: 02_portfolio_optimization_pyportfolioopt.ipynb

View - Github

Overview

Advanced portfolio optimization using PyPortfolioOpt library with dual optimization approach and discrete allocation functionality.

Key Features

  • Dual optimization methods: SciPy SLSQP + PyPortfolioOpt
  • Multiple optimization strategies: Max Sharpe, Min Volatility, Efficient Risk
  • Discrete allocation: Convert continuous weights to integer shares
  • Side-by-side comparison: Traditional vs. advanced methods
  • Practical implementation: Real-world portfolio construction with $100,000 capital

Optimization Strategies

  1. Maximum Sharpe Ratio
    • Optimal risk-adjusted returns
    • Best performance per unit of risk
  2. Minimum Volatility
    • Conservative risk minimization
    • Lowest portfolio variance
  3. Efficient Risk
    • Target volatility approach
    • Customizable risk tolerance

3. Portfolio Risk Analytics - VaR & ES

Notebook: 03_portfolio_risk_analytics_var_and_es.ipynb

View - Github

Overview

Calculate, compare, and backtest ~17 different VaR and Expected Shortfall models for market risk.

Key Features

  • 17 VaR/ES methods: Parametric, non-parametric, and advanced historical
  • Kupiec POF backtesting: Statistical validation of all methods
  • Rolling window analysis: 250-day estimation windows
  • Advanced methods: Bootstrapped, age-weighted, volatility-weighted, correlation-weighted
  • Comprehensive visualizations: Heatmaps, comparison charts, temporal analysis

VaR/ES Methods Implemented

Parametric Methods (6)

  1. Normal Distribution VaR/ES
  2. Student-t Distribution VaR/ES
  3. EWMA VaR (λ = 0.94)
  4. Cornish-Fisher VaR

Non-Parametric Methods (4)

  1. Historical Simulation VaR/ES
  2. Kernel Density Estimation (KDE) VaR/ES

Advanced Historical Simulation (10)

  1. Bootstrapped Historical Simulation (BHS) - 1,000 samples
  2. Age-Weighted Historical Simulation (AWHS) - λ = 0.98
  3. Volatility-Weighted Historical Simulation (VWHS)
  4. Correlation-Weighted Historical Simulation (CWHS)
  5. Filtered Historical Simulation (FHS) - Optional GARCH

Backtesting Framework

  • Kupiec Proportion of Failures (POF) Test
  • Likelihood Ratio Statistic: LR ~ χ²(1)
  • Decision Rule: p-value < 0.05 → Reject model
  • Metrics: Breach rate, LR statistic, p-value, adequacy assessment

Features

Portfolio Optimization

  • Dual Optimization Approach: Compare traditional (SciPy) vs. modern (PyPortfolioOpt) methods
  • Monte Carlo Simulation: 50,000 random portfolios mapping efficient frontier
  • Discrete Allocation: Convert theoretical weights to actual share quantities
  • Multiple Strategies: Max Sharpe, Min Volatility, Efficient Risk
  • Comprehensive Analysis: Returns, volatility, correlations, Sharpe ratios

Risk Analytics

  • 17 VaR/ES Methods: Complete methodology comparison
  • Statistical Validation: Kupiec POF backtesting
  • Advanced Techniques: Bootstrap, KDE, age-weighted, volatility-weighted
  • Rich Visualizations: Heatmaps, comparison charts, temporal analysis
  • Rolling Windows: Dynamic 250-day estimation

Repository

Source Code


↑ Top

© 2026 A W. Quantitative Research

This site uses Just the Docs, a documentation theme for Jekyll.