User Guide¶
Welcome to the scikit-agent user guide! This comprehensive guide will help you get started with building, solving, and simulating economic models using scikit-agent.
Getting Started¶
If you’re new to scikit-agent, start here:
Installation - Install scikit-agent and set up your environment
Quickstart Guide - Build and simulate your first model in minutes
Core Concepts¶
Learn about the fundamental concepts and components:
Models Guide - Understanding model structure and building custom models
Algorithms Guide - Solution methods for solving your models
Simulation Guide - Monte Carlo simulation and analysis
What is scikit-agent?¶
scikit-agent is a Python package for agent-based economic modeling that follows scikit-learn conventions. It provides:
🧱 Modular Architecture: Build models using composable “blocks” that represent different stages or aspects of economic behavior.
🔬 Multiple Solution Methods: Choose from value function iteration, neural networks, and other modern computational approaches.
📊 Rich Simulation Tools: Generate synthetic data with powerful Monte Carlo simulators that handle heterogeneity, aging, and complex dynamics.
🐍 Pythonic API: Familiar patterns for Python users with clear, readable code.
Key Design Principles¶
Block-Based Models¶
Models are composed of DBlocks (Dynamic Blocks) that capture:
Shocks: Random variables affecting agents
Dynamics: State transition equations
Controls: Decision variables agents optimize
Rewards: Objective functions to maximize
Flexible Calibration¶
Parameters can be:
Simple numbers:
"CRRA": 2.0
Mathematical expressions:
"utility": "c**(1-gamma)/(1-gamma)"
Age-varying sequences:
"income": [1.0, 1.2, 1.1, 0.8]
Topics Covered¶
Need Help?¶
Examples: Browse the Examples for complete working examples
API Reference: See API Reference for detailed class and function documentation
GitHub Issues: Report bugs or request features at github.com/scikit-agent/scikit-agent
Contributing¶
scikit-agent is an open-source project and welcomes contributions! Whether you’re:
Reporting bugs
Suggesting new features
Contributing code
Improving documentation
Sharing examples
See our contribution guidelines in the repository for how to get involved.
Ready to get started? Head to the Quickstart Guide guide!