1. Qlib环境搭建与初始化配置

Qlib环境搭建与初始化配置 学习卡片

任务目标

在本地 Python 环境中安装 Qlib,完成依赖配置,并通过初始化与一次最小数据加载验证运行环境可用。

环境与依赖

  • Python 3.8 ~ 3.12(推荐 3.10)
  • pip 最新版
  • Qlib(pyqlib)
  • 可选:numpy、pandas(Qlib 会自动安装)

建议使用独立虚拟环境,避免与系统包冲突。

安装步骤

# 1. 创建并激活虚拟环境
python -m venv qlib-env
# Windows
qlib-env\Scripts\activate
# macOS / Linux
source qlib-env/bin/activate

# 2. 升级 pip
python -m pip install --upgrade pip

# 3. 安装 Qlib
pip install pyqlib

若需从源码安装最新版,可执行:

pip install git+https://github.com/microsoft/qlib.git

初始化与最小验证代码

Qlib 使用 qlib.init() 完成初始化,需要指定数据目录(provider_uri)和区域(region)。下面代码在临时目录中初始化 Qlib,并读取一个内置数据集来验证环境。

import qlib
from qlib.constant import REG_CN
from qlib.data import D

# 使用 Qlib 自带示例数据目录(安装包内附带)
import qlib as _qlib
import os

provider_uri = os.path.join(os.path.dirname(_qlib.__file__), "tests", "data")

# 初始化 Qlib
qlib.init(provider_uri=provider_uri, region=REG_CN)
print("Qlib 初始化成功,provider_uri =", provider_uri)

# 读取交易日历,验证数据接口可用
cal = D.calendar(start_time="2020-01-01", end_time="2020-01-10")
print("交易日历(前5个):", cal[:5])

# 读取一只股票的收盘价,验证特征接口可用
df = D.features(
    instruments=["SH600000"],
    fields=["$close"],
    start_time="2020-01-01",
    end_time="2020-01-10",
)
print(df.head())

运行方式

python check_qlib.py

验证方法与通过条件

  • 脚本无异常退出,打印 Qlib 初始化成功。
  • D.calendar 返回非空交易日列表。
  • D.features 返回包含 $close 列的 DataFrame,且行数大于 0。

满足以上三点即表示 Qlib 基础运行环境搭建完成。

常见问题

  • ModuleNotFoundError: No module named 'qlib':确认虚拟环境已激活,且 pip install pyqlib 成功。
  • 初始化报错找不到数据:确认 provider_uri 路径存在;若使用自定义数据,需先按 Qlib 数据格式准备。
  • Windows 下编译依赖失败:优先使用 Python 3.10,并升级 pip 与 setuptools。