SimTradeML is a modular, cloud-ready framework for training, evaluating, and deploying machine learning models in financial simulation environments. It serves as the predictive engine behind the SimTrade ecosystem, bridging raw data from SimTradeData and strategy logic in SimTradeLab.
SimTradeML provides reusable ML pipelines and model services tailored for financial workflows. It enables:
- Time series forecasting, classification, and regression for market signals
- Model packaging as RESTful APIs for strategy integration
- Cloud-native deployment via AWS CDK and GitLab CI
- Feedback loops between strategy performance and model retraining
simtradeML/
├── forecast_engine/ # ML models: ARIMA, Prophet, LSTM, XGBoost, etc.
├── model_api/ # FastAPI endpoints for model inference
├── data_ingest/ # ETL pipelines consuming SimTradeData outputs
├── infra/ # AWS CDK / Terraform templates for deployment
├── ci_pipeline/ # GitLab CI/CD scripts
├── notebooks/ # Exploratory analysis and prototyping
├── tests/ # Unit and integration tests
└── README.md
SimTradeML is designed to work seamlessly with other SimTrade modules:
Module | Role | Integration Method |
---|---|---|
SimTradeData | Provides structured financial data | API / local DB |
SimTradeLab | Consumes model outputs for strategies | .pkl / .h5 files or API |
Ptrade | Embeds trained models in strategy code | Upload to research tab or call via script |
git clone https://github.com/ykayz/SimTradeML.git
cd SimTradeML
pip install -r requirements.txt
python forecast_engine/train_xgboost.py
uvicorn model_api.main:app --reload
Train a volatility prediction model using ETF data from SimTradeData, deploy it as an API, and call it from a SimTradeLab strategy to generate dynamic position sizing signals.
- Python, scikit-learn, XGBoost, statsmodels
- FastAPI, Docker, AWS CDK
- GitLab CI/CD
- Streamlit (optional dashboard)
- Jupyter Notebooks for prototyping
Actively evolving. Initial modules include:
- ETF volatility prediction
- Trend classification
- Strategy-model feedback loop prototype
Contributions are welcome! Please submit issues or pull requests for:
- New model types
- Deployment templates
- Strategy integration examples
- Documentation improvements
MIT License. See LICENSE for details.