quantagents / README.md
deveshc23's picture
Upload README.md with huggingface_hub
24ae774 verified
|
Raw History Blame Contribute Delete
7.49 kB
---
title: QuantAgent OS - Autonomous Quant Trading & Self-Improving Alpha Discovery
emoji: πŸ“ˆ
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: 4.42.0
app_file: app.py
pinned: false
license: mit
---
# πŸ›οΈ QuantAgent OS: Autonomous Quantitative Trading System
### *Self-Improving Multi-Agent Quantitative Architecture based on arXiv:2402.03755*
![Python](https://img.shields.io/badge/Python-3.10%2B-blue.svg)
![Gradio](https://img.shields.io/badge/Gradio-4.42.0-orange.svg)
![arXiv](https://img.shields.io/badge/arXiv-2402.03755-b31b1b.svg)
![License](https://img.shields.io/badge/License-MIT-green.svg)
QuantAgent OS is an institutional-grade, self-improving quantitative investment system powered by agentic AI. It implements the two-layer loop architecture pioneered in the research paper:
> **QuantAgent: Seeking Holy Grail in Trading by Self-Improving Large Language Model**
> *Saizhuo Wang, Hang Yuan, Lionel M. Ni, Jian Guo (HKUST & IDEA Research)*
> [arXiv:2402.03755](https://arxiv.org/abs/2402.03755)
---
## πŸ—οΈ System Architecture
QuantAgent OS solves the core bottleneck of domain-specific financial AI: **how to autonomously discover, test, and accumulate quantitative trading signals (alphas) without manual human data curation.**
```
+---------------------------------------+
| Outer Feedback Loop |
| (Slow / Real-World Backtest Oracle) |
+---------------------------------------+
| ^
Submit Alpha | | Ground-truth Metrics
for Backtest v | & Qualitative Review
+--------------------+ |
| Real Environment |-----------+
| (Backtesting Eng) |
+--------------------+
|
Updates KB v
+---------------------------------------------------------------------------------+
| Inner Reasoning Loop (Fast Simulation) |
| |
| +------------------------------------------------------------------+ |
| | Shared Context Buffer (ctx) | |
| +------------------------------------------------------------------+ |
| | ^ | ^ |
| 1. Query | 2. Writer Hint | 3. Generated | 4. Judge | 5. Review |
| v | Alpha Code v Hint | & Score |
| +---------------+ +---------------+ +---------------+ | |
| | KnowledgeBase | | Writer LLM | | Judge LLM |---+ |
| | (KB) | +---------------+ +---------------+ |
| +---------------+ |
+---------------------------------------------------------------------------------+
```
### 1. The Inner Reasoning Loop (Fast Heuristic Simulation)
- **Shared Context Buffer**: Holds task descriptions, retrieved knowledge hints, generated factor code, and mentor feedback.
- **Quant Alpha Writer**: Translates qualitative trading ideas into vectorized, lookahead-free Python factor code inheriting from the standardized `Factor` base class.
- **Quant Mentor Judge**: Evaluates candidate signals against 6 quantitative criteria:
1. *Vectorization efficiency* (no single-asset Python loops)
2. *Lookahead bias prevention* (no `shift(-1)` or future leakage)
3. *Continuous nuance* (smooth tanh / z-score scaling into `[-1.0, 1.0]`)
4. *Numerical stability* (`.clip()`, `.fillna()`, zero-division protection)
5. *Code validity*
6. *Economic intuition alignment*
- **Iterative Dialogue**: The Writer and Judge iterate for up to $T$ rounds until the candidate meets approval score $\beta$.
### 2. The Outer Feedback Loop (Real Backtesting Oracle)
- Submits the approved alpha code to the vectorized backtesting engine against historical market cross-sections.
- Calculates empirical metrics:
- **Information Coefficient (IC)**: Cross-sectional Pearson correlation between signal and forward returns.
- **IC Information Ratio (IC_IR)**: $\text{Mean}(IC) / \text{Std}(IC)$.
- **Long-Short Sharpe Ratio, Max Drawdown, and Turnover Rate**.
- **Autonomous Knowledge Base (KB)**: Retains both successful and failed alphas (with failure diagnosis) to enable *pessimistic value updates*.
### 3. Downstream XGBoost Alpha Ensemble (Paper Figure 5)
- Automatically pools all valid alphas from the KB as feature columns.
- Trains an XGBoost cross-validated non-linear regression model to predict cross-sectional asset returns, demonstrating how prediction Mean Squared Error (MSE) monotonically decreases as the KB accumulates more diverse alphas.
---
## 🌐 Free Public Data Sources Integrated
| Source | Description | Authentication |
| :--- | :--- | :--- |
| **Yahoo Finance** | Live & historical OHLCV, volume, dividends, valuation metrics, beta, market cap | 100% Free (Built-in browser session) |
| **SEC EDGAR API** | Official regulatory 10-K and 10-Q XBRL financial facts: Revenue, Net Income, Total Assets, Liabilities, Debt/Equity | 100% Free (Official SEC endpoint) |
| **FRED / Market Proxies** | 10Y Treasury, 3M T-bill, Yield Curve Slope, VIX Volatility Index, Crude Oil, USD Index | 100% Free (FRED key optional) |
| **Yahoo RSS & Finnhub** | Live news headlines, company announcements, financial sentiment polarity scoring | 100% Free (Finnhub key optional) |
---
## πŸš€ How to Run Locally
```bash
# 1. Clone the repository
git clone https://github.com/your-username/quantagent-os.git
cd quantagent-os
# 2. Install dependencies
pip install -r requirements.txt
# 3. Launch the application
python app.py
```
Open your browser at `http://localhost:7860` to access the interactive dashboard.
---
## ☁️ Deploying to Hugging Face Spaces
You can deploy this Space in one of two ways:
### Method 1: Directly from the Web UI (Tab 6)
1. Open the application locally or on your server.
2. Navigate to **Tab 6: Hugging Face Deployment & Settings**.
3. Enter your Hugging Face API Token (with `write` permission) and target Space ID (`username/quantagent-os`).
4. Click **Deploy to Hugging Face Spaces**.
### Method 2: Via Git
```bash
git remote add space https://huggingface.co/spaces/your-username/quantagent-os
git push space main
```
---
## πŸ“ Mathematical Formulation & Regret Guarantees
The framework formulates alpha mining as an Information-State Markov Decision Process $(S, A, \mathcal{T}, r, \gamma)$:
- **Inner Loop**: Under implicit Bayesian inference by the LLM (Assumption 4.1), Bayesian regret is sublinear in inner iterations $T$.
- **Outer Loop**: Grounded in Pessimistic Value Iteration (PEVI, Jin et al. 2021), epistemic uncertainty between simulated KB and real-world environment decays with outer iterations $K$.
- **Overall Regret**: Total Bayesian regret $R(TK)$ decomposes into four bounded terms and is proven **sublinear in $KT$** (Theorem 4.6).
---
## βš–οΈ License
Released under the MIT License. Educational and quantitative research use only.