Qlib-UI 是基于微软 Qlib 量化投资框架构建的图形化平台,旨在通过可视化界面降低量化投资研究的使用门槛,让没有编程背景的个人投资者也能进行专业的量化策略研究与回测。
- 🎯 降低门槛: 无需编程,拖拽式操作完成策略构建
- ⚡ 提升效率: 预设模板+参数优化,快速迭代验证策略
- 🔬 专业级功能: 完整映射Qlib核心能力,专业回测分析
- 🛡️ 安全可靠: 本地部署,数据安全,代码执行沙箱
- 新手/专家双模式: 根据用户水平智能切换界面复杂度
- 3步引导教程: 从数据导入到策略验证的完整引导
- 10+经典策略模板: 双均线、MACD、RSI等即开即用
- 指标解读卡片: 通俗易懂的专业术语解释
- 多数据源支持:
- Qlib本地数据(中国A股、美股等)
- CSV/Excel文件导入(批量上传,自动字段映射)
- 第三方接口预留(架构可扩展)
- 智能数据预处理:
- 4种缺失值处理方式
- 标准差/分位数异常值检测
- 归一化/标准化转换
- 多条件筛选+模板保存
- 专业数据可视化:
- K线图+成交量+均线叠加
- MACD、RSI、KDJ等20+技术指标图
- 自定义图表配置,多图联动
- 可视化流程编辑器:
- 拖拽式节点连接,构建策略逻辑
- 支持指标计算、条件判断、交易信号、仓位控制、止损止盈
- 实时逻辑校验,错误高亮提示
- 60+技术指标库:
- 技术指标(MA、MACD等20+)
- TA-Lib集成(40+专业指标)
- 财务指标(PE、PB、ROE等10+)
- 自定义因子构建:
- 可视化公式编辑器
- Python代码编写(语法高亮+代码补全)
- 因子IC值计算+分层回测验证
- 参数优化引擎:
- 网格搜索/随机搜索算法
- 多目标优化(夏普比率/最大回撤/年化收益)
- 参数热力图+敏感性分析
- 灵活回测配置:
- 时间范围精确到日
- 初始资金10万-1000万可调
- 精细化交易成本设置(手续费/印花税/滑点)
- 涨跌停限制、流动性过滤、仓位控制
- 实时进度监控:
- WebSocket实时推送进度
- 交易日志实时打印
- 支持暂停/恢复/终止
- 后台回测+桌面通知
- 全面结果展示:
- 15+核心指标(累计收益、夏普比率、最大回撤等)
- 净值曲线、回撤曲线、月度收益图
- 交易明细表(按盈亏排序/标的筛选)
- 持仓分布(按行业/标的)
- 策略诊断系统:
- 收益分析(TOP5标的贡献、行业分布、稳定性)
- 风险分析(最大回撤时段、波动率、尾部风险)
- 过拟合检测(样本外测试、参数敏感性、Walk Forward)
- 可操作优化建议
- 代码沙箱: RestrictedPython限制危险操作
- 模块白名单: 仅允许导入安全模块
- 虚拟环境隔离: 独立Python环境执行自定义代码
- 资源限制: 限制内存/CPU/执行时间
- 静态检查: AST分析检测高风险调用
- Python: 3.9 - 3.11
- Node.js: 18+
- Redis: 6+
- 数据库: PostgreSQL 14+ 或 SQLite
- Git
# 1. 克隆仓库 git clone https://github.com/your-org/qlib-ui.git cd qlib-ui # 2. 配置环境变量 cp .env.example .env # 编辑 .env 文件,配置数据库、Redis等 # 3. 一键安装依赖 make install # 4. 初始化数据库 make init-db # 5. 启动服务 make start访问 http://localhost:3000 开始使用!
点击展开详细步骤
cd backend # 创建虚拟环境 python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # 安装依赖 pip install -r requirements.txt # 初始化数据库 alembic upgrade head # 启动后端服务 uvicorn app.main:app --reload --port 8000 # 启动Celery Worker(另开终端) celery -A app.celery_app worker --loglevel=infocd frontend # 安装依赖 npm install # 启动开发服务器 npm run dev# 使用 Docker Compose docker-compose up -d # 访问应用 open http://localhost:3000每个功能模块都有独立的 Claude.md 文档:
| 技术 | 版本 | 用途 |
|---|---|---|
| Python | 3.9+ | 编程语言 |
| FastAPI | 0.100+ | Web框架 |
| Qlib | 0.8+ | 量化框架 |
| TA-Lib | Latest | 技术指标 |
| Celery | 5.3+ | 异步任务队列 |
| Redis | 6+ | 缓存&消息队列 |
| PostgreSQL | 14+ | 关系数据库 |
| SQLAlchemy | 2.0+ | ORM |
| Pydantic | 2.0+ | 数据验证 |
| pytest | Latest | 测试框架 |
| 技术 | 版本 | 用途 |
|---|---|---|
| TypeScript | 5.0+ | 编程语言 |
| React | 18+ | UI框架 |
| Vite | 4+ | 构建工具 |
| Zustand | Latest | 状态管理 |
| React Query | 4+ | 服务端状态 |
| React Router | 6+ | 路由 |
| Ant Design | 5+ | UI组件库 |
| ECharts | 5+ | 图表库 |
| ReactFlow | 11+ | 流程图 |
| Tailwind CSS | 3+ | CSS框架 |
| Vitest | Latest | 测试框架 |
qlib-ui/ ├── backend/ # 后端代码(FastAPI + Qlib) │ ├── app/ │ │ ├── modules/ # 7大功能模块 │ │ └── main.py # 应用入口 │ └── tests/ # 后端测试 ├── frontend/ # 前端代码(React + TypeScript) │ ├── src/ │ │ ├── modules/ # 5大功能模块 │ │ └── App.tsx # 应用入口 │ └── tests/ # 前端测试 ├── tests/e2e/ # E2E测试 ├── docs/ # 项目文档 ├── infrastructure/ # 基础设施(Docker, K8s) └── shared/ # 前后端共享代码 详见 项目结构文档
- 项目架构设计
- 功能模块划分
- 数据导入(Qlib + 本地文件)
- 策略模板系统(3-5个经典模板)
- 策略逻辑编辑器(基础节点)
- 回测配置+执行
- 回测结果展示(核心指标+基础图表)
- UI基础布局
- 完整数据可视化
- TA-Lib指标集成(40+)
- 参数优化引擎
- 策略诊断系统
- 自定义因子构建
- 新手引导+帮助系统
- 性能优化
- 测试覆盖率≥80%
- 文档完善
- Docker镜像构建
- CI/CD流程
- 模拟交易部署
- 实盘接口对接
- 策略社区(分享/评价)
- AI辅助策略生成
- 移动端适配
# 运行所有测试 make test # 后端测试 make test-backend # 或 cd backend && pytest # 前端测试 make test-frontend # 或 cd frontend && npm test # E2E测试 make test-e2e # 测试覆盖率报告 make coverage我们欢迎所有形式的贡献! 请参阅 贡献指南
- Fork 本仓库
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的修改 (
git commit -m 'feat: Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启一个 Pull Request
我们使用 Conventional Commits:
feat: 新功能 fix: Bug修复 docs: 文档更新 style: 代码格式(不影响功能) refactor: 重构 test: 测试相关 chore: 构建/工具相关 本项目采用 MIT License 许可证。
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: qlib-ui@example.com
