An institutional-grade, end-to-end quantitative trading system integrating Machine Learning Return Forecasting, Deep Reinforcement Learning (PPO), Volatility Risk Control, Markowitz Portfolio Optimization, and Walk-Forward Validation, accompanied by an interactive Streamlit Visual Analytics Dashboard.
The AI Financial Trading System is designed to eliminate emotional bias and maximize risk-adjusted returns in dynamic market environments. By leveraging market data from Yahoo Finance, the platform computes comprehensive technical indicators, forecasts returns using gradient boosted trees (XGBoost), applies GARCH-based volatility risk filters, trains autonomous trading agents via Proximal Policy Optimization (PPO), and optimizes multi-asset allocations via Modern Portfolio Theory (MPT).
- XGBoost & Random Forest Regressors for directional return prediction.
- Optuna Hyperparameter Optimization for automated model tuning.
- Feature Engineering Pipeline:
- Momentum & Trend: RSI, MACD & Signal Line, EMA (10/20/50), SMA (10/20/50), Momentum.
- Volatility & Range: Bollinger Bands (High/Low), Average True Range (ATR), Rolling Standard Deviation, Daily Price Range.
- Volume & Liquidity: Volume Change %, Volume Moving Averages.
- Autoregressive Lags: Multi-period lagged return features (Lag 1, 2, 3, 5).
- Custom Gymnasium Trading Environment simulating discrete position sizing, realistic account cash management, transaction costs, and portfolio liquidations.
- Stable-Baselines3 Proximal Policy Optimization (PPO) agent trained on high-dimensional feature spaces.
- Reward Engineering penalizing drawdown and rewarding risk-adjusted capital accumulation.
- GARCH Volatility Forecasting for dynamic regime detection.
- Adaptive Risk Filtering: Automatically neutralizes trading signals during high-volatility regimes exceeding historical variance thresholds.
- Transaction Cost Modeling: Deducts realistic execution fees (e.g., 10 bps per trade entry/exit).
- Modern Portfolio Theory (MPT) / Markowitz Mean-Variance Optimization.
- Optimal weight calculation for multi-asset universes (e.g.,
AAPL,MSFT,GOOG). - Efficient Frontier evaluation balancing expected return and portfolio variance.
- Event-Driven & Vectorized Backtesting Engine.
- Benchmark comparison against traditional Buy & Hold strategies.
- Walk-Forward Cross-Validation to prevent lookahead bias and overfitting.
- Metrics calculated: Sharpe Ratio, Sortino Ratio, Max Drawdown, CAGR, Win Rate %, Profit Factor, MAE, and MSE.
flowchart TD
A[๐ Yahoo Finance Data Ingestion] --> B[โ๏ธ Feature Engineering & Technical Indicators]
B --> C[๐งช Walk-Forward Validation Split]
C --> D[๐ฎ XGBoost / Random Forest Return Forecasting]
C --> E[๐ก๏ธ GARCH Volatility Risk Filter]
D --> F[๐ฆ Signal Generation - Buy / Sell / Hold]
E --> F
F --> G[๐ Event-Driven Backtesting Engine]
G --> H[๐ผ Markowitz Portfolio Optimization]
B --> I[๐ค Custom Gymnasium Environment]
I --> J[๐ง PPO Reinforcement Learning Agent]
G --> K[๐ฅ๏ธ Streamlit Analytics Dashboard]
J --> K
H --> K
The system includes a dark-themed, responsive dashboard built with Streamlit and Plotly/Matplotlib, organized into modular views:
| View Module | Description |
|---|---|
| ๐ Executive Overview | High-level system KPI metrics, active asset summaries, and strategy performance snapshots. |
| ๐ Market Analysis | Price history, candlestick visuals, technical indicator breakdown (RSI, MACD, Bollinger Bands). |
| ๐ฎ Machine Learning | Real-time prediction comparison (Actual vs. Predicted) and XGBoost feature importance rankings. |
| ๐ก๏ธ Risk Analytics | Volatility distribution, historical drawdown curves, and risk-filtered trading activity. |
| ๐ Backtesting Engine | Strategy equity curve vs. Buy & Hold benchmark, drawdown profile, and trade log metrics. |
| ๐ค RL Agent (PPO) | Agent reward convergence curves, policy actions, and reinforcement learning performance stats. |
| ๐ผ Portfolio Optimization | Optimal multi-asset weight allocations, risk-return trade-off metrics, and asset correlations. |
| โน๏ธ System Info & About | Technical architecture documentation, hyperparameter configurations, and model metadata. |
AI-Financial-Trading-System/
โโโ .streamlit/
โ โโโ config.toml # Streamlit UI configuration & dark theme
โโโ backtesting/
โ โโโ performance_metrics.py # Sharpe, Sortino, Drawdown, CAGR calculations
โ โโโ strategy.py # Risk filter & signal application
โโโ config/
โ โโโ settings.py # Global system configuration & constants
โโโ dashboard/
โ โโโ components/ # Reusable UI components (Cards, Charts, Metrics, Tables, Sidebar)
โ โโโ styles/ # Dashboard styling & color tokens (theme.py)
โ โโโ utils/ # Data loaders, state management & formatting helpers
โ โโโ views/ # View pages (Home, Market, ML, Risk, Backtest, RL, Portfolio, About)
โ โโโ app.py # Main Streamlit Dashboard entry point
โโโ data/
โ โโโ cache/ # Cached raw market downloads
โ โโโ processed/ # Feature-engineered dataset exports
โโโ features/
โ โโโ feature_engineering.py # Technical indicator computation pipeline
โโโ models/
โ โโโ hyperparameter_tuning.py # Optuna optimization scripts
โ โโโ portfolio_optimizer.py # Markowitz mean-variance optimization
โ โโโ xgb_model.py # XGBoost model definitions
โโโ outputs/
โ โโโ charts/ # Generated equity curves & feature importance charts
โ โโโ predictions/ # Output prediction CSVs
โ โโโ reports/ # Generated metrics logs & portfolio weight exports
โโโ risk/
โ โโโ volatility_model.py # GARCH / Volatility modeling & risk controls
โโโ rl_agents/
โ โโโ trading_env.py # Custom Gymnasium financial trading environment
โ โโโ train_rl.py # PPO model training pipeline
โ โโโ evaluate_rl.py # Agent evaluation script
โโโ saved_models/ # Trained model artifacts (.pkl, .zip)
โโโ validation/
โ โโโ walk_forward.py # Walk-forward cross-validation engine
โโโ main.py # Complete end-to-end execution pipeline script
โโโ requirements.txt # Project dependencies
โโโ README.md # Project documentation
- Python 3.10 or higher installed.
gitversion control system.
# Clone the repository
git clone https://github.com/Jeel-Pipaliya/AI-Financial-Trading-System.git
cd AI-Financial-Trading-System
# Create a virtual environment
python -m venv venv
# Activate the virtual environment
# On Windows (PowerShell):
.\venv\Scripts\Activate.ps1
# On Linux/macOS:
source venv/bin/activatepip install --upgrade pip
pip install -r requirements.txtTo run data downloading, feature engineering, walk-forward validation, XGBoost training, risk filtering, backtesting, portfolio optimization, and PPO RL agent training in one command:
python main.pyOutput artifacts (charts, metrics reports, prediction files, saved models) will be exported to outputs/ and saved_models/.
To launch the Streamlit web dashboard:
streamlit run dashboard/app.pyThen open http://localhost:8501 in your browser.
| Metric | Target / Description |
|---|---|
| Sharpe Ratio | Risk-adjusted return benchmarked against risk-free rate ( |
| Sortino Ratio | Risk-adjusted return measuring downside volatility specifically. |
| Max Drawdown (MDD) | Peak-to-trough drop in equity curve; assesses capital preservation. |
| CAGR | Compound Annual Growth Rate over the evaluation timeframe. |
| Profit Factor | Ratio of Gross Profits to Gross Losses ( |
| Win Rate % | Percentage of executed trades yielding positive return. |
| Walk-Forward MAE/MSE | Out-of-sample prediction accuracy across sliding time windows. |
- Multi-Asset Multi-Target Deep Learning: LSTM & Transformer models for multi-ticker return prediction.
- Live Execution API Integrations: Interactive Brokers / Alpaca Paper Trading integration.
- NLP Sentiment Analysis: Real-time news headlines & social sentiment filtering (BERT/FinBERT).
- Advanced RL Algorithms: SAC (Soft Actor-Critic) & TD3 integration for continuous action spaces.
- Real-time WebSockets: Automated live data streaming and alert triggers.
Warning
This repository is developed strictly for educational, academic, and research purposes. Financial trading involves substantial risk of capital loss. Nothing contained in this project constitutes financial, investment, or legal advice. Always conduct independent research and consult a licensed financial advisor before engaging in live trading.
- Aayush Savaliya - GitHub Profile
- Jeel Pipaliya โ GitHub Profile
If you find this repository valuable, please consider giving it a โญ on GitHub!