The Enterprise-Grade Quantitative Research Platform
From Hypothesis to Alpha β Build, Backtest, and Deploy Institutional-Quality Strategies.
Features β’ Quick Start β’ Documentation β’ Contributing
Open Alpha is a high-performance, open-source quantitative research platform designed for serious algorithmic traders and researchers. Built on a robust FastAPI backend and a modern React frontend, it bridges the gap between ad-hoc analysis scripts and institutional-grade factor libraries. Whether you are mining new alpha signals, analyzing factor decay, or constructing multi-factor portfolios, Open Alpha provides the rigorously tested tools you need.
- β‘ Velocity: Go from idea to statistically valid factor in seconds, not hours.
- π‘οΈ Robustness: Industry-standard metrics (IC, ICIR, Turnover) prevent overfitting and false discoveries.
- π§ Intelligence: Advanced expression engine supports complex time-series logic (
ts_rank,ts_corr,winsorize). - π Extensibility: Clean architecture allows easy integration of custom data sources and execution engines.
- Multi-Factor Combination: Combine alpha signals with adjustable weights.
- Smart Normalization: Automatic Z-score standardization ensures apples-to-apples factor combination.
- Strategy Persistence: Save and load your winning strategies; build a library of proven alphas.
- Expression Engine: Powerful Python-like syntax for factor construction (e.g.,
rank(close) / ts_delay(open, 5)). - Institutional Metrics:
- Alpha Quality: IC Mean, ICIR (Information Ratio), t-statistic.
- Stability: Factor Autocorrelation, turnover analysis.
- Risk: Sharpe, Sortino, Max Drawdown.
- Deep Visualization: Interactive charts for Cumulative IC, Equity Curves, and Layered Quantile Returns.
- Professional Charting: TradingView-style interactive charts (Lightweight Charts) with multi-timeframe support.
- Instant Analysis: Browse terabytes of market data with zero latency.
- Leaderboard: Automatically score and rank factors based on a proprietary quality model (0-100).
- Validity Checks: Automatic detection of "fake alpha" via monotonicity and statistical significance tests.
- Python 3.9+
- Node.js 18+
- npm or yarn
# Clone the repository
git clone https://github.com/yourusername/open-alpha.git
cd open-alpha
# Setup backend
pip install -r backend/requirements.txt
# Setup frontend
cd frontend
npm install
cd ..
# Copy environment template
cp .env.example .envOption 1: Separate terminals
# Terminal 1 - Backend
python -m backend.main
# Terminal 2 - Frontend
cd frontend && npm run devOption 2: Windows batch script
start_platform.bat- π Frontend: http://localhost:5173
- π API: http://localhost:8000
- π API Docs: http://localhost:8000/docs
# Basic price data
close, open, high, low, volume
# Time-series functions
ts_delay(x, n) # Lag n periods
ts_mean(x, n) # Rolling mean
ts_std(x, n) # Rolling std
ts_max(x, n) # Rolling max
ts_min(x, n) # Rolling min
ts_rank(x, n) # Rolling percentile rank
ts_corr(x, y, n) # Rolling correlation
# Preprocessing
winsorize(x) # Remove outliers
standardize(x) # Z-score normalization| Factor | Expression | Description |
|---|---|---|
| Momentum | close / ts_delay(close, 20) - 1 |
20-day price momentum |
| Volatility | ts_std(close / ts_delay(close, 1) - 1, 20) |
20-day return volatility |
| Mean Reversion | (close - ts_mean(close, 20)) / ts_mean(close, 20) |
Deviation from MA |
| Volume-Price | ts_corr(close, volume, 20) |
Price-volume correlation |
| Metric | Description |
|---|---|
| IC Mean | Average Information Coefficient |
| ICIR | IC Information Ratio (IC/IC_std) |
| t-statistic | Statistical significance of IC |
| Sharpe Ratio | Risk-adjusted return |
| Sortino Ratio | Downside risk-adjusted return |
| Win Rate | Percentage of positive returns |
| Max Drawdown | Maximum peak-to-trough decline |
open-alpha/
βββ backend/
β βββ main.py # FastAPI application
β βββ api/routes.py # API endpoints
β βββ core/
β β βββ backtester.py # Backtest engine
β β βββ factor_engine.py # Factor evaluation
β β βββ data_loader.py # Data loading
β β βββ config.py # Configuration
β βββ reports/ # Saved reports
β
βββ frontend/
β βββ src/
β β βββ pages/
β β β βββ DataExplorer.jsx # Data visualization
β β β βββ FactorLab.jsx # Factor research
β β β βββ BacktestReport.jsx # Report ranking
β β βββ components/ # Reusable components
β β βββ services/ # API service layer
β βββ ...
β
βββ data/ # Market data (feather format)
| Variable | Description | Default |
|---|---|---|
DATA_DIR |
Path to market data | ./data |
REPORTS_DIR |
Path to saved reports | ./backend/reports |
LOG_LEVEL |
Logging level | INFO |
VITE_API_BASE_URL |
Backend API URL | http://localhost:8000/api |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- FastAPI - Modern Python web framework
- React - Frontend library
- TradingView Lightweight Charts - Professional charting
- Recharts - React charting library
- Monaco Editor - Code editor
Made with β€οΈ for Quantitative Research
β Star this repo if you find it helpful!