Skip to content

GamePointAnalytics/QuantTradingSystem

Repository files navigation

Quantitative Trading System

An institutional-grade quantitative trading system combining classical finance methods (Black-Scholes, Greeks, statistical arbitrage) with modern machine learning approaches for intraday trading on equities, derivatives, and futures.

🎯 Purpose

This system is designed for research and learning, helping you understand:

  • Quantitative finance concepts (Black-Scholes, Greeks, portfolio theory)
  • Statistical arbitrage strategies (pairs trading, mean reversion)
  • Machine learning for alpha generation
  • Risk management and portfolio optimization
  • Backtesting methodologies

🏗️ Architecture

Finance/
├── config/          # Configuration and logging
├── data/            # Data fetching and storage
├── strategies/      # Trading strategies (classical & ML)
├── derivatives/     # Options pricing and Greeks
├── execution/       # Order management and risk
├── backtesting/     # Backtesting frameworks
├── portfolio/       # Portfolio optimization
├── utils/           # Utilities and indicators
└── notebooks/       # Educational Jupyter notebooks

🚀 Quick Start

Installation

# Create virtual environment
python -m venv venv

# Activate (Windows)
venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Run Your First Strategy

from data.fetcher import YahooDataFetcher
from strategies.classical.pairs_trading import PairsTradingStrategy
from backtesting.vectorized import VectorizedBacktester

# Fetch data
fetcher = YahooDataFetcher()
data = fetcher.get_daily_data(['PEP', 'KO'], start='2020-01-01', end='2024-01-01')

# Initialize strategy
strategy = PairsTradingStrategy(stock_a='PEP', stock_b='KO')

# Backtest
backtester = VectorizedBacktester(strategy, data)
results = backtester.run()

# Analyze
print(f"Total Return: {results.total_return:.2%}")
print(f"Sharpe Ratio: {results.sharpe_ratio:.2f}")
print(f"Max Drawdown: {results.max_drawdown:.2%}")

📚 Educational Notebooks

  1. Black-Scholes Explained - Options pricing from first principles
  2. Greeks Visualization - Interactive Greeks surface plots
  3. Pairs Trading Tutorial - Statistical arbitrage step-by-step
  4. ML Alpha Generation - Building machine learning signals
  5. Backtesting Examples - Strategy development workflow

🔑 Key Features

Classical Quantitative Methods

  • Black-Scholes-Merton Model: European options pricing
  • Greeks Calculator: Delta, Gamma, Vega, Theta, Rho
  • Pairs Trading: Cointegration-based arbitrage
  • Mean Reversion: Bollinger Bands, RSI strategies
  • Momentum: Moving average crossovers, breakouts
  • Volatility Models: GARCH, realized volatility

Machine Learning

  • LSTM Prediction: Deep learning for price forecasting
  • Ensemble Models: Random Forest, XGBoost, Linear models
  • Regime Detection: HMM for market state identification
  • Feature Engineering: Technical indicators, microstructure features

Risk Management

  • Position Sizing: Kelly criterion, volatility scaling, risk parity
  • Risk Metrics: VaR, CVaR, maximum drawdown
  • Portfolio Optimization: Markowitz, Black-Litterman, risk parity
  • Stop Loss Management: Dynamic stops based on volatility

Backtesting

  • Vectorized Backtester: Fast strategy development
  • Event-Driven Backtester: Realistic HF simulation
  • Performance Metrics: Sharpe, Sortino, Calmar, Information ratios
  • Walk-Forward Analysis: Out-of-sample validation

📊 Data Sources

  • Yahoo Finance: Free intraday (1-min, 7 days) and daily historical data
  • Options Data: Limited options chains and implied volatility
  • Futures: Major index futures (ES, NQ, etc.)

⚠️ Limitations

  • Yahoo Finance has rate limits and occasional reliability issues
  • 1-minute intraday data limited to last 7 days
  • No true tick-level data for high-frequency strategies
  • No Level 2 order book data

🧪 Testing

# Run all tests
pytest tests/ -v

# Test specific module
pytest tests/test_black_scholes.py -v

# With coverage
pytest tests/ --cov=. --cov-report=html

📖 Learn More

Each module includes extensive documentation with:

  • Mathematical formulas and derivations
  • Assumptions and limitations
  • Practical examples
  • References to academic papers

🛡️ Disclaimer

This system is for educational and research purposes only. It is not intended for live trading without significant additional development, testing, and risk management. Trading involves substantial risk of loss.

📝 License

MIT License - feel free to use and modify for your own learning!

About

Quant trading system for research and learning, featuring options pricing, statistical arbitrage, machine learning, risk management, and backtesting across equities, derivatives, and futures.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors