Inspiration

Loan stress testing is a critical part of credit risk management, yet it is still commonly performed using complex spreadsheets that are hard to maintain, difficult to explain, and slow to update. While exploring how banks evaluate loan risk, it became clear that there is a gap between traditional spreadsheet-based analysis and modern, interactive decision-support tools.

This project was inspired by the idea of making loan stress testing faster, clearer, and more explainable, while staying aligned with how credit teams actually work in practice.

What it does

Loan Stress Test Simulator is an interactive dashboard that helps users evaluate how a loan performs under different economic stress scenarios.

The application allows users to:

  • Enter loan and borrower financial details

  • Apply predefined stress scenarios such as interest rate shocks, revenue declines, and cost inflation

  • Calculate key credit risk metrics including DSCR, Debt / EBITDA, and Interest Coverage

  • Classify overall loan risk as Low, Medium, or High

  • Receive clear risk interpretation and recommended actions

  • Export a concise risk summary for reporting purposes

The focus is on decision support, not prediction.

How we built it

The project was built as a modular Streamlit application with a clear separation between user interface and business logic.

  • Streamlit was used to create a multi-page interactive dashboard

  • Financial calculations were implemented using transparent, rule-based logic

  • Predefined stress scenarios were modeled using configurable assumptions

  • Plotly was used for clear visual comparison of post-stress ratios

  • Session state was used to ensure consistent baseline and stress comparisons

The architecture was intentionally designed to be scalable and easy to extend to portfolio-level analysis in the future.

Challenges we ran into

One of the main challenges was managing application state across multiple pages while ensuring that stress tests were always applied to a clearly defined baseline. This required careful handling of session state to avoid unintended recalculations.

Another challenge was striking the right balance between providing enough financial detail for accuracy while keeping the interface simple and intuitive for non-technical users.

Deployment also required attention to file structure and configuration to ensure consistent behavior between local development and cloud hosting.

Accomplishments that we're proud of

  • Built a fully functional, deployed stress-testing tool within a short time frame

  • Designed an explainable, rule-based risk evaluation system suitable for lending environments

  • Created a clean, professional user interface aligned with real-world banking tools

  • Successfully deployed the application with a live demo link

  • Maintained a modular and scalable project structure

What we learned

Through this project, we gained a deeper understanding of:

  • How credit risk metrics are used in real lending decisions

  • The importance of explainability in financial risk tools

  • Designing interactive applications that prioritize clarity over complexity

  • Managing state and data consistency in multi-page applications

  • Deploying and maintaining live web applications

What's next for Loan Stress Test Simulator

  • Future enhancements could include:

  • Portfolio-level stress testing across multiple loans

  • Integration with internal bank data sources or APIs

  • Automated reporting in PDF format

  • Optional ML-based advisory risk signals while retaining explainable decision logic

  • Enhanced scenario customization for different industries

Built With

Share this project:

Updates