文档中心

提交你的第一个因子

完整流程:QuantGPT 本地研究 → 上传 Cloud → 平台独立验证 → 样本外跟踪。

推荐工具:QuantGPT 开源引擎

QuantGPT 是开源的 AI 因子研究引擎 — 让 Claude / Cursor 等 AI Agent 通过 MCP 工具自主完成因子设计、回测、评分、反过拟合验证。在本地研究好因子,再上传到 Cloud 做样本外跟踪。

GitHub pip install quantgpt

AI 快速通道

将下面的 prompt 复制到 Claude Code / Cursor,AI 会帮你完成全部流程。需要先配置 QuantGPT

帮我用 QuantGPT 研究一个因子,并上传到 QuantGPT Cloud 做样本外跟踪。

## 第一步:本地研究(用 QuantGPT)

1. 确认 QuantGPT 已安装(pip install quantgpt),启动服务
2. 用 MCP 工具调用 list_operators 和 list_universes 了解可用算子和股票池
3. 设计一个 5 日反转因子,表达式:-ts_delta(close, 5) / ts_shift(close, 5)
4. 用 score_factor 评分,目标 B 级(60+)以上
5. 用 run_backtest 生成完整回测报告
6. 用 run_anti_overfit 做反过拟合检验
7. 如果不达标,用 diagnose_factor 诊断并调整表达式,重复 3-6

## 第二步:上传到 Cloud(研究满意后)

Cloud API 文档(先读完再开始):/api/v1/guide

推荐通过 MCP 工具提交数据到 Cloud。如果 MCP 不可用,改用 HTTP API。

1. 注册 Cloud 账户并获取 API Key(如果已有就跳过)
2. 用 akshare 获取近 150 个交易日的行情数据,计算因子截面值
3. 通过 API 创建因子、分批上传截面数据、提交验证
4. 验证通过后持续上传新数据,平台每日自动计算样本外 IC

我的邮箱:<填入>
我的密码:<填入>

提示:将 <填入> 替换为你的实际信息。如果没有账户,AI 会帮你注册。

进阶:用 /factor-mine 自主研究

如果你已配置好 QuantGPT,可以在 Claude Code 中直接调用 /factor-mine Skill — AI 会自主完成因子设计、回测、评估、迭代的完整循环:

/factor-mine reversal                # 研究反转类因子
/factor-mine "new: 波动率调整因子"     # 开启新方向
/factor-mine auto max_hours=4        # 自主模式,限时 4 小时

研究过程中 AI 会积累知识库(发现 + 失败路径),跨会话复用。研究出满意的因子后,再按下面的步骤上传到 Cloud。

或者手动操作
1

本地研究:用 QuantGPT 找到好因子

安装 QuantGPT 开源引擎,在本地完成因子设计和验证。AI Agent 通过 MCP 工具自主完成回测、评分、反过拟合检验。

# 安装 QuantGPT
pip install quantgpt

# 启动服务
quantgpt serve

# 在 Claude Code / Cursor 中配置 MCP 连接后,AI Agent 可用的工具:
#   score_factor    — 因子评分(0-100, A/B/C/D)
#   run_backtest    — 完整回测(IC 分析 + 分组收益 + 净值曲线)
#   run_anti_overfit — 反过拟合检验(IC 稳定性 + 安慰剂 + 半衰期)
#   diagnose_factor — 失败模式诊断 + 改进建议

# 详细配置见 https://github.com/Miasyster/QuantGPT
2

注册 Cloud 账户,获取 API Key

在 QuantGPT Cloud 注册账户,生成 API Key 用于上传因子数据。

# 注册
curl -X POST /api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "password": "your_password"}'

# 生成 API Key(推荐,长期有效)
curl -X POST /api/v1/auth/api-keys \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"name": "my-key"}'

# 后续请求都用 X-API-Key 头
-H "X-API-Key: qgc_xxxxxxxxxx"
3

计算截面值,上传数据

用 QuantGPT 本地回测验证通过的因子,计算截面值并上传到 Cloud。平台要求至少 120 个交易日。

import requests

API = ""
HEADERS = {"X-API-Key": "qgc_xxxxxxxxxx"}

# 创建因子(名称和表达式与 QuantGPT 本地研究一致)
r = requests.post(f"{API}/api/v1/factors", headers=HEADERS, json={
    "name": "Rev5D",
    "universe": "csi500",
    "description": "5-day reversal factor"
})
factor_id = r.json()["id"]

# factor_data 来自你本地计算的截面值
# 格式:{"2025-09-08": {"600519": -0.032, "000858": 0.015, ...}, ...}

# 分批上传(每次最多 500 条)
sorted_dates = sorted(factor_data.keys())
batch = []
for date_str in sorted_dates:
    batch.append({"date": date_str, "values": factor_data[date_str]})
    if len(batch) == 500:
        requests.post(f"{API}/api/v1/factors/{factor_id}/values",
                      headers=HEADERS, json={"entries": batch})
        batch = []
if batch:
    requests.post(f"{API}/api/v1/factors/{factor_id}/values",
                  headers=HEADERS, json={"entries": batch})
4

提交验证

上传满 120 天后,因子状态变为 ready。提交后平台用自有行情数据独立计算 IC、换手率、相关性等指标。

# 提交验证(同步返回结果,通常 < 5 秒)
r = requests.post(f"{API}/api/v1/factors/{factor_id}/submit",
                  headers=HEADERS)
result = r.json()

print(f"状态:{result['status']}")     # active = 通过,rejected = 未通过
print(f"IC Mean:{result['is']['ic_mean']}")
print(f"IC IR:{result['is']['ic_ir']}")
print(f"Sharpe:{result['is']['sharpe']}")

# 查看各项检查详情
for c in result["checks"]:
    print(f"  {c['name']}: {c['result']} (值={c['value']}, 阈值={c['limit']})")

验证标准

检查项要求含义
IC Mean|值| > 0.015因子需要有预测能力
IC IR|值| > 0.15预测能力需要稳定
换手率< 0.35排名不能太随机(疑似过拟合)
相关性< 0.7不能与你已有的因子太像
数据量≥ 120 天至少半年的历史数据
5

验证通过后:两条跟踪路径

因子状态变为 active,进入平台跟踪体系。

路径 A:因子独立 OS 跟踪
  • 持续上传最新截面值,平台每日 18:40 自动计算样本外 IC
  • 跟踪 30/60/120 日滚动 IC,监控因子预测力是否衰减
  • 控制台查看 IC 曲线和多空收益
路径 B:多因子组合 → 策略信号
  • 将多个 active 因子组合,平台每日 09:00 自动生成策略信号
  • 接入完整结算管道:信号 → 模拟交易 → NAV 曲线 → 公开业绩
  • 在控制台「多因子组合」tab 管理组合成员和查看业绩

提高通过率的建议

  • 先在 QuantGPT 本地用 score_factor 评分 B 级以上再上传,避免浪费时间
  • run_anti_overfit 做反过拟合检验,确保因子不是数据挖掘产物
  • 反转类因子注意周期:1 日反转换手率接近随机,5-20 日反转更稳定
  • 因子值用负号可以反转方向 — 如果 IC 是负数但绝对值很高,试试反向
  • 数据覆盖率要高:每天的截面应覆盖股票池 80% 以上的成分股
  • 没通过?点击因子详情查看具体哪项检查未通过,在 QuantGPT 用 diagnose_factor 诊断改进
← 文档中心 © 2026 QuantGPT