FinWorld: An All-in-One Open-Source Platform for End-to-End Financial AI Research and Deployment
See the code⚠️ Preview Version Notice: This is currently a preview version of FinWorld. Some code components are still being updated and may not be fully available in this repository. We appreciate your patience and look forward to providing the complete implementation soon. Thank you for your understanding!
FinWorld is a comprehensive, all-in-one open-source platform that provides end-to-end support for the entire financial AI workflow, from data acquisition to experimentation and deployment. Built on the foundation of unified AI paradigms, heterogeneous data integration, and advanced agent automation, FinWorld addresses the critical limitations of existing financial AI platforms.
Paper: FinWorld: An All-in-One Open-Source Platform for End-to-End Financial AI Research and Deployment (Arxiv) Website: FinWorld Project Website - Interactive demo and detailed results
Figure 1: Overview of FinWorld's comprehensive architecture and workflow
Our main contributions are threefold:
Unified Framework: We propose a unified, end-to-end framework for training and evaluation of ML, DL, RL, LLMs, and LLM agents, covering four critical financial AI task types including time series forecasting, algorithmic trading, portfolio management, and LLM applications.
Modular Design: The framework features a modular architecture that enables flexible construction of custom models and tasks, including the development of personalized LLM agents. The system supports efficient distributed training and testing across multiple environments.
Comprehensive Benchmark: We provide support for multimodal heterogeneous data with over 800 million samples, establishing a comprehensive benchmark for the financial AI community. Extensive experiments across four task types demonstrate the framework's flexibility and effectiveness.
conda create -n finworld python=3.11
conda activate finworld
# Install base dependencies
make install-base
# Install browser automation tools
make install-browser
# Install VERL framework
make install-verl
# Install Poetry
pip install poetry
# Install dependencies
poetry install
# Download DJ30 data (example)
python scripts/download/download.py --config configs/download/dj30/dj30_fmp_price_1day.py
python scripts/download/download.py --config configs/download/dj30/dj30_fmp_price_1min.py
# Train PPO trading models for multiple stocks
CUDA_VISIBLE_DEVICES=0 python scripts/rl_trading/train.py --config=configs/rl_trading/ppo/AAPL_ppo_trading.py
# Train PPO portfolio models for different indices
CUDA_VISIBLE_DEVICES=0 python scripts/rl_portfolio/train.py --config=configs/rl_portfolio/ppo/dj30_ppo_portfolio.py
# Run example scripts
bash examples/ppo_trading.sh
bash examples/ppo_portfolio.sh
bash examples/download.sh
Our comprehensive evaluation on DJ30 and HS300 datasets demonstrates the superiority of deep learning approaches:
RL-based methods demonstrate clear advantages in trading performance:
RL-based portfolio optimization shows significant improvements:
Our FinReasoner model demonstrates state-of-the-art performance:
FinWorld employs a layered, object-oriented architecture with seven core layers:
mmengine for unified experiment managementFinWorld/
├── configs/ # Configuration files
│ ├── _asset_list_/ # Asset list configurations
│ ├── agent/ # Agent configurations
│ ├── download/ # Data download configurations
│ ├── finreasoner/ # Financial reasoning configs
│ ├── ml_portfolio/ # ML portfolio configurations
│ ├── ml_trading/ # ML trading configurations
│ ├── process/ # Data processing configurations
│ ├── rl_portfolio/ # RL portfolio configurations
│ ├── rl_trading/ # RL trading configurations
│ ├── rule_portfolio/ # Rule-based portfolio configs
│ ├── rule_trading/ # Rule-based trading configs
│ ├── storm/ # Storm framework configs
│ ├── time/ # Time series model configs
│ └── vae/ # VAE model configurations
├── finworld/ # Core framework
│ ├── agent/ # Multi-agent system
│ ├── base/ # Base classes and utilities
│ ├── calendar/ # Calendar management
│ ├── config/ # Configuration management
│ ├── data/ # Data processing modules
│ ├── diffusion/ # Diffusion models
│ ├── downloader/ # Data downloaders
│ ├── downstream/ # Downstream tasks
│ ├── environment/ # Trading environments
│ ├── evaluator/ # Evaluation metrics
│ ├── exception/ # Exception handling
│ ├── factor/ # Factor models
│ ├── log/ # Logging system
│ ├── loss/ # Loss functions
│ ├── memory/ # Memory management
│ ├── metric/ # Performance metrics
│ ├── models/ # AI models and architectures
│ ├── mverl/ # Multi-agent VERL
│ ├── optimizer/ # Optimization algorithms
│ ├── plot/ # Visualization tools
│ ├── processor/ # Data processors
│ ├── proxy/ # Proxy management
│ ├── reducer/ # Dimensionality reduction
│ ├── scheduler/ # Task scheduling
│ ├── task/ # Task definitions
│ ├── tools/ # Utility tools and integrations
│ ├── trainer/ # Training frameworks
│ ├── trajectory/ # Trajectory management
│ ├── utils/ # Utility functions
│ └── verify/ # Verification tools
├── scripts/ # Training and execution scripts
├── examples/ # Example usage scripts
├── tests/ # Unit tests
├── libs/ # External libraries (VERL)
├── res/ # Resources and assets
└── tools/ # Development tools
FinWorld uses a flexible configuration system based on YAML files and the mmengine framework:
We welcome contributions from the research community! Please follow these guidelines:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
We thank the following organizations and tools for their contributions:
For questions, issues, or contributions:
docs/ directoryexamples/ directoryIf you find FinWorld useful in your research, please cite our paper:
@article{zhang2025finworld,
title={FinWorld: An All-in-One Open-Source Platform for End-to-End Financial AI Research and Deployment},
author={Zhang, Wentao and Zhao, Yilei and Zong, Chuqiao and Wang, Xinrun and An, Bo},
journal={arXiv preprint arXiv:2508.02292},
year={2025}
}
Visit our interactive project website for detailed results, visualizations, and comprehensive documentation:
https://dvampire.github.io/FinWorld/
The website features:
FinWorld - Empowering Financial AI Research and Applications
Built with ❤️ by the FinWorld Team
21 commits
JavaScript
38.6%
Python
36.3%
Fluent
22.2%
CSS
2.2%
FinWorld: An All-in-One Open-Source Platform for End-to-End Financial AI Research and Deployment
See the code⚠️ Preview Version Notice: This is currently a preview version of FinWorld. Some code components are still being updated and may not be fully available in this repository. We appreciate your patience and look forward to providing the complete implementation soon. Thank you for your understanding!
FinWorld is a comprehensive, all-in-one open-source platform that provides end-to-end support for the entire financial AI workflow, from data acquisition to experimentation and deployment. Built on the foundation of unified AI paradigms, heterogeneous data integration, and advanced agent automation, FinWorld addresses the critical limitations of existing financial AI platforms.
Paper: FinWorld: An All-in-One Open-Source Platform for End-to-End Financial AI Research and Deployment (Arxiv) Website: FinWorld Project Website - Interactive demo and detailed results
Figure 1: Overview of FinWorld's comprehensive architecture and workflow
Our main contributions are threefold:
Unified Framework: We propose a unified, end-to-end framework for training and evaluation of ML, DL, RL, LLMs, and LLM agents, covering four critical financial AI task types including time series forecasting, algorithmic trading, portfolio management, and LLM applications.
Modular Design: The framework features a modular architecture that enables flexible construction of custom models and tasks, including the development of personalized LLM agents. The system supports efficient distributed training and testing across multiple environments.
Comprehensive Benchmark: We provide support for multimodal heterogeneous data with over 800 million samples, establishing a comprehensive benchmark for the financial AI community. Extensive experiments across four task types demonstrate the framework's flexibility and effectiveness.
conda create -n finworld python=3.11
conda activate finworld
# Install base dependencies
make install-base
# Install browser automation tools
make install-browser
# Install VERL framework
make install-verl
# Install Poetry
pip install poetry
# Install dependencies
poetry install
# Download DJ30 data (example)
python scripts/download/download.py --config configs/download/dj30/dj30_fmp_price_1day.py
python scripts/download/download.py --config configs/download/dj30/dj30_fmp_price_1min.py
# Train PPO trading models for multiple stocks
CUDA_VISIBLE_DEVICES=0 python scripts/rl_trading/train.py --config=configs/rl_trading/ppo/AAPL_ppo_trading.py
# Train PPO portfolio models for different indices
CUDA_VISIBLE_DEVICES=0 python scripts/rl_portfolio/train.py --config=configs/rl_portfolio/ppo/dj30_ppo_portfolio.py
# Run example scripts
bash examples/ppo_trading.sh
bash examples/ppo_portfolio.sh
bash examples/download.sh
Our comprehensive evaluation on DJ30 and HS300 datasets demonstrates the superiority of deep learning approaches:
RL-based methods demonstrate clear advantages in trading performance:
RL-based portfolio optimization shows significant improvements:
Our FinReasoner model demonstrates state-of-the-art performance:
FinWorld employs a layered, object-oriented architecture with seven core layers:
mmengine for unified experiment managementFinWorld/
├── configs/ # Configuration files
│ ├── _asset_list_/ # Asset list configurations
│ ├── agent/ # Agent configurations
│ ├── download/ # Data download configurations
│ ├── finreasoner/ # Financial reasoning configs
│ ├── ml_portfolio/ # ML portfolio configurations
│ ├── ml_trading/ # ML trading configurations
│ ├── process/ # Data processing configurations
│ ├── rl_portfolio/ # RL portfolio configurations
│ ├── rl_trading/ # RL trading configurations
│ ├── rule_portfolio/ # Rule-based portfolio configs
│ ├── rule_trading/ # Rule-based trading configs
│ ├── storm/ # Storm framework configs
│ ├── time/ # Time series model configs
│ └── vae/ # VAE model configurations
├── finworld/ # Core framework
│ ├── agent/ # Multi-agent system
│ ├── base/ # Base classes and utilities
│ ├── calendar/ # Calendar management
│ ├── config/ # Configuration management
│ ├── data/ # Data processing modules
│ ├── diffusion/ # Diffusion models
│ ├── downloader/ # Data downloaders
│ ├── downstream/ # Downstream tasks
│ ├── environment/ # Trading environments
│ ├── evaluator/ # Evaluation metrics
│ ├── exception/ # Exception handling
│ ├── factor/ # Factor models
│ ├── log/ # Logging system
│ ├── loss/ # Loss functions
│ ├── memory/ # Memory management
│ ├── metric/ # Performance metrics
│ ├── models/ # AI models and architectures
│ ├── mverl/ # Multi-agent VERL
│ ├── optimizer/ # Optimization algorithms
│ ├── plot/ # Visualization tools
│ ├── processor/ # Data processors
│ ├── proxy/ # Proxy management
│ ├── reducer/ # Dimensionality reduction
│ ├── scheduler/ # Task scheduling
│ ├── task/ # Task definitions
│ ├── tools/ # Utility tools and integrations
│ ├── trainer/ # Training frameworks
│ ├── trajectory/ # Trajectory management
│ ├── utils/ # Utility functions
│ └── verify/ # Verification tools
├── scripts/ # Training and execution scripts
├── examples/ # Example usage scripts
├── tests/ # Unit tests
├── libs/ # External libraries (VERL)
├── res/ # Resources and assets
└── tools/ # Development tools
FinWorld uses a flexible configuration system based on YAML files and the mmengine framework:
We welcome contributions from the research community! Please follow these guidelines:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
We thank the following organizations and tools for their contributions:
For questions, issues, or contributions:
docs/ directoryexamples/ directoryIf you find FinWorld useful in your research, please cite our paper:
@article{zhang2025finworld,
title={FinWorld: An All-in-One Open-Source Platform for End-to-End Financial AI Research and Deployment},
author={Zhang, Wentao and Zhao, Yilei and Zong, Chuqiao and Wang, Xinrun and An, Bo},
journal={arXiv preprint arXiv:2508.02292},
year={2025}
}
Visit our interactive project website for detailed results, visualizations, and comprehensive documentation:
https://dvampire.github.io/FinWorld/
The website features:
FinWorld - Empowering Financial AI Research and Applications
Built with ❤️ by the FinWorld Team
21 commits
JavaScript
38.6%
Python
36.3%
Fluent
22.2%
CSS
2.2%