QuantStats · Installation
QuantStats安装教程:pip/conda 两种方式与依赖清单
QuantStats 支持 pip 与 conda 两种安装方式,要求 Python≥3.10,并依赖 pandas、numpy、scipy、matplotlib、seaborn、tabulate、yfinance 等。安装后 import quantstats as qs 即可开始使用。
quantstats
-c ranaroussi
QuantStats 两条安装路线示意;基于官方 README,非官方路线图。
安装方式对照表
QuantStats 官方 README 提供 pip 与 conda 两种主路径;下面补充虚拟环境、源码安装、离线等变体,覆盖不同网络与团队环境。
| 方式 | 命令 | 适用场景 | 注意点 |
|---|---|---|---|
| pip | pip install quantstats --upgrade --no-cache-dir | 最常用,全局或 venv 环境 | --no-cache-dir 避免旧缓存干扰升级 |
| conda | conda install -c ranaroussi quantstats | 使用 conda 统一管理 Python 与依赖的用户 | 依赖 conda-forge/ranaroussi 频道可用性 |
| 虚拟环境 venv | python -m venv venv 后激活再 pip 安装 | 避免污染系统 Python、项目隔离 | 每次使用前需先激活对应环境 |
| 源码安装 | pip install git+https://github.com/ranaroussi/quantstats | 需要开发版/未发布修复的场景 | 以 GitHub 仓库实际分支为准,非官方 README 主路径 |
| 依赖自动解析 | pip/conda 自动装 pandas/numpy/scipy 等 | 首次安装默认行为 | 版本冲突时 pip 会报 resolver 错误,需新建干净环境 |
| 离线/内网 | 先在有网环境下载 wheel,再 pip install 本地文件 | 无外网的内网/隔离环境 | 需一并准备依赖 wheel;以 PyPI 提供为准 |
pip 安装分步流程
以下为官方 README 推荐的 pip 路径,按「确认环境 → 隔离 → 安装 → 验证 → 试算」五步落地。
1. 确认 Python 版本:python --version 需输出 ≥ 3.10。预期输出如 Python 3.11.9;低于 3.10 先升级,否则依赖解析会失败。
2. 创建并激活虚拟环境(推荐):python -m venv venv,Windows 激活 venv\Scripts\activate、macOS/Linux source venv/bin/activate。激活后命令行前缀出现 (venv) 即成功,避免污染系统环境。
3. 安装 quantstats:pip install quantstats --upgrade --no-cache-dir。pip 会顺带解析并安装 pandas/numpy/scipy/matplotlib/seaborn/tabulate/yfinance 等依赖,预期输出末尾出现 Successfully installed quantstats-...。
4. 验证可导入:python -c "import quantstats as qs; print(qs.__version__)",能打印版本号即安装成功,无报错。
5. 试算一个指标:python -c "import quantstats as qs; import pandas as pd; r=pd.Series([0.01,-0.02,0.03]); print(qs.stats.sharpe(r))",能返回数值说明核心 stats 模块可用(示例仅验证安装,非真实绩效)。
依赖清单
依据官方 README Requirements(版本为最低要求)。
| 依赖 | 最低版本 | 用途 |
|---|---|---|
| Python | 3.10+ | 运行时;QuantStats 全部代码在 Python≥3.10 上运行 |
| pandas | 1.5.0 | 收益序列核心数据结构(Series/DataFrame),qs.extend_pandas() 依托它 |
| numpy | 1.24.0 | 底层数值计算(均值、标准差、收益复合等向量化运算) |
| scipy | 1.11.0 | 统计分布、VaR/CVaR 等风险指标的统计计算 |
| matplotlib | 3.7.0 | plots 模块所有绩效图(净值/回撤/月度热力图等)的底层绘图引擎 |
| seaborn | 0.13.0 | 月度热力图等统计图的样式封装 |
| tabulate | 0.9.0 | 把指标结果渲染成对齐的文本表格(终端输出) |
| yfinance | 0.2.40 | qs.utils.download_returns() 拉取美股等行情数据 |
| plotly(可选) | 5.0.0 | 仅 plots.to_plotly() 把静态图转交互图时需要,不装不影响其他功能 |
安装常见问题排查
| 现象 | 原因 | 处理 |
|---|---|---|
| ModuleNotFoundError: No module named 'quantstats' | 未安装,或当前 Python 解释器不是安装所在环境(venv 未激活) | 激活对应 venv 后 pip show quantstats 确认,缺失则重新 pip install |
| Python 版本过低报错 | Python < 3.10,不满足官方 Requirements | 升级到 Python≥3.10 后重建 venv |
| pip 依赖 resolver 冲突 | 已有 pandas/numpy 版本与 quantstats 要求不兼容 | 新建干净 venv 用 --no-cache-dir 重装,避免污染旧环境 |
| download_returns 拉取失败/超时 | yfinance 网络不通或第三方限流 | 换自备收益序列(pandas Series/DataFrame)传入,或稍后重试 |
| plots.to_plotly() 报错 | 未安装可选依赖 plotly | pip install plotly 即可;不用交互图则无需处理 |
| 安装成功但 import 报其他错误 | 依赖版本过旧或混装(pip 与 conda 混用) | 统一用一种包管理器,重建环境按 README 版本要求安装 |
常见问题
QuantStats 需要付费吗?
不需要。它是 Apache-2.0 开源库,pip/conda 免费安装;但拉取行情数据的 yfinance 等第三方源可能有自身限流/延迟,具体以 PyPI 与官方 README 为准。
必须用 conda 吗?
不必。pip 和 conda 二选一即可,官方 README 两者都支持;具体以官方 README 的 Installation 段落为准。
pip 和 conda 能混用吗?
不建议。混用易造成依赖版本冲突与「装错环境」;建议统一用一种包管理器并配合独立 venv/conda 环境,避免污染系统 Python,以官方安装说明为准。
安装后怎么确认成功?
运行 python -c "import quantstats as qs; print(qs.__version__)",能打印版本号且无报错即安装成功;若报 ModuleNotFoundError 说明环境未激活或未装,以官方 README 为准。
想免部署不装 Python 怎么办?
可考虑 EasyClaw 量化 Skill 的免部署研究路线(如 quant-analyst 量化分析、akshare-finance 财经数据);但 QuantStats 与 EasyClaw 无已证实集成,两者是独立路线,具体见对比页。