Qlib 深度集成 — 集成微软 Qlib 量化框架,实现 Alpha158 因子集 + LightGBM 模型训练 RD-Agent 因子挖掘 — 整合微软 RD-Agent,实现 AI 自动因子进化 TradingAgents 投研 — 整合 TradingAgents-Astock 多 Agent A 股投研框架 数据平台 — 统一多市场多数据源接入(A/HK/US),151 维特征工程 模型全生命周期 — 训练 → 版本管理 → 推理 → 信号生成完整闭环 实盘交易 — QMT 券商对接、模拟盘验证、风控系统 QuantBot 智能助手 — 自然语言交互,意图识别驱动操作
Python
19
1 commits
updated Jun 16, 2026
AI 驱动的多市场量化交易平台
数据采集 → 因子挖掘 → 模型训练 → 策略回测 → 智能推理 → 实盘交易
快速开始 • 系统架构 • 多市场数据 • AI 能力 • 部署指南
本项目基于 qusong0627/QuantMind 分支开发,感谢原作者提供的基础架构和核心思路。
在原项目基础上,本分支进行了以下主要扩展和整合:
感谢原项目奠定的基础,使后续扩展成为可能。
QuantMind 是一个端到端的量化交易平台,集成了微软 Qlib 量化框架和 RD-Agent 智能体,支持 A 股、港股、美股、加密货币四个市场。
核心能力:
# 克隆仓库
git clone https://github.com/guge199205-byte/QuantMind-oss.git
cd QuantMind-oss
# 配置环境变量
cp .env.example .env
# 编辑 .env,设置 DB_PASSWORD、SECRET_KEY 等
# 启动所有服务
docker compose up -d
# 查看日志
docker compose logs -f api
服务启动后:
从 Releases 下载数据文件:
# 下载港股数据(41MB H5 + 24MB Qlib)
wget https://github.com/guge199205-byte/QuantMind-oss/releases/download/v1.0.0-data/hk_data_h5.tar.gz
wget https://github.com/guge199205-byte/QuantMind-oss/releases/download/v1.0.0-data/hk_qlib_data.tar.gz
# 解压到 db 目录
tar xzf hk_data_h5.tar.gz -C db/
tar xzf hk_qlib_data.tar.gz -C db/
# 复制到 Docker 容器
docker cp db/hk_data quantmind:/app/db/
docker cp db/qlib_data/hk_data quantmind:/app/db/qlib_data/
# 美股、加密货币同理
┌─────────────────────────────────────────────────────────────────┐
│ Electron 桌面端 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 仪表盘 │ │ 策略向导 │ │ 回测中心 │ │ 投研平台 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└───────────────────────────┬─────────────────────────────────────┘
│ HTTP/WebSocket
┌───────────────────────────┴─────────────────────────────────────┐
│ API Gateway (Nginx) │
└───┬──────────┬──────────┬──────────┬────────────────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐
│ API │ │Engine │ │Trade │ │Stream │
│ :8000 │ │ :8001 │ │ :8002 │ │ :8003 │
└───┬───┘ └───┬───┘ └───┬───┘ └───┬───┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────────────────────────────────┐
│ PostgreSQL + Redis │
└───────────────────────────────────────┘
| 服务 | 端口 | 职责 |
|---|---|---|
| api | 8000 | 用户认证、策略管理、社区、新闻代理 |
| engine | 8001 | Qlib 回测、AI 策略生成、模型推理、Alpha Agent |
| trade | 8002 | 订单管理、持仓、风控 |
| stream | 8003 | 实时行情、WebSocket 推送 |
| 层级 | 技术 |
|---|---|
| 前端 | Electron + React + TypeScript + Ant Design |
| 后端 | Python + FastAPI + SQLAlchemy + Celery |
| 量化 | Qlib + LightGBM + RD-Agent |
| 数据库 | PostgreSQL + Redis |
| 部署 | Docker Compose + Nginx |
QuantMind 支持四个市场的数据采集和管理:
| 市场 | 表名 | 数据源 | 覆盖范围 |
|---|---|---|---|
| A 股 | stock_daily_latest | investment_data + baostock | 2010 ~ 今 |
| 港股 | stock_daily_latest_hk | Parquet + yfinance | 2020 ~ 今 |
| 美股 | stock_daily_latest_us | yfinance | 2020 ~ 今 |
| 加密货币 | stock_daily_latest_crypto | Binance API | 2020 ~ 今 |
原始数据源 → PostgreSQL → 技术指标计算 → Qlib bin → H5 文件 → 特征工程 Parquet
每个市场包含 35+ 技术指标:
A 股数据通过 daily_data_sync.py 自动同步:
# 手动触发同步
python backend/scripts/daily_data_sync.py
# 仅同步行情数据
python backend/scripts/daily_data_sync.py --skip-indicators
# 仅计算指标
python backend/scripts/daily_data_sync.py --indicators-only
同步流程:
# 从 Parquet 文件导入(2020-2026)
python backend/scripts/import_hk_parquet.py --since 2020
# 从 yfinance 同步近期数据
python backend/scripts/sync_hk_recent.py --since 2026-05-09
# 重建 H5 和 Qlib 格式
python backend/scripts/rebuild_hk_h5.py --qlib
管理员可通过 Web 界面管理数据:
自然语言描述策略需求,AI 自动生成 Qlib 策略代码:
用户: 帮我写一个港股动量策略,选 RSI 低于 30 的股票,MA5 金叉 MA20 时买入
AI: [生成完整的 Qlib 策略代码,包含选股、买入、卖出、风控逻辑]
支持的市场:
/app/db/qlib_data 数据/app/db/qlib_data/hk_data 数据/app/db/qlib_data/us_data 数据/app/db/qlib_data/crypto_data 数据基于微软 RD-Agent 的自动化因子进化:
# 启动因子进化
POST /api/v1/alpha-agent/evolve
{
"market": "hong_kong",
"iterations": 10
}
流程:
多 Agent 协作的 A 股研究框架(7 个 AI 分析师):
自然语言交互,支持:
基于微软 Qlib 的高性能回测:
from qlib.contrib.strategy import TopkDropoutStrategy
from qlib.backtest import backtest
# 配置策略
strategy = TopkDropoutStrategy(
signal=pred_signal,
topk=50,
n_drop=5,
)
# 执行回测
report, indicator = backtest(
strategy=strategy,
start_time="2024-01-01",
end_time="2024-12-31",
account=1000000,
)
| 参数 | 说明 | 默认值 |
|---|---|---|
topk | 持仓股票数 | 50 |
n_drop | 每次换仓数 | 5 |
rebalance_period | 调仓周期 | 5 天 |
benchmark | 基准指数 | CSI300 |
QuantMind-oss/
├── backend/
│ ├── main_oss.py # 统一入口
│ ├── shared/ # 跨服务共享模块
│ │ ├── db_manager.py # 数据库连接池
│ │ ├── redis_client.py # Redis 客户端
│ │ ├── stock_utils.py # 股票代码工具
│ │ └── trading_calendar.py # 交易日历
│ ├── services/
│ │ ├── api/ # API 服务
│ │ │ ├── routers/ # 路由定义
│ │ │ └── user_app/ # 用户认证
│ │ ├── engine/ # 引擎服务
│ │ │ ├── ai_strategy/ # AI 策略生成
│ │ │ ├── qlib_app/ # Qlib 回测
│ │ │ ├── alpha_agent/ # Alpha Agent
│ │ │ ├── rd_agent/ # RD-Agent 因子挖掘
│ │ │ ├── trading_agents/ # TradingAgents 投研
│ │ │ └── routers/ # 引擎路由
│ │ ├── trade/ # 交易服务
│ │ └── stream/ # 行情服务
│ └── scripts/
│ ├── daily_data_sync.py # 每日数据同步
│ ├── import_hk_parquet.py # 港股 Parquet 导入
│ ├── sync_hk_recent.py # 港股近期数据同步
│ └── rebuild_hk_h5.py # H5/Qlib 重建
├── electron/
│ ├── src/
│ │ ├── components/ # UI 组件
│ │ ├── features/ # 功能模块
│ │ │ ├── dashboard/ # 仪表盘
│ │ │ ├── strategy-wizard/ # 策略向导
│ │ │ ├── backtest/ # 回测中心
│ │ │ ├── trading-agents/ # 投研平台
│ │ │ └── admin/ # 管理后台
│ │ ├── services/ # API 调用
│ │ └── config/ # 配置
│ └── package.json
├── docker/
│ ├── Dockerfile # 后端镜像
│ └── nginx.conf # Nginx 配置
├── db/ # 数据目录(gitignore)
│ ├── qlib_data/ # Qlib bin 格式
│ │ ├── cn_data/ # A 股
│ │ ├── hk_data/ # 港股
│ │ ├── us_data/ # 美股
│ │ └── crypto_data/ # 加密货币
│ ├── hk_data/ # 港股 H5
│ ├── us_data/ # 美股 H5
│ └── crypto_data/ # 加密货币 H5
└── docker-compose.yml
# 1. 克隆代码
git clone https://github.com/guge199205-byte/QuantMind-oss.git
cd QuantMind-oss
# 2. 配置环境变量
cat > .env << EOF
DB_HOST=db
DB_PORT=5432
DB_NAME=quantmind
DB_USER=quantmind
DB_PASSWORD=your_secure_password
REDIS_HOST=redis
REDIS_PORT=6379
SECRET_KEY=your_secret_key
JWT_SECRET_KEY=your_jwt_secret
EOF
# 3. 启动服务
docker compose up -d
# 4. 下载数据
# 从 Releases 下载数据文件并解压到 db/
# 5. 初始化数据库
docker exec quantmind python -c "from backend.shared.db_manager import DatabaseManager; DatabaseManager().init_tables()"
# 6. 构建股票索引
docker exec quantmind python backend/services/api/scripts/build_stock_index.py
cd electron
npm install
npm run dev # Electron 桌面端
npm run dev:web # Web 浏览器
npm run typecheck # 类型检查
# 单服务启动
SERVICE_MODE=api python backend/main_oss.py
SERVICE_MODE=engine python backend/main_oss.py
# 运行测试
python backend/run_tests.py unit
python backend/run_tests.py integration
| 任务 | 时间 | 说明 |
|---|---|---|
daily_data_sync | 18:00 工作日 | A 股数据同步 |
auto_inference | 00:00 工作日 | 模型自动推理 |
news_enrich | 每 1 分钟 | 新闻 AI 增强 |
news_reload | 每 10 分钟 | 新闻规则重载 |
| 变量 | 说明 | 默认值 |
|---|---|---|
DB_HOST | PostgreSQL 主机 | db |
DB_PORT | PostgreSQL 端口 | 5432 |
DB_NAME | 数据库名 | quantmind |
DB_USER | 数据库用户 | quantmind |
DB_PASSWORD | 数据库密码 | - |
REDIS_HOST | Redis 主机 | redis |
REDIS_PORT | Redis 端口 | 6379 |
SECRET_KEY | 应用密钥 | - |
JWT_SECRET_KEY | JWT 密钥 | - |
OPENAI_API_KEY | OpenAI API Key | - |
CHAT_MODEL | AI 模型 | gpt-4 |
欢迎提交 Issue 和 Pull Request!
# 1. Fork 仓库
# 2. 创建特性分支
git checkout -b feature/your-feature
# 3. 提交更改
git commit -m "feat: add your feature"
# 4. 推送并创建 PR
git push origin feature/your-feature
GNU Affero General Public License v3.0
本项目仅供学习研究与技术演示,不构成任何投资建议。
- 本系统产出的所有分析报告和交易信号均由 AI 自动生成,可能存在错误或偏差
- 投资决策请咨询持有中国证监会颁发资质的专业机构
- 作者不对使用本工具产生的任何投资损失承担责任
- 股市有风险,投资需谨慎
QuantMind — 让量化交易更简单
1 commits
Python
68.7%
TypeScript
27.9%
Vue
1.1%
Qlib 深度集成 — 集成微软 Qlib 量化框架,实现 Alpha158 因子集 + LightGBM 模型训练 RD-Agent 因子挖掘 — 整合微软 RD-Agent,实现 AI 自动因子进化 TradingAgents 投研 — 整合 TradingAgents-Astock 多 Agent A 股投研框架 数据平台 — 统一多市场多数据源接入(A/HK/US),151 维特征工程 模型全生命周期 — 训练 → 版本管理 → 推理 → 信号生成完整闭环 实盘交易 — QMT 券商对接、模拟盘验证、风控系统 QuantBot 智能助手 — 自然语言交互,意图识别驱动操作
Python
19
1 commits
updated Jun 16, 2026
AI 驱动的多市场量化交易平台
数据采集 → 因子挖掘 → 模型训练 → 策略回测 → 智能推理 → 实盘交易
快速开始 • 系统架构 • 多市场数据 • AI 能力 • 部署指南
本项目基于 qusong0627/QuantMind 分支开发,感谢原作者提供的基础架构和核心思路。
在原项目基础上,本分支进行了以下主要扩展和整合:
感谢原项目奠定的基础,使后续扩展成为可能。
QuantMind 是一个端到端的量化交易平台,集成了微软 Qlib 量化框架和 RD-Agent 智能体,支持 A 股、港股、美股、加密货币四个市场。
核心能力:
# 克隆仓库
git clone https://github.com/guge199205-byte/QuantMind-oss.git
cd QuantMind-oss
# 配置环境变量
cp .env.example .env
# 编辑 .env,设置 DB_PASSWORD、SECRET_KEY 等
# 启动所有服务
docker compose up -d
# 查看日志
docker compose logs -f api
服务启动后:
从 Releases 下载数据文件:
# 下载港股数据(41MB H5 + 24MB Qlib)
wget https://github.com/guge199205-byte/QuantMind-oss/releases/download/v1.0.0-data/hk_data_h5.tar.gz
wget https://github.com/guge199205-byte/QuantMind-oss/releases/download/v1.0.0-data/hk_qlib_data.tar.gz
# 解压到 db 目录
tar xzf hk_data_h5.tar.gz -C db/
tar xzf hk_qlib_data.tar.gz -C db/
# 复制到 Docker 容器
docker cp db/hk_data quantmind:/app/db/
docker cp db/qlib_data/hk_data quantmind:/app/db/qlib_data/
# 美股、加密货币同理
┌─────────────────────────────────────────────────────────────────┐
│ Electron 桌面端 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 仪表盘 │ │ 策略向导 │ │ 回测中心 │ │ 投研平台 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└───────────────────────────┬─────────────────────────────────────┘
│ HTTP/WebSocket
┌───────────────────────────┴─────────────────────────────────────┐
│ API Gateway (Nginx) │
└───┬──────────┬──────────┬──────────┬────────────────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐
│ API │ │Engine │ │Trade │ │Stream │
│ :8000 │ │ :8001 │ │ :8002 │ │ :8003 │
└───┬───┘ └───┬───┘ └───┬───┘ └───┬───┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────────────────────────────────┐
│ PostgreSQL + Redis │
└───────────────────────────────────────┘
| 服务 | 端口 | 职责 |
|---|---|---|
| api | 8000 | 用户认证、策略管理、社区、新闻代理 |
| engine | 8001 | Qlib 回测、AI 策略生成、模型推理、Alpha Agent |
| trade | 8002 | 订单管理、持仓、风控 |
| stream | 8003 | 实时行情、WebSocket 推送 |
| 层级 | 技术 |
|---|---|
| 前端 | Electron + React + TypeScript + Ant Design |
| 后端 | Python + FastAPI + SQLAlchemy + Celery |
| 量化 | Qlib + LightGBM + RD-Agent |
| 数据库 | PostgreSQL + Redis |
| 部署 | Docker Compose + Nginx |
QuantMind 支持四个市场的数据采集和管理:
| 市场 | 表名 | 数据源 | 覆盖范围 |
|---|---|---|---|
| A 股 | stock_daily_latest | investment_data + baostock | 2010 ~ 今 |
| 港股 | stock_daily_latest_hk | Parquet + yfinance | 2020 ~ 今 |
| 美股 | stock_daily_latest_us | yfinance | 2020 ~ 今 |
| 加密货币 | stock_daily_latest_crypto | Binance API | 2020 ~ 今 |
原始数据源 → PostgreSQL → 技术指标计算 → Qlib bin → H5 文件 → 特征工程 Parquet
每个市场包含 35+ 技术指标:
A 股数据通过 daily_data_sync.py 自动同步:
# 手动触发同步
python backend/scripts/daily_data_sync.py
# 仅同步行情数据
python backend/scripts/daily_data_sync.py --skip-indicators
# 仅计算指标
python backend/scripts/daily_data_sync.py --indicators-only
同步流程:
# 从 Parquet 文件导入(2020-2026)
python backend/scripts/import_hk_parquet.py --since 2020
# 从 yfinance 同步近期数据
python backend/scripts/sync_hk_recent.py --since 2026-05-09
# 重建 H5 和 Qlib 格式
python backend/scripts/rebuild_hk_h5.py --qlib
管理员可通过 Web 界面管理数据:
自然语言描述策略需求,AI 自动生成 Qlib 策略代码:
用户: 帮我写一个港股动量策略,选 RSI 低于 30 的股票,MA5 金叉 MA20 时买入
AI: [生成完整的 Qlib 策略代码,包含选股、买入、卖出、风控逻辑]
支持的市场:
/app/db/qlib_data 数据/app/db/qlib_data/hk_data 数据/app/db/qlib_data/us_data 数据/app/db/qlib_data/crypto_data 数据基于微软 RD-Agent 的自动化因子进化:
# 启动因子进化
POST /api/v1/alpha-agent/evolve
{
"market": "hong_kong",
"iterations": 10
}
流程:
多 Agent 协作的 A 股研究框架(7 个 AI 分析师):
自然语言交互,支持:
基于微软 Qlib 的高性能回测:
from qlib.contrib.strategy import TopkDropoutStrategy
from qlib.backtest import backtest
# 配置策略
strategy = TopkDropoutStrategy(
signal=pred_signal,
topk=50,
n_drop=5,
)
# 执行回测
report, indicator = backtest(
strategy=strategy,
start_time="2024-01-01",
end_time="2024-12-31",
account=1000000,
)
| 参数 | 说明 | 默认值 |
|---|---|---|
topk | 持仓股票数 | 50 |
n_drop | 每次换仓数 | 5 |
rebalance_period | 调仓周期 | 5 天 |
benchmark | 基准指数 | CSI300 |
QuantMind-oss/
├── backend/
│ ├── main_oss.py # 统一入口
│ ├── shared/ # 跨服务共享模块
│ │ ├── db_manager.py # 数据库连接池
│ │ ├── redis_client.py # Redis 客户端
│ │ ├── stock_utils.py # 股票代码工具
│ │ └── trading_calendar.py # 交易日历
│ ├── services/
│ │ ├── api/ # API 服务
│ │ │ ├── routers/ # 路由定义
│ │ │ └── user_app/ # 用户认证
│ │ ├── engine/ # 引擎服务
│ │ │ ├── ai_strategy/ # AI 策略生成
│ │ │ ├── qlib_app/ # Qlib 回测
│ │ │ ├── alpha_agent/ # Alpha Agent
│ │ │ ├── rd_agent/ # RD-Agent 因子挖掘
│ │ │ ├── trading_agents/ # TradingAgents 投研
│ │ │ └── routers/ # 引擎路由
│ │ ├── trade/ # 交易服务
│ │ └── stream/ # 行情服务
│ └── scripts/
│ ├── daily_data_sync.py # 每日数据同步
│ ├── import_hk_parquet.py # 港股 Parquet 导入
│ ├── sync_hk_recent.py # 港股近期数据同步
│ └── rebuild_hk_h5.py # H5/Qlib 重建
├── electron/
│ ├── src/
│ │ ├── components/ # UI 组件
│ │ ├── features/ # 功能模块
│ │ │ ├── dashboard/ # 仪表盘
│ │ │ ├── strategy-wizard/ # 策略向导
│ │ │ ├── backtest/ # 回测中心
│ │ │ ├── trading-agents/ # 投研平台
│ │ │ └── admin/ # 管理后台
│ │ ├── services/ # API 调用
│ │ └── config/ # 配置
│ └── package.json
├── docker/
│ ├── Dockerfile # 后端镜像
│ └── nginx.conf # Nginx 配置
├── db/ # 数据目录(gitignore)
│ ├── qlib_data/ # Qlib bin 格式
│ │ ├── cn_data/ # A 股
│ │ ├── hk_data/ # 港股
│ │ ├── us_data/ # 美股
│ │ └── crypto_data/ # 加密货币
│ ├── hk_data/ # 港股 H5
│ ├── us_data/ # 美股 H5
│ └── crypto_data/ # 加密货币 H5
└── docker-compose.yml
# 1. 克隆代码
git clone https://github.com/guge199205-byte/QuantMind-oss.git
cd QuantMind-oss
# 2. 配置环境变量
cat > .env << EOF
DB_HOST=db
DB_PORT=5432
DB_NAME=quantmind
DB_USER=quantmind
DB_PASSWORD=your_secure_password
REDIS_HOST=redis
REDIS_PORT=6379
SECRET_KEY=your_secret_key
JWT_SECRET_KEY=your_jwt_secret
EOF
# 3. 启动服务
docker compose up -d
# 4. 下载数据
# 从 Releases 下载数据文件并解压到 db/
# 5. 初始化数据库
docker exec quantmind python -c "from backend.shared.db_manager import DatabaseManager; DatabaseManager().init_tables()"
# 6. 构建股票索引
docker exec quantmind python backend/services/api/scripts/build_stock_index.py
cd electron
npm install
npm run dev # Electron 桌面端
npm run dev:web # Web 浏览器
npm run typecheck # 类型检查
# 单服务启动
SERVICE_MODE=api python backend/main_oss.py
SERVICE_MODE=engine python backend/main_oss.py
# 运行测试
python backend/run_tests.py unit
python backend/run_tests.py integration
| 任务 | 时间 | 说明 |
|---|---|---|
daily_data_sync | 18:00 工作日 | A 股数据同步 |
auto_inference | 00:00 工作日 | 模型自动推理 |
news_enrich | 每 1 分钟 | 新闻 AI 增强 |
news_reload | 每 10 分钟 | 新闻规则重载 |
| 变量 | 说明 | 默认值 |
|---|---|---|
DB_HOST | PostgreSQL 主机 | db |
DB_PORT | PostgreSQL 端口 | 5432 |
DB_NAME | 数据库名 | quantmind |
DB_USER | 数据库用户 | quantmind |
DB_PASSWORD | 数据库密码 | - |
REDIS_HOST | Redis 主机 | redis |
REDIS_PORT | Redis 端口 | 6379 |
SECRET_KEY | 应用密钥 | - |
JWT_SECRET_KEY | JWT 密钥 | - |
OPENAI_API_KEY | OpenAI API Key | - |
CHAT_MODEL | AI 模型 | gpt-4 |
欢迎提交 Issue 和 Pull Request!
# 1. Fork 仓库
# 2. 创建特性分支
git checkout -b feature/your-feature
# 3. 提交更改
git commit -m "feat: add your feature"
# 4. 推送并创建 PR
git push origin feature/your-feature
GNU Affero General Public License v3.0
本项目仅供学习研究与技术演示,不构成任何投资建议。
- 本系统产出的所有分析报告和交易信号均由 AI 自动生成,可能存在错误或偏差
- 投资决策请咨询持有中国证监会颁发资质的专业机构
- 作者不对使用本工具产生的任何投资损失承担责任
- 股市有风险,投资需谨慎
QuantMind — 让量化交易更简单
1 commits
Python
68.7%
TypeScript
27.9%
Vue
1.1%