
Quantify and communicate market risk with a practical Python workflow from raw data to a decision-ready risk report. Focus on downside risk, VAR limitations, and stress testing.
Preview a final market risk report covering value-at-risk, tail losses, drawdowns, and stress testing to translate market moves into concrete P&L impacts for risk decisions.
Load and prepare market data in Python by fetching SPY prices, computing daily simple returns, and cleaning data to form the foundation for all risk models.
Compute historical VaR from the empirical return distribution at 95% and 99% confidence using 5th and 1st percentiles; convert to currency by multiplying by portfolio value, noting transparency and limitations.
Compute parametric VaR under a normal distribution using the sample mean and volatility, and compare it with historical VaR to discuss tail risk, fat tails, and backtesting.
Backtest a historical 95% VAR with a constant threshold by counting exceptions where realized losses exceed the threshold and compare the observed exception rate to the expected 5%.
Examine tail risk and how worst 1% losses exceed var. Learn how tail risk complements var and informs capital planning and stress testing during extreme market conditions.
Explore forward-looking stress testing by applying simple market shocks to quantify portfolio P&L, compare hypothetical scenarios with historical stress days, and see how stress testing complements VAR and tail risk.
Examine how drawdowns capture persistent declines from prior peaks, highlight the maximum drawdown of about 33.7%, and show how they complement VAR, tail risk, and stress testing.
Assemble the market risk report to unify value at risk, drawdowns, and stress testing. Compare historical and parametric VAR, worst 1% losses, and maximum drawdown to reveal exposure.
Explain how market risk reports guide portfolio managers, risk managers, risk committees, and senior management in monitoring exposure, limits, and drawdowns under scenarios with VaR, stress testing, and tail risk.
Explore limitations of market risk models, including distributional assumptions, fat tails, regime shifts, correlations under stress, and limits of value at risk, acknowledging model risk and monitoring with judgment.
Extend market risk modeling to multi-asset portfolios, incorporating correlation effects, diversification and concentration risk, and explore Monte Carlo methods with expected shortfall for tail losses.
Market Risk & Stress Testing in Python is a practical, career-focused course that teaches you how banks and institutional risk teams measure, report, and communicate market risk.
You will build end-to-end Value at Risk (VaR), tail risk, and stress testing workflows in Python, starting from raw market data and finishing with a professional risk report similar to those used in front office risk, market risk, and quantitative risk roles.
This course focuses on implementation, interpretation, and reporting — not trading strategies, alpha generation, or academic derivations.
You’ll learn how to:
• Load and prepare market data the way risk teams do
• Analyze return distributions and understand fat tails
• Build historical and parametric VaR models
• Backtest VaR and interpret exceptions for governance
• Measure tail losses beyond VaR
• Run hypothetical and historical stress scenarios
• Analyze drawdowns and worst-case periods
• Consolidate everything into a clear market risk summary table
Throughout the course, every concept is tied back to real-world usage, including risk limits, reporting cycles, management decision support, and model limitations.
This course is ideal for students, analysts, quants, and developers who want job-relevant Python skills in market risk, stress testing, and financial risk management — the exact skills demanded by banks, asset managers, and institutional risk teams.