feat: 解决 aarch64 上 Qlib 安装(源码 git 固化依赖)并记录下载代理规则

- backend/pyproject.toml + uv.lock: pyqlib 以 git+https 固定 commit 79633dd 注册为核心依赖,
  替代无法在 Linux aarch64 安装的 PyPI wheel(ROADMAP §2 旧备注)
- engine.py: 更正占位说明(Qlib 现已可安装,工作流实现待 Phase 2 补齐)
- AGENT.md §0: 网络下载困难时使用 HTTP 代理 192.168.1.160:3128
- README / ROADMAP: 同步 Qlib 安装方式与代理说明
This commit is contained in:
Simon
2026-09-06 17:45:01 +08:00
parent d9be75a98f
commit 8f8b6d274f
6 changed files with 3351 additions and 16 deletions
+10 -11
View File
@@ -1,15 +1,14 @@
"""Qlib 后端引擎(桥接占位)。
当前开发平台为 Linux aarch64 + CPython 3.12:pyqlib 官方仅提供 x86_64 /
macOS / Windows 且最高 Python 3.8 的 wheel(实测 uv 解析不可满足),因此
Qlib 实现在此平台无法安装运行。
本模块是 Qlib 引擎的桥接边界(AGENT.md §14 / §15:Qlib 只允许在
quant/qlib_adapter/ 内被引用)。Qlib(pyqlib)已通过「源码 git 安装」成功
部署到本机(Linux aarch64 + CPython 3.12,backend/.venv,uv 管理;
backend/pyproject.toml 固定 commit,细节见 docs/ROADMAP.md §2 备注)。
受支持平台(如 x86_64 Linux + Python 3.11)启用方式:
cd backend && uv pip install pyqlib==0.9.7
将本模块替换为真实实现:Parquet/本地行情 → QlibDataset → Alpha158 →
LightGBM 训练/预测 → 回测,并归一化为 domain.entities.research 输出。
业务层经 app.quant.engine.QuantEngine Protocol 注入引擎,切换无需改业务代码。
基于 Qlib 的因子 / 回测工作流(Parquet/本地行情 → QlibDataset → Alpha158 →
LightGBM 训练/预测 → 回测,并归一化为 domain.entities.research 输出)属
Phase 2 后续实现;当前默认研究引擎仍为 LocalEngine(纯 pandas,见
app/quant/engine.py),业务层经 QuantEngine Protocol 注入,切换无需改业务代码。
"""
from __future__ import annotations
@@ -20,8 +19,8 @@ from app.domain.entities.research import BacktestResult, FactorTestReport, Resea
from app.quant.engine import QuantEngine
_MSG = (
"Qlib 引擎需要 pyqlib,当前平台(Linux aarch64 + Python 3.12)无可用 wheel。"
"请改用 LocalEngine 或在受支持平台安装 pyqlib 后实现(见本模块 docstring)。"
"Qlib 引擎工作流尚未实现:pyqlib 现已可在本机安装使用(见 docs/ROADMAP.md §2),"
"但 QlibDataset → LightGBM 的实现待 Phase 2 补齐。当前请使用默认 LocalEngine。"
)