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
Log in or sign up for Devpost to join the conversation.