{"id":50808137,"url":"https://github.com/Miasyster/QuantGPT","last_synced_at":"2026-06-30T10:00:48.275Z","repository":{"id":353313127,"uuid":"1186834727","full_name":"Miasyster/QuantGPT","owner":"Miasyster","description":"Agent-driven alpha factory — LLM autonomously designs, backtests, and submits factors to WorldQuant BRAIN","archived":false,"fork":false,"pushed_at":"2026-05-16T16:58:17.000Z","size":7309,"stargazers_count":221,"open_issues_count":2,"forks_count":74,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-05-16T18:46:39.225Z","etag":null,"topics":["a-shares","ai-agent","alpha","backtesting","claude","factor-investing","mcp","quantitative-finance","worldquant"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Miasyster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-20T03:19:05.000Z","updated_at":"2026-05-16T17:49:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Miasyster/QuantGPT","commit_stats":null,"previous_names":["miasyster/quantgpt"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Miasyster/QuantGPT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Miasyster%2FQuantGPT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Miasyster%2FQuantGPT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Miasyster%2FQuantGPT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Miasyster%2FQuantGPT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Miasyster","download_url":"https://codeload.github.com/Miasyster/QuantGPT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Miasyster%2FQuantGPT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34961549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["a-shares","ai-agent","alpha","backtesting","claude","factor-investing","mcp","quantitative-finance","worldquant"],"created_at":"2026-06-13T03:00:26.860Z","updated_at":"2026-06-30T10:00:48.268Z","avatar_url":"https://github.com/Miasyster.png","language":"Python","funding_links":[],"categories":["Factor Analysis"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# QuantGPT\n\n**Agent-Driven Factor Research Engine — Autonomous Mining, Independent Validation on [QuantGPT Cloud](https://quant-gpt.com)**\n\nLLM Agent 自治因子挖矿 → 批量回测 → 多维评分 → 反过拟合验证 → [QuantGPT Cloud](https://quant-gpt.com) 独立验证 + 样本外跟踪 | 全程零人工干预\n\n[![CI](https://github.com/Miasyster/quantgpt/actions/workflows/ci.yml/badge.svg)](https://github.com/Miasyster/quantgpt/actions/workflows/ci.yml)\n[![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python\u0026logoColor=white)](https://python.org)\n[![FastAPI](https://img.shields.io/badge/FastAPI-0.110+-009688?logo=fastapi\u0026logoColor=white)](https://fastapi.tiangolo.com)\n[![React](https://img.shields.io/badge/React_18-TypeScript-61DAFB?logo=react\u0026logoColor=white)](https://react.dev)\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n\n[Quick Start](docs/QUICKSTART.md) ·\n[Architecture](docs/ARCHITECTURE.md) ·\n[API Docs](docs/API_DOC.md) ·\n[MCP Guide](docs/MCP_GUIDE.md) ·\n[Factor Mining](docs/FACTOR_MINING.md) ·\n[Roadmap](ROADMAP.md) ·\n[Contributing](CONTRIBUTING.md)\n\n**WeChat / 微信交流群**: Add `quantgpt_ai` on WeChat to join the community\n\n\u003ca href=\"https://star-history.com/#Miasyster/QuantGPT\u0026Date\"\u003e\n  \u003cimg src=\"docs/images/star-history.png\" width=\"600\" alt=\"Star History Chart\" /\u003e\n\u003c/a\u003e\n\n\u003c/div\u003e\n\n---\n\n## What Is QuantGPT\n\nQuantGPT is an **agent-driven factor research engine** — not a backtest library, not a chatbot wrapper. It gives an LLM Agent (Claude, via MCP) a complete toolkit to autonomously discover, evaluate, iterate, and validate alpha factors, with zero human intervention per research cycle. Factors that pass local validation are automatically uploaded to [**QuantGPT Cloud**](https://quant-gpt.com) for independent verification and out-of-sample tracking — ensuring research results are reproducible and auditable.\n\nThe core architecture:\n\n```\nLLM Agent (Claude Code / Claude Desktop)\n    │\n    ├── MCP Tools (15 个)         ← Agent 的工具箱\n    │   ├── run_backtest           ← 全市场分组回测\n    │   ├── score_factor           ← 0-100 综合评分\n    │   ├── diagnose_factor        ← 失败模式诊断\n    │   ├── run_anti_overfit       ← 4 项反过拟合检验\n    │   ├── run_rolling_validation ← Walk-forward 验证\n    │   ├── validate_expression    ← 语法校验\n    │   ├── list_operators         ← 60+ 算子文档\n    │   ├── list_universes         ← 股票池和基准\n    │   ├── wq_brain_submit        ← WQ BRAIN 单因子提交\n    │   ├── wq_brain_batch_submit  ← 批量参数扫描提交\n    │   ├── wq_brain_submit_by_ids ← 按 ID 提交\n    │   ├── wq_brain_list_alphas   ← 查询已提交 alpha\n    │   ├── wq_brain_check_alphas  ← 检查 alpha 状态\n    │   └── wq_brain_finalize_submissions ← 最终提交确认\n    │\n    ├── QuantGPT Cloud             ← 独立验证平台 (quant-gpt.com)\n    │   ├── A 级因子自动上传\n    │   ├── 独立 IC/IR/Turnover 验证\n    │   ├── 样本外实时跟踪\n    │   ├── 因子去重（Self-Correlation 检测）\n    │   └── 公开可审计的研究记录\n    │\n    ├── Evolution Engine           ← 因子进化引擎\n    │   ├── MutationEngine (8 方向突变)\n    │   ├── CrossoverEngine (高分因子交叉)\n    │   ├── MetaEvolutionSelector (自适应策略)\n    │   └── TrajectoryAnalyzer (轨迹分析)\n    │\n    ├── WQ BRAIN Integration       ← WorldQuant 直连（可选）\n    │   ├── Dollar-neutral 模拟\n    │   └── 一键正式提交\n    │\n    └── Knowledge Base             ← 跨会话知识积累\n        ├── rules/    (已验证规则)\n        ├── findings/ (经验发现)\n        └── failures/ (已证伪路径)\n```\n\n### How It Differs from \"AI Backtest Tools\"\n\n传统工具（包括 ChatGPT + 回测库）的模式是：**人类想因子 → 工具跑回测 → 人类看结果**。Agent 是执行者，人类是决策者。\n\nQuantGPT 的模式是：**人类定义目标 → Agent 自治研究 → 人类审阅产出**。Agent 是研究者，人类是审阅者。\n\n这不是接口层的区别（自然语言 vs. 代码），而是**决策权**的区别。Agent 自主决定：探索哪个方向、生成什么表达式、评估哪些指标、何时迭代、何时放弃、何时提交。\n\n### Production Track Record\n\n| Metric | Value |\n|:-------|:------|\n| 累计回测任务 | **370+** |\n| 单轮迭代（8 候选因子） | **~15 分钟** |\n| 表达式算子 | **60+（含非线性、三元、技术指标）** |\n| Cloud 独立验证 | **A 级因子自动上传 [quant-gpt.com](https://quant-gpt.com) 验证 + 样本外跟踪** |\n| WQ BRAIN 提交（可选） | **3 个因子 IS 全部 PASS，已提交（最佳 Fitness 1.26）** |\n\n---\n\n## Validated Results\n\nQuantGPT 产出的因子通过两层验证：本地多维评分 + [QuantGPT Cloud](https://quant-gpt.com) 独立 IC/IR 验证。高质量因子还可选提交至 WQ BRAIN。以下 3 个因子已通过 WQ BRAIN IS 检测并正式提交：\n\n| Factor | Expression | WQ Sharpe | WQ Fitness | WQ Returns | IS Tests | Status |\n|:-------|:-----------|:---------:|:----------:|:----------:|:--------:|:------:|\n| **Debt-Momentum Composite** | `-1 * rank(ts_av_diff(close, 10)) + rank(debt / enterprise_value)` | **1.77** | **1.26** | **20.18%** | **ALL PASS** | **Submitted** |\n| **VWAP Decay Reversal** | `-1 * rank(ts_decay_linear(close / vwap, 10))` | **1.69** | **1.07** | **18.63%** | **ALL PASS** | **Submitted** |\n| **Returns-Volume Momentum** | `-1 * rank(ts_decay_linear(returns * volume / adv20, 5))` | **1.60** | **1.03** | **24.15%** | **ALL PASS** | **Submitted** |\n\n\u003e 3 个因子代表不同的 alpha 来源：**Debt-Momentum** 结合动量反转与基本面（债务/企业价值），行业中性化；**VWAP Decay Reversal** 捕捉价格偏离 VWAP 的衰减回归，市场中性化；**Returns-Volume Momentum** 捕捉收益率与相对成交量的衰减动量，市场中性化。全程 Agent 自治完成。\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"example_factor/1-1.png\" width=\"49%\" alt=\"WQ BRAIN PnL — Debt-Momentum Composite (Submitted)\" /\u003e\n  \u003cimg src=\"example_factor/1-2.png\" width=\"49%\" alt=\"WQ BRAIN IS Summary — Debt-Momentum Composite (Submitted)\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eDebt-Momentum Composite — 已正式提交：Sharpe 1.77, Fitness 1.26, Returns 20.18%, IS 全部 PASS\u003c/sub\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"example_factor/2-1.png\" width=\"49%\" alt=\"WQ BRAIN PnL — VWAP Decay Reversal (Submitted)\" /\u003e\n  \u003cimg src=\"example_factor/2-2.png\" width=\"49%\" alt=\"WQ BRAIN IS Summary — VWAP Decay Reversal (Submitted)\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eVWAP Decay Reversal — 已正式提交：Sharpe 1.69, Fitness 1.07, Returns 18.63%, IS 全部 PASS\u003c/sub\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"example_factor/3-1.png\" width=\"49%\" alt=\"WQ BRAIN PnL — Returns-Volume Momentum (Submitted)\" /\u003e\n  \u003cimg src=\"example_factor/3-2.png\" width=\"49%\" alt=\"WQ BRAIN IS Summary — Returns-Volume Momentum (Submitted)\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eReturns-Volume Momentum — 已正式提交：Sharpe 1.60, Fitness 1.03, Returns 24.15%, IS 全部 PASS\u003c/sub\u003e\n\u003c/p\u003e\n\n---\n\n## Autonomous Factor Mining — The Core Loop\n\n\u003e **This is QuantGPT's defining capability.**\n\u003e\n\u003e Agent 读知识库、设计假设、批量实验、分析结果、积累知识、自我迭代，每个结论经过双模型交叉验证。A 级因子自动上传 [QuantGPT Cloud](https://quant-gpt.com) 独立验证，建立可审计的样本外跟踪记录。\n\n### Research Cycle\n\n```\n                    ┌─────────────────────────────┐\n                    │  Research Notes \u0026 Knowledge  │\n                    │  (Rules / Findings / Fails)  │\n                    └──────────┬──────────────────┘\n                               │ read\n                               ▼\n┌──────────┐    ┌──────────────────────────┐    ┌──────────────────┐\n│  Phase 0 │───▶│  Phase 1: Factor Design  │───▶│  Phase 2: Batch  │\n│  Context │    │  Hypothesis → Expression │    │  Backtest (10-20 │\n│  Loading │    │  1-3 candidates per idea │    │  concurrent)     │\n└──────────┘    └──────────────────────────┘    └────────┬─────────┘\n                                                         │\n                               ┌─────────────────────────┘\n                               ▼\n                ┌──────────────────────────────────────────┐\n                │  Phase 3: Four-Step Analysis             │\n                │                                          │\n                │  ① Fact Collection (metrics vs baseline) │\n                │  ② Independent Judgment (Agent)          │\n                │  ③ Cross-Review (DeepSeek Reasoner)      │\n                │  ④ Consensus or Divergence Resolution    │\n                └──────────────────┬───────────────────────┘\n                                   │\n                    ┌──────────────┴──────────────┐\n                    ▼                             ▼\n          ┌─────────────────┐          ┌──────────────────┐\n          │  Phase 4: Update │          │  Phase 5: Stop?  │\n          │  Notes + Knowledge│         │  Converged /     │\n          │  Base             │◀────────│  Time / Rounds   │\n          └─────────────────┘          └──────────────────┘\n                    │                         │ no\n                    │                         └──▶ back to Phase 1\n                    ▼\n          ┌──────────────────┐\n          │  Phase 6: Report │\n          │  A/B factors +   │\n          │  new knowledge   │\n          └──────────────────┘\n```\n\n### Key Mechanisms\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**Dual-LLM Cross-Review**\n\n每个结论性判断（采用/不采用/关闭方向）必须经过第二个 LLM 独立评审。把事实数据和第一个模型的推理链一起发给 DeepSeek Reasoner，要求独立评估推理是否合理、是否有遗漏角度。\n\n共识 → 直接输出。分歧 → 呈现双方证据，采用更保守结论。\n\n这解决了单模型因子研究的核心问题：**confirmation bias**。\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**Persistent Knowledge Base**\n\n```\nresearch_notes/knowledge/\n├── rules/       ← 已验证的稳定规则（必须遵守）\n├── findings/    ← 经验发现（参考）\n└── failures/    ← 已证伪路径（禁止重复）\n```\n\n知识库跨会话积累。第 10 次研究会话可以直接利用前 9 次的所有发现，避免重复实验，遵守已验证规则，绕开已证伪路径。\n\n这不是 chat history——是**结构化的研究资产**。\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\n**Batch Concurrent Evaluation**\n\n单次提交 10-20 个因子表达式，并发回测 + 三波重试。结果按 fitness 降序排列。hs300 fitness \u003c 0.1 时自动跳过 csi500 验证，节省算力。\n\n```python\nfrom scripts.factor_miner import batch_evaluate\nresults = batch_evaluate(\n    server, expressions, params,\n    max_concurrent=10\n)\n```\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n**Research Discipline (Enforced)**\n\n不是建议，是硬性规则：\n- 每次实验只改一个变量\n- 提交前检查是否已做过（笔记 + 知识库）\n- 分析结论标注\"仅为假设\"\n- 失败实验同样记录原因\n- 表达式 \u003e 4 层嵌套需额外论证\n- 简单清晰 \u003e 复杂精巧\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003e **上面 Validated Results 中的因子就是这个流程的产出。** 多轮迭代，A 级因子自动上传 [QuantGPT Cloud](https://quant-gpt.com) 独立验证。完整方法论见 [Factor Mining Guide](docs/FACTOR_MINING.md)。\n\n---\n\n## Architecture\n\n```\n┌────────────────────────────────────────────────────────────────────┐\n│                     QuantGPT Research Engine                       │\n├─────────────┬──────────────────────────────┬───────────────────────┤\n│             │         Core Engine          │                       │\n│  Agent      │  ┌──────────────────────┐   │   Data Layer          │\n│  Interface  │  │  Expression Parser   │   │  ┌─────────────────┐  │\n│             │  │  60+ operators       │   │  │ baostock (free)  │  │\n│ MCP Tools   │  │  Cloud + WQ compat.  │   │  │ akshare (free)   │  │\n│ REST API    │  └──────────┬───────────┘   │  │ PolarDB (opt)    │  │\n│ Web UI      │  ┌──────────▼───────────┐   │  │ Parquet cache    │  │\n│ (monitor)   │  │  Backtest Engine     │   │  └─────────────────┘  │\n│             │  │  Rank-based grouping │   │                       │\n│             │  │  Cloud aligned       │   │   AI Layer            │\n│             │  └──────────┬───────────┘   │  ┌─────────────────┐  │\n│             │  ┌──────────▼───────────┐   │  │ DeepSeek LLM    │  │\n│             │  │  Validation Suite    │   │  │ Factor design   │  │\n│             │  │  Anti-overfit (4x)   │   │  │ Cross-review    │  │\n│             │  │  Walk-forward        │   │  │ Mutation engine │  │\n│             │  │  QuantGPT Cloud      │   │  └─────────────────┘  │\n│             │  │  WQ BRAIN (optional) │   │                       │\n│             │  └──────────────────────┘   │   Storage             │\n│             │                             │  ┌─────────────────┐  │\n│             │  Evolution Engine           │  │ SQLite (default)│  │\n│             │  Trajectory → Meta-Evo →    │  │ PostgreSQL (opt)│  │\n│             │  Mutation / Crossover       │  └─────────────────┘  │\n├─────────────┴──────────────────────────────┴───────────────────────┤\n│  Agent Orchestrator: Claude Code skill loop / Claude Desktop MCP   │\n└────────────────────────────────────────────────────────────────────┘\n```\n\n### Tech Stack\n\n| Layer | Technology |\n|:------|:-----------|\n| Agent | Claude Code (skill loop) / Claude Desktop (MCP) |\n| Backend | Python 3.10+, FastAPI, uvicorn, SQLAlchemy 2.0 async |\n| Database | SQLite (default, zero-config) / PostgreSQL (optional) |\n| AI/LLM | DeepSeek (factor generation + cross-review) |\n| Market Data | baostock + akshare (free) → Parquet cache |\n| Cloud Validation | [QuantGPT Cloud](https://quant-gpt.com) — independent IC/IR verification |\n| Frontend | React 18 + TypeScript + Tailwind CSS 4 (monitoring dashboard) |\n| MCP | FastMCP (stdio / SSE / streamable-http) |\n| Report | QuantStats HTML |\n\n---\n\n## Key Engineering Decisions\n\n### 1. Expression Parser — The Core Differentiator\n\n自研的表达式解析器（`expression_parser.py`, 1000+ lines）是整个系统的核心：\n\n- **60+ 算子**：截面（`rank`, `zscore`）、时序（`ts_corr`, `decay_linear`）、非线性（`sigmoid`, `tanh`, `sign_power`）、条件/三元（`where`, `trade_when`, `? :`）、技术指标（`rsi`, `macd`, `atr`）\n- **双模式**：`mode=\"local\"` 开放全部 60+ 算子，`mode=\"wq\"` 仅允许 WQ BRAIN 兼容子集（可选提交前校验）\n- **语义正确的截面/时序分离**：`rank()` 按 `trade_date` 分组（截面），`ts_mean()` 按 `stock_code` 分组（时序），自动处理分组逻辑\n- **安全约束**：递归深度限制、窗口上限、表达式长度限制，防止恶意输入\n\n### 2. Three-Layer Anti-Overfit System\n\n| Layer | Module | Method |\n|:------|:-------|:-------|\n| Statistical Tests | `anti_overfit.py` | IC 稳定性 + 子样本压力测试（牛/熊/震荡）+ 安慰剂检验 + 半衰期估计 |\n| Walk-Forward | `rolling_validator.py` | 滚动 train/valid/test 窗口，评估样本外 IC 衰减 |\n| WQ Simulation | `wq_simulate.py` | Dollar-neutral 多空模拟，Sharpe/Turnover/Fitness 计算 |\n| **QuantGPT Cloud** | `cloud_client.py` | **独立验证 — A 级因子自动上传 [quant-gpt.com](https://quant-gpt.com) + IC/IR 检验 + 样本外跟踪** |\n| WQ BRAIN API (optional) | `wq_brain_client.py` | 直连 BRAIN 平台 — 真实模拟 + 一键正式提交 |\n\n### 3. Evolutionary Factor Iteration\n\n受 QuantaAlpha 启发的三阶段自动搜索：\n\n```\nTrajectoryAnalyzer → MetaEvolutionSelector → Strategy Execution\n (质量指标评估)       (EXPLOIT/EXPLORE/        (MutationEngine ×8 方向\n                      RECOMBINE/SIMPLIFY)       / CrossoverEngine)\n```\n\n8 种定向突变：时间窗口变异、算子替换、复杂度调整、截面变换叠加等。5 维评分驱动迭代方向。\n\n### 4. Agent-First Access Model\n\n| Mode | Role | Use Case |\n|:-----|:-----|:---------|\n| **MCP (primary)** | Agent toolkit | Claude Code / Claude Desktop 通过 MCP 调用所有研究工具，驱动自治研究循环 |\n| **REST API** | Programmatic access | 批量回测、外部系统集成、CI/CD 因子验证 |\n| **Web UI** | Monitoring dashboard | 任务监控、报告查看、因子库管理 |\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eMCP Tools (15 个)\u003c/b\u003e\u003c/summary\u003e\n\n| Tool | Description |\n|:-----|:------------|\n| `list_operators` | 全部算子文档 |\n| `list_universes` | 股票池和基准 |\n| `validate_expression` | 语法校验 |\n| `run_backtest` | 完整回测 |\n| `score_factor` | 评分（0–100, A/B/C/D） |\n| `diagnose_factor` | 失败模式诊断 + 改进建议 |\n| `run_anti_overfit` | 4 项反过拟合检验 |\n| `run_rolling_validation` | Walk-forward 验证 |\n\n\u003c/details\u003e\n\n---\n\n## Competitive Landscape\n\n| Capability | JoinQuant | Backtrader | ChatGPT + Backtest | **QuantGPT** |\n|:-----------|:------:|:------:|:------:|:------:|\n| Research mode | Human writes code | Human writes code | Human prompts, tool executes | **Agent autonomously researches** |\n| Factor discovery | Manual | Manual | One-shot LLM | **Multi-round evolution + knowledge base** |\n| Anti-bias | Researcher judgment | None | None | **Dual-LLM mandatory cross-review** |\n| Knowledge accumulation | Personal notes | None | Lost between sessions | **Structured KB across sessions** |\n| Anti-overfit | -- | -- | -- | **4 statistical tests + walk-forward** |\n| Independent validation | -- | -- | -- | **[QuantGPT Cloud](https://quant-gpt.com) — 独立 IC/IR 验证 + 样本外跟踪** |\n| WQ BRAIN (optional) | -- | -- | -- | Operator-aligned + direct submission |\n| MCP / AI Agent | -- | -- | -- | **15 tools, skill-loop orchestration** |\n| Live trading | Yes | Limited | -- | -- |\n| Intraday data | Yes | Yes | -- | Daily only |\n\n---\n\n## Quick Start\n\n### Option 1: Agent Mode (Recommended)\n\n```bash\ngit clone https://github.com/Miasyster/QuantGPT.git \u0026\u0026 cd QuantGPT\nmake setup   # creates venv, installs deps, generates .env\nmake run     # starts server at http://localhost:8003\n```\n\nAdd MCP configuration to Claude Code or Claude Desktop:\n\n```json\n{\n  \"mcpServers\": {\n    \"quantgpt\": {\n      \"command\": \"python\",\n      \"args\": [\"-m\", \"quantgpt\"]\n    }\n  }\n}\n```\n\nThen let the Agent work: *\"在沪深300上挖掘高质量因子，自动上传 Cloud 验证\"*\n\n### Option 2: Expression Mode (No LLM Required)\n\n```bash\n# Direct expression backtest via API\ncurl -X POST http://localhost:8003/api/v1/auto_backtest \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer \u003ctoken\u003e\" \\\n  -d '{\"expression\": \"rank(close / ts_mean(close, 20))\", \"universe\": \"hs300\"}'\n```\n\n### Windows Quick Start\n\nWindows 用户不需要 `make` 和 `restart.sh`，手动执行即可：\n\n```powershell\n# 1. 克隆项目\ngit clone https://github.com/Miasyster/QuantGPT.git\ncd QuantGPT\n\n# 2. 创建虚拟环境并安装依赖\npython -m venv .venv\n.venv\\Scripts\\activate\npip install -e .\n# 可选：装 PostgreSQL 支持\n# pip install -e \".[postgresql]\"\n\n# 3. 构建前端（需要 Node.js，从 nodejs.org 下载 LTS 版本）\ncd frontend \u0026\u0026 npm install \u0026\u0026 npm run build \u0026\u0026 cd ..\n\n# 4. 启动服务\npython -m quantgpt --transport http\n# 浏览器打开 http://localhost:8003\n```\n\n\u003e **注意：**\n\u003e - 推荐 Python 3.11 或 3.12（3.14 太新，部分依赖可能不兼容）\n\u003e - 如果端口被占用：`netstat -ano | findstr :8003` 查进程，`taskkill /PID \u003cpid\u003e /F` 杀掉\n\u003e - 也可以使用 WSL2（`wsl --install`），体验与 macOS/Linux 完全一致\n\n**Zero config by default**: SQLite database, baostock + akshare free data. See [full Quick Start guide](docs/QUICKSTART.md) for details.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eOptional: DeepSeek API (for factor generation \u0026 cross-review)\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# Edit .env, add your DeepSeek API key (~$0.001 per query)\nDEEPSEEK_API_KEY=sk-your-key-here\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eOptional: PostgreSQL (for production)\u003c/b\u003e\u003c/summary\u003e\n\n```bash\npip install \"quantgpt[postgresql]\"\n# Edit .env:\nDATABASE_URL=postgresql+asyncpg://quantgpt:password@localhost:5432/quantgpt\nalembic upgrade head\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eOptional: QuantGPT Cloud (independent validation)\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# Edit .env — A-grade factors auto-upload for independent validation\nQUANTGPT_CLOUD_EMAIL=your_email@example.com\nQUANTGPT_CLOUD_PASSWORD=your_password\n```\n\nRegister at [quant-gpt.com](https://quant-gpt.com), then add credentials to `.env`. A-grade factors will be automatically uploaded and independently validated (IC/IR/turnover/correlation checks).\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eExpression Examples\u003c/b\u003e\u003c/summary\u003e\n\n**Local backtest** — works out of the box with baostock/akshare data:\n\n```python\n# 20-day momentum\nrank(close / ts_mean(close, 20))\n\n# Low volatility\nrank(-1 * ts_std(close/ts_shift(close,1)-1, 20))\n\n# Decay-weighted correlation\ndecay_linear(rank(ts_corr(vwap, volume, 10)), 5)\n\n# Momentum + profitability composite\n-1 * rank(ts_av_diff(close, 10)) + rank(roe)\n```\n\n**WQ BRAIN remote (optional)** — these expressions use fields only available via WQ BRAIN submission:\n\n```python\n# Debt-momentum composite — BRAIN submitted, Fitness 1.26, Sharpe 1.77\n-1 * rank(ts_av_diff(close, 10)) + rank(debt / enterprise_value)\n\n# VWAP decay reversal — BRAIN submitted, Fitness 1.07, Sharpe 1.69\n-1 * rank(ts_decay_linear(close / vwap, 10))\n\n# Returns-volume momentum — BRAIN submitted, Fitness 1.03, Sharpe 1.60\n-1 * rank(ts_decay_linear(returns * volume / adv20, 5))\n```\n\n\u003c/details\u003e\n\n---\n\n## Project Structure\n\n```\nquantgpt/\n├── quantgpt/                    # Backend (Python)\n│   ├── expression_parser.py     # Factor expression parser (60+ ops, WQ compatible)\n│   ├── backtest.py              # Rank-based group backtest engine\n│   ├── market_data.py           # baostock/akshare → Parquet cache\n│   ├── api_server.py            # FastAPI REST API + SSE\n│   ├── mcp_server.py            # FastMCP server (15 tools — Agent's toolkit)\n│   ├── iteration.py             # 3-phase evolutionary iteration\n│   ├── mutation_engine.py       # 8 directed mutation strategies\n│   ├── crossover_engine.py      # High-score factor crossover\n│   ├── meta_evolution.py        # Adaptive strategy selector\n│   ├── trajectory_analyzer.py   # Trajectory quality metrics\n│   ├── anti_overfit.py          # 4 statistical anti-overfit tests\n│   ├── rolling_validator.py     # Walk-forward validation\n│   ├── wq_simulate.py           # Dollar-neutral simulator\n│   ├── wq_brain_client.py       # WQ BRAIN API (optional)\n│   ├── cloud_client.py          # QuantGPT Cloud upload + independent validation\n│   ├── neutralize.py            # Industry \u0026 cap neutralization\n│   ├── daily_summary.py         # LLM-powered daily market report\n│   └── routes/                  # API route modules\n├── frontend/                    # React 18 + TypeScript + Tailwind CSS 4\n│   └── src/components/          # Monitoring dashboard\n├── scripts/\n│   └── factor_miner.py          # Batch factor evaluation toolkit\n├── tests/                       # 74 tests (parser + backtest + WQ simulate)\n├── example_factor/              # BRAIN validation screenshots\n└── docs/                        # Architecture, API, MCP, Mining guides\n```\n\n---\n\n## Limitations\n\n- **Daily frequency only** — no intraday backtesting\n- **A-share market only** — China mainland equities\n- **Agent quality depends on LLM** — better models produce better factors\n\n---\n\n## License\n\n[MIT](LICENSE) — Copyright (c) 2026 Miasyster\n\nThis repository is the **original source** of the QuantGPT factor research engine.\nDerivative works should retain the copyright notice and comply with the MIT License terms.\nSee [NOTICE](NOTICE) for details.\n\n\u003csub\u003e*Past factor performance does not guarantee future returns. This project does not constitute investment advice.*\u003c/sub\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMiasyster%2FQuantGPT","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMiasyster%2FQuantGPT","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMiasyster%2FQuantGPT/lists"}