Asset Allocation and Portfolio Construction 2: Advanced Methods using Python
This course provides practical Python skills for investment professionals, focusing on implementing advanced portfolio construction techniques, tail risk management, factor models, causal analysis, and network-based approaches.
Participants will learn to build working solutions for realistic portfolio optimization, downside risk CVaR frameworks, macroeconomic factor models, machine learning-enhanced forecasts, Black-Litterman views, and graph theory applications. The focus is on production-ready implementation, not theoretical mathematics.
This course is not about writing production-ready Python code, but participants will learn how to read Python code.
Recommend to a Colleague- Date:
- Please contact us
- Venue:
- Cliftons Singapore - The Finexis Building
- Fee:
This course is also available in London Time Zone and New York Time Zone
- Portfolio managers
- Asset allocators
- Multi-asset strategists
- And quantitative analysts seeking to implement advanced portfolio construction techniques using Python.
- Navigate the Python ecosystem including packages, notebooks, and integration with existing investment management systems
- Translate common Excel operations into equivalent Python implementations
- Apply complex portfolio constraints
- Apply modern regression techniques for variable selection and multicollinearity
- Engineer features for asset return prediction including technical indicators, cross-sectional features, macro features, and network features
- Build portfolios based on network centrality measures and hierarchical clustering (waterfall portfolios)
- Detect structural changes in correlation networks over time for dynamic portfolio adjustment
- Conduct robustness checks through Monte Carlo parameter sampling, bootstrap resampling, and sensitivity analysis
- Excel skills, willingness to acquire Python skills
- Understanding of portfolio theory and asset allocation concepts, ideally MAAPC
- No programming experience required
Andreas Steiner is an independent consultant with over 15 years of practical experience in investment management. He focuses on investment process with related projects ranging from risk management to portfolio construction. He has published research on a wide range of investment topics - i.e. "Risk Parity for the Masses" in The Journal of Investing - and is currently working on a book covering asset allocation and applied portfolio theory.
Previously, Andreas held various roles at banks and fund management companies and was Head of Investment Risk Management at a private bank in Switzerland. He was also an external lecturer at the Zurich University of Applied Sciences, delivering courses on portfolio theory, performance analysis, international investing and Behavioural Finance.
Andreas holds a Master's degree magna cum laude in Economics from the University of Zurich specializing in Monetary Economics and Financial Markets. He is also a member of various industry associations related to investment performance and risk.
Python Fundamentals for Investment Professionals
- What is Python and why use it for portfolio construction
- When to use Python versus Excel
- The Python workflow and integration with existing systems
- Python versus Python in Excel
- Industry adoption in asset management
- The Python biotope: packages
- Notebooks for interactive analysis
Python Basics
- Variables and data types
- Lists, dictionaries, and data structures
- Conditional logic and loops
- Functions and modules
- Excel-Python translation reference for the most important concepts
NumPy for Portfolio Calculations
- Array operations for return calculations
- Vectorized computations for portfolio analytics
- Matrix operations for covariance calculations
- Mathematical functions for optimization
Pandas for Time Series Analysis
- DataFrame structure and manipulation
- Time series data handling (resampling, rolling windows)
- Multi-index DataFrames for multi-asset portfolios
- Typical Excel operations with Pandas
Python-Excel Integration
- Reading Excel files into Python
- Writing Python results to Excel
- Formatting Excel output for client reports
- Maintaining Excel compatibility
Data Sources & Market Data Pipelines
- Market data from exchanges
- Economic indicators
- Internal data from CSV files
- Building automated market data pipelines
CVaR Framework for Tail Risk Management
CVaR Framework Foundations
- Understanding Value-at-Risk (VaR) and Conditional Value-at-Risk (CVaR)
- Mathematical formulation of CVaR optimization
- Python implementation: setting up goal function and constraints
- Mean-CVaR efficient frontier construction
- Scenario-based optimization using historical returns
- Comparing CVaR portfolios to mean-variance portfolios
Advanced Applications
- Complex constraints: sector limits, tracking error budgets, turnover constraints, factor exposure constraints
- Multi-period CVaR optimization with rebalancing costs
- Copula-based CVaR for modeling tail dependence
- Stress testing and scenario analysis frameworks
Economic Factor Models & Analysis of Factors
Building Macroeconomic Factor Models with Modern Regression Techniques
- Downloading economic data from FRED
- Building single-factor and multi-factor regression models
- Modern linear regression techniques for variable selection: Ridge regression for multicollinearity, Lasso regression and other techniques for automatic feature selection, Elastic Nets
- Introduction to machine learning techniques for regression: Regressograms (histogram-based regression), k-Nearest Neighbors (k-NN) regression, Decision Trees for non-linear relationships, Random Forests for robust feature selection and importance ranking
- Analyzing the stability of factor models
Impulse-Response Analysis & Causality Testing
- Understanding Vector Autoregression (VAR) models
- Estimating VAR models in Python
- Interpreting shock transmission across asset classes
- Causality testing between economic variables and asset returns
- Visualizing causal relationships and transmission mechanisms
Regime Detection & PCA Integration
Regime Identification
- Hidden Markov Models (HMM) for regime detection
- Markov regime-switching models
- Identifying bull/bear/sideways regimes
- Volatility regime detection
- Economic cycle identification using macroeconomic indicators
- Visual regime analysis and dating
- Non-traditional approaches to regime identification
ML-Enhanced Forecasting & Black Litterman Implementation
Review of Black-Litterman
- Active investment management with the Black-Litterman framework
- Choosing and calculating the prior
- Specifying views
- Combining prior and views to generate posterior return forecasts
- Calculating Black-Litterman portfolios with full constraints
Using Machine Learning to Derive Quantitative Signals
- Feature engineering for asset return prediction: technical, macro, network features
- Random Forest, Gradient Boosting (XGBoost, LightGBM), Ridge/Lasso regression
- Model evaluation metrics: RMSE, directional accuracy, information coefficient
- Feature importance analysis and ensemble methods
Turning Signals into Views and Integration
- Combining multiple view sources into coherent view portfolios
- View confidence matrix calibration: Mapping signal strength and ML prediction confidence to omega parameters
Sensitivity Analysis & Multi-Period Application
- Sensitivity analysis: impact of tau parameter on prior vs. view weighting
- Omega parameter effects: view confidence and portfolio concentration
- Prior dominance analysis: when equilibrium overwhelms views
- Multi-period application with dynamic view updating
- Rolling Black-Litterman portfolios with time-varying ML-enhanced views
Graph Theory & Network-Based Portfolio Construction
Correlation Networks & Minimum Spanning Trees
- Building correlation matrices from asset returns
- Converting correlations to distance metrics
- Constructing Minimum Spanning Trees (MST) using NetworkX
- Visualizing asset relationship networks
- Identifying clusters and central assets
- Network topology analysis (degree centrality, betweenness)
- Detecting changes in network structure over time
Network-Based Portfolio Construction
- Portfolio construction using network centrality measures
- Diversification based on network topology
- Identifying systemic risk through network analysis
- Dynamic portfolio adjustment based on changing networks
- Applying hierarchical clustering for asset grouping: waterfall portfolios
Backtesting, Parameter Calibration & Robustness Testing
Common Pitfalls in Backtesting
- Look-ahead bias: using future information in historical tests
- Survivorship bias: excluding delisted or failed assets
- Data snooping and p-hacking: over-optimization on historical data
- Transaction costs and liquidity constraints ignored
- Unrealistic rebalancing assumptions
- Regime changes and non-stationarity
- Cherry-picking favorable time periods
- Ignoring implementation constraints
Backtesting Best Practices
- Walk-forward analysis with out-of-sample testing
- Separating in-sample (training) and out-of-sample (testing) periods
- Rolling window vs. expanding window approaches
- Realistic transaction cost modeling (bid-ask spreads, market impact)
- Proper handling of data availability and point-in-time data
- Multiple performance metrics: Sharpe ratio, max drawdown, Calmar ratio, Sortino ratio, Benchmark-relative performance analysis
- Stress testing and Monte Carlo simulation
- Monte Carlo simulation for confidence intervals
Parameter Calibration
- Window size selection for rolling estimates: short-term responsiveness vs. long-term stability trade-offs
- Lookback periods for covariance matrix estimation (e.g., 36 months, 60 months, 120 months
- Tau parameter in exponentially-weighted (EW) statistics: decay factor calibration, half-life considerations, optimal tau for different asset classes
- Black-Litterman tau and omega parameter tuning
- Rebalancing frequency optimization: daily, weekly, monthly, quarterly trade-offs
- CVaR confidence level selection (90%, 95%, 99%)
- Black-Litterman tau and omega parameter tuning
- Cross-validation for optimal parameter selection
Robustness Checks
- Random parameter perturbations: systematically varying key parameters
- Monte Carlo parameter sampling: drawing parameters from reasonable distributions
- Resulting confidence ranges for portfolio weights and performance metrics
- Sensitivity analysis: identifying which parameters have largest impact on results
- Bootstrap resampling methods of historical data for distribution of outcomes
From Ad Hoc Calculations to Production Deployment
- Notebooks versus Python scripts
- Scheduling automated portfolio updates
- Error handling and logging
- Email notifications for regime changes
- Version control with Git/GitHub
- Documentation and handoff procedures
Closing Remarks & Q&A
Course Details
This course is also available in London Time Zone and New York Time Zone
- To run this course at your organisation, contact us.
Call now for more information on this course or to book:
Asia Pacific +65 3159 3707
You may also be interested in...
London Financial Studies is registered with GARP as an Approved Provider of Continuing Professional Development (CPD) credits.
