- Removed .coveragerc (test coverage config) - Removed pytest.ini (pytest config) - These should be in test/ directory or not needed - Keeps root directory clean for release Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Predix
AI-powered Quantitative Trading Agent for EUR/USD Forex
Installation • Quick Start • Configuration • Features
Overview
Predix is an autonomous AI agent for quantitative trading strategies in the EUR/USD forex market. Built on a multi-agent framework, Predix automates the full research and development cycle:
- 📊 Data Analysis – Automatically analyzes market patterns and microstructure
- 💡 Strategy Discovery – Proposes novel trading factors and signals
- 🧠 Model Evolution – Iteratively improves predictive models
- 📈 Backtesting – Validates strategies on historical 1-minute data
Predix is optimized for 1-minute EUR/USD FX data (2020–2026) and uses Qlib as the underlying backtesting engine.
Acknowledgments
This project draws inspiration from various open-source projects in the AI trading and multi-agent systems space. We thank all the authors for their innovative work that helped shape our understanding of these patterns.
Special thanks to:
-
Microsoft RD-Agent (MIT License) - Foundation for our autonomous R&D agent framework. We extend our gratitude to the RD-Agent team for their excellent foundational work.
-
TradingAgents (Apache 2.0 License) - Inspiration for our multi-agent debate system, reflection mechanism, and memory management modules.
-
ai-hedge-fund - Inspiration for macro analysis (Stanley Druckenmiller agent), risk management concepts, and market regime detection.
All code in Predix is originally written and implemented independently. Predix extends these frameworks with EUR/USD forex-specific features, 1-minute backtesting capabilities, comprehensive risk management, and trading dashboards.
Installation
Prerequisites
- Python 3.10 or 3.11
- Docker (required for sandboxed code execution)
- Linux (officially supported; macOS/Windows may work with adjustments)
Quick Install
# Install from PyPI
pip install predix
# Or install from source
git clone https://github.com/PredixAI/predix
cd predix
pip install -e .
Development Setup
# Create conda environment
conda create -n predix python=3.10
conda activate predix
# Install in editable mode with dev dependencies
make dev
Quick Start
1. Health Check
Verify your environment is properly configured:
rdagent health_check --no-check-env
2. Configure LLM Backend
Create a .env file in your project root:
# Example: OpenAI configuration
cat << EOF > .env
CHAT_MODEL=gpt-4o
EMBEDDING_MODEL=text-embedding-3-small
OPENAI_API_BASE=https://api.openai.com/v1
OPENAI_API_KEY=your-api-key-here
EOF
Alternative providers:
- Azure OpenAI: Set
AZURE_API_KEY,AZURE_API_BASE,AZURE_API_VERSION - DeepSeek: Use
CHAT_MODEL=deepseek/deepseek-chatwithDEEPSEEK_API_KEY - SiliconFlow (embedding): Use
EMBEDDING_MODEL=litellm_proxy/BAAI/bge-m3
3. Run Quantitative Trading Loop
# Full factor & model co-evolution
rdagent fin_quant
# Factor-only evolution
rdagent fin_factor
# Model-only evolution
rdagent fin_model
4. Monitor Results
# Start the UI dashboard
rdagent ui --port 19899 --log-dir log/ --data-science
Then open http://127.0.0.1:19899 in your browser.
Configuration
Data Configuration
Edit data_config.yaml to customize:
instrument: EURUSD
frequency: 1min
data_path: ~/.qlib/qlib_data/eurusd_1min_data
# Walk-forward split
train_start: "2022-03-14"
train_end: "2024-06-30"
valid_start: "2024-07-01"
valid_end: "2024-12-31"
test_start: "2025-01-01"
test_end: "2026-03-20"
# Market context for LLM prompts
market_context:
spread_bps: 1.5
target_arr: 9.62 # Target annual return (%)
max_drawdown: 20 # Max drawdown (%)
Environment Variables
| Variable | Description | Example |
|---|---|---|
CHAT_MODEL |
LLM for reasoning | gpt-4o, deepseek-chat |
EMBEDDING_MODEL |
Embedding model | text-embedding-3-small |
OPENAI_API_KEY |
API key for OpenAI | sk-... |
DEEPSEEK_API_KEY |
API key for DeepSeek | sk-... |
DS_LOCAL_DATA_PATH |
Local data directory | ./data |
Features
🔄 Iterative Factor Evolution
Predix continuously proposes, implements, and validates new alpha factors:
- Learns from backtest feedback
- Avoids overfitting through walk-forward validation
- Discovers non-obvious patterns in order flow, volatility, and session dynamics
🧠 Model Architecture Search
Automatically explores and refines predictive models:
- Linear baselines (LightGBM, XGBoost)
- Deep learning (LSTM, Transformer, Temporal CNN)
- Ensemble methods
📚 Knowledge Base
Built-in knowledge accumulation across loops:
- Successful factors are archived
- Failed attempts inform future proposals
- Cross-loop learning improves robustness
🖥️ Interactive UI
Real-time dashboard for monitoring:
- Factor performance metrics
- Model architecture evolution
- Cumulative returns and drawdowns
- Code diffs and implementation history
Project Structure
predix/
├── rdagent/ # Core agent framework
│ ├── app/ # CLI and scenario apps
│ ├── components/ # Reusable agent components
│ ├── core/ # Core abstractions
│ ├── scenarios/ # Domain-specific scenarios
│ └── utils/ # Utilities
├── constraints/ # Constraint definitions
├── docs/ # Documentation
├── web/ # Web UI frontend
├── data_config.yaml # Data configuration
├── pyproject.toml # Project metadata
└── requirements.txt # Dependencies
Data Setup
Predix uses 1-minute EUR/USD data. To prepare your dataset:
# Run the data setup script (if provided)
./setup_predix_eurusd.sh
# Or manually place data in:
# ~/.qlib/qlib_data/eurusd_1min_data/
Expected data columns: $open, $close, $high, $low, $volume
CLI Commands
| Command | Description |
|---|---|
rdagent fin_quant |
Full factor & model co-evolution |
rdagent fin_factor |
Factor-only evolution |
rdagent fin_model |
Model-only evolution |
rdagent fin_factor_report --report-folder=<path> |
Extract factors from financial reports |
rdagent general_model <paper-url> |
Extract model from research paper |
rdagent data_science --competition <name> |
Kaggle/data science competition mode |
rdagent ui --port 19899 --log-dir <path> |
Start monitoring dashboard |
rdagent health_check |
Validate environment setup |
Requirements
Core dependencies (see requirements.txt for full list):
- LLM:
openai,litellm - Data:
pandas,numpy,pyarrow - ML:
scikit-learn,lightgbm,xgboost - Backtesting:
qlib(via Docker) - UI:
streamlit,plotly,flask
License
This project is licensed under the MIT License – see the LICENSE file for details.
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
For major changes, please open an issue first to discuss your approach.
Citation
If you use Predix in your research, please cite the underlying framework:
@misc{yang2025rdagentllmagentframeworkautonomous,
title={R&D-Agent: An LLM-Agent Framework Towards Autonomous Data Science},
author={Yang, Xu and Yang, Xiao and Fang, Shikai and Zhang, Yifei and Wang, Jian and Xian, Bowen and Li, Qizheng and Li, Jingyuan and Xu, Minrui and Li, Yuante and others},
year={2025},
eprint={2505.14738},
archivePrefix={arXiv},
primaryClass={cs.AI}
}
Support
- Issues: GitHub Issues
- Documentation: Read the Docs
Disclaimer
Predix is provided "as is" for research and educational purposes only. It is not intended for:
- Live trading or financial advice
- Production use without thorough testing
- Replacement of qualified financial professionals
Users assume all liability and should comply with applicable laws and regulations in their jurisdiction. Past performance does not guarantee future results.