TaxationPolicyRL is a Reinforcement Learning (RL) project focused on simulating and optimizing wealth taxation policies using various RL algorithms. The project utilizes a custom Gym environment to model the taxation system and applies algorithms like PPO and SAC to optimize policy decisions.
This project was supervised by collaboration with researchers form Bank of Italy Aldo Glielmo and Valerio Astuti.
- Python 3.8 or higher
- pip (Python package manager)
- Clone the Repository
git clone https://github.com/valinsogna/GovTaxOptimal_RL.git
- Install dependencies:
pip install -r requirements.txt
- Modify the
config.py
to change model configurations, including the choice of RL algorithm, policy type, and total timesteps. - Enable or disable Weights & Biases logging through the configuration prompts.
- Run the main script to start training:
python main.py
- Run the main script with settings configured in config.json file:
python main.py -f config.json
- The project includes an evaluation script to assess the performance of the trained model.
src/
: Source code for the project including the RL models and utilities.TaxationEnv.py
: Custom Gym environment for the taxation policy simulation.model.py
: Model manager for initializing various RL models.config.py
: Configuration script for setting up model parameters and options.requirements.txt
: List of dependencies for the project.README.md
: This file, containing project information and instructions.results/
: Folder for results storage.baseline/
: Comparable baseline algorithm Multi-Objective PSO.
I extend my deepest gratitude to the Banca d'Italia for their invaluable collaboration on the TaxationPolicyRL project. Special thanks are due to Aldo Glielmo and Valerio Astuti from the ART division for their expert insights and contributions. Their support and guidance were instrumental in shaping the research and outcomes of this project.