Skip to content

About

An AI-powered financial trading system that combines Machine Learning, Reinforcement Learning, portfolio optimization, risk management, backtesting, and an interactive Streamlit dashboard to support data-driven trading decisions.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

ย 
ย 

Latest commit

ย 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Autonomous AI Financial Trading & Portfolio System

Python Version Streamlit XGBoost Stable-Baselines3 License

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.


๐Ÿ“Œ Executive Summary

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).


โœจ Key Features

๐Ÿ”ฎ Predictive Machine Learning Engine

  • 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).

๐Ÿค– Deep Reinforcement Learning (PPO)

  • 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.

๐Ÿ›ก๏ธ Quantitative Risk Management

  • 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).

๐Ÿ’ผ Portfolio Optimization & Asset Allocation

  • 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.

๐Ÿ“ˆ Backtesting & Walk-Forward Validation

  • 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.

๐Ÿ—๏ธ System Architecture & Workflow

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
Loading

๐Ÿ–ฅ๏ธ Interactive Streamlit Dashboard

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.

๐Ÿ“‚ Repository Structure

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

๐Ÿš€ Quickstart & Installation

1๏ธโƒฃ Prerequisites

  • Python 3.10 or higher installed.
  • git version control system.

2๏ธโƒฃ Clone Repository & Setup Virtual Environment

# 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/activate

3๏ธโƒฃ Install Dependencies

pip install --upgrade pip
pip install -r requirements.txt

๐Ÿ’ป Usage & Execution

Option A: Run End-to-End Pipeline

To 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.py

Output artifacts (charts, metrics reports, prediction files, saved models) will be exported to outputs/ and saved_models/.

Option B: Launch Interactive Dashboard

To launch the Streamlit web dashboard:

streamlit run dashboard/app.py

Then open http://localhost:8501 in your browser.


๐Ÿ“Š Key Evaluation Metrics

Metric Target / Description
Sharpe Ratio Risk-adjusted return benchmarked against risk-free rate ($\ge 1.0$ desired).
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 ($> 1.0$ indicates profitability).
Win Rate % Percentage of executed trades yielding positive return.
Walk-Forward MAE/MSE Out-of-sample prediction accuracy across sliding time windows.

๐Ÿ—บ๏ธ Future Roadmap

  • 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.

โš ๏ธ Disclaimer

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.


๐Ÿ‘ฅ Authors & Contributors

If you find this repository valuable, please consider giving it a โญ on GitHub!

About

An AI-powered financial trading system that combines Machine Learning, Reinforcement Learning, portfolio optimization, risk management, backtesting, and an interactive Streamlit dashboard to support data-driven trading decisions.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages