This project is a synthetic multi-scenario stress testing and forecasting dashboard built in Python and Streamlit.
It demonstrates how to:
- Generate synthetic multi-year financial data for several support functions (technology, real estate, finance, HR, legal).
- Project Base Case, Moderate Stress, and Severe Stress scenarios over a configurable multi-quarter horizon.
- Calculate key risk and performance metrics such as capital ratio, efficiency ratio, cumulative stressed losses, and Risk Appetite breaches.
- Produce visual dashboards and autogenerated PowerPoint / PDF summaries for management-style reporting.
-
Synthetic financial data generator
- Quarterly headcount, compensation and non-comp expenses
- Internal recoveries / allocated revenue
- Simple capital and RWA proxy
-
Scenario engine
- User-defined annual shocks to revenue and expenses
- Base / Moderate / Severe stress, each projected over 4–12 quarters
- Capital evolution with losses and a configurable capital floor
-
Risk Appetite & KPIs
- Capital ratio vs. minimum threshold
- Efficiency ratio (expense / revenue) vs. maximum threshold
- Cumulative losses and number of breaches across the horizon
-
Reporting & Automation
- Interactive Streamlit dashboard with charts and tables
- One-click PowerPoint and PDF summary exports
- Separate Model Documentation tab with methodology, controls, and limitations
- Python
- Streamlit
- Pandas / NumPy
- Plotly
- python-pptx (PowerPoint export)
- reportlab (PDF export)
-
Clone the repository:
git clone https://github.com/<your-username>/ccar-stress-testing.git cd ccar-stress-testing
Nitin Madagi | GitHub | Portfolio
This project is licensed under the MIT License.