subhasreeee/loan-underwriting-env
1
Loan Underwriting Environment
An reinforcement learning environment where an AI agent acts as a loan underwriting officer. The agent evaluates real-world applicant profiles and makes financial decisions — approve, reject, or counter-offer — while managing portfolio risk and avoiding predatory lending.
Built for the Meta OpenEnv Hackathon.
Why This Environment?
Loan underwriting is a $100B+ problem. Banks and fintechs use ML models to evaluate creditworthiness, but training and evaluating these agents requires realistic, structured environments. This environment fills that gap — providing a rigorous, graded RL environment for financial decision-making agents.
Tasks
Observation Space
{
"applicant_id": "string",
"age": "integer",
"annual_income": "float",
"credit_score": "integer",
"debt_to_income_ratio": "float",
"employment_years": "float",
"loan_amount_requested": "float",
"loan_purpose": "string",
"task_id": "string",
"difficulty": "string",
"message": "string"
}Action Space
{
"decision": "approve | reject | counter_offer",
"approved_amount": "float",
"interest_rate": "float",
"reason": "string"
}Reward Function
- Partial credit for correct risk assessment
- Penalized for approving predatory loan purposes (crypto, gambling)
- Penalized for exceeding capital pool in batch task
- Bonus for good reasoning on hard cases
- Score range: 0.01 – 0.98
Baseline Scores
Setup
pip install -r requirements.txtRun Baseline
python inference.pyAPI Endpoints
Environment Variables
APIBASEURL=https://api.groq.com/openai/v1 MODELNAME=llama-3.3-70b-versatile HFTOKEN=yourhuggingfacetoken
Docker
docker build -t loan-underwriting-env .
docker run -p 7860:7860 loan-underwriting-env