2. 环境搭建与工具链:Python科学计算环境(Anaconda)、必备库(pandas, numpy, matplotlib, seaborn)、回测框架选型(Backtrader vs Zipline vs 自研)
说实话,做量化投资,环境搭建是第一步,也是最容易翻车的一步。我见过太多人花了一周时间装库、配环境,最后发现版本冲突,心态直接崩了。今天咱们就把这事一次性捋清楚。
2.1 Python科学计算环境:Anaconda
我个人习惯用 Anaconda 来管理 Python 环境。为什么?因为它自带 conda 包管理器,能帮你隔离不同项目的依赖。你想想看,一个项目用 pandas 1.0,另一个用 2.0,要是装在一个环境里,迟早出问题。
核心思路:每个因子研究项目,单独建一个 conda 环境。
安装步骤很简单,去官网下载对应系统的安装包,一路下一步就行。但我建议你注意两点:
- 不要勾选「Add Anaconda to PATH」——这会影响系统自带的 Python,我踩过这个坑。
- 安装路径不要有中文或空格——有些库编译时会报错。
装好后,验证一下:
conda --version
python --version
嗯,看到版本号就说明成功了。接下来创建一个专门用于因子回测的环境:
conda create -n factor_backtest python=3.9
conda activate factor_backtest
我曾经在项目里同时维护三个环境:一个做因子挖掘,一个做回测,一个做生产部署。互不干扰,省心得很。
2.2 必备库:pandas, numpy, matplotlib, seaborn
这四个库,是因子研究的「四件套」。少了哪个都不行。
| 库名 | 用途 | 我常用的版本 |
|---|---|---|
| pandas | 数据处理、时间序列、因子计算 | 1.5.x |
| numpy | 数值计算、矩阵运算 | 1.23.x |
| matplotlib | 基础绘图、回测曲线 | 3.6.x |
| seaborn | 统计图表、因子相关性热力图 | 0.12.x |
安装命令:
conda install pandas numpy matplotlib seaborn
或者用 pip:
pip install pandas numpy matplotlib seaborn
我个人更推荐 conda 安装,因为它会自动处理依赖冲突。有一次我用 pip 装 seaborn,结果把 matplotlib 的版本给升级了,导致之前画的图全变了样……从那以后,我尽量用 conda。
小技巧:装完后跑一下 import pandas as pd; print(pd.__version__),确认版本没问题。
2.3 回测框架选型:Backtrader vs Zipline vs 自研
这是个大问题。选错了框架,后面改起来想哭。我三个都用过,说说我的真实感受。
Backtrader
Backtrader 是我用得最多的框架。它轻量、灵活,适合做因子级别的回测。说白了,它就是一个事件驱动的回测引擎,你只需要定义策略逻辑,它帮你处理订单、滑点、佣金。
优点:
- 文档齐全,社区活跃
- 支持多数据源、多时间周期
- 内置分析器(夏普比率、最大回撤等)
缺点:
- 单线程,回测速度一般
- 对高频交易支持不够
安装:
pip install backtrader
Zipline
Zipline 是 Quantopian 开源的框架,功能很强大,但……嗯,有点重。我记得第一次用的时候,光是配置数据源就花了两天。它适合做全流程的回测,从数据获取到绩效分析一条龙。
优点:
- 内置数据管道,支持分钟级数据
- 与 Pyfolio、Alphalens 无缝集成
缺点:
- 安装复杂,依赖多
- 社区维护力度下降
避坑指南:我曾经在 Windows 上装 Zipline,折腾了三天没成功。后来换了 Linux 才搞定。如果你用 Windows,建议用 Docker 或者 WSL。
自研框架
说实话,如果你只是做因子研究,自研框架是最灵活的。我自己的做法是:写一个轻量级的回测引擎,只包含核心逻辑——因子计算、信号生成、持仓管理、绩效统计。
为什么自研?
- 完全可控,想加什么功能就加什么
- 没有冗余代码,回测速度快
- 方便与机器学习模型集成
但代价是:你需要自己处理滑点、停牌、复权等细节。嗯,这里要注意,这些细节很容易出错。
2.4 我的推荐
如果你刚开始做因子投资,我建议:
- 先用 Backtrader——上手快,能快速验证你的因子逻辑。
- 等熟悉了再考虑自研——当你发现 Backtrader 满足不了需求时,再自己写。
- Zipline 可以了解,但不推荐作为主力——除非你团队有专人维护。
一句话总结:环境搭好了,工具选对了,后面的事就顺了。别在第一步上纠结太久。
2.5 知识体系结构图
下面这张图,帮你理清本章的核心逻辑:
这张图从左到右,就是咱们搭建环境的完整路径。先搞定 Anaconda,再装好四件套,最后根据需求选框架。别跳步,每一步都踩实了。
最后说一句:环境搭建这事,一次配好,后面能省很多时间。别嫌麻烦,值得花半天把它搞利索。