1. 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。