第3章:Python环境准备——Anaconda安装、虚拟环境创建、必备库安装
说实话,很多做量化的人,最后都栽在了环境配置上。
代码写得好好的,换台机器就跑不起来了。库版本冲突、Python解释器不对、依赖缺失……这些坑我全踩过。所以这一章,咱们把环境彻底搞定。后面写策略、跑回测,才能心无旁骛。
3.1 为什么非要用Anaconda?
你可能会问:我直接用系统自带的Python不行吗?
嗯,理论上可以。但实际做量化金融,你会遇到一堆麻烦事:
- numpy、pandas这些库,底层依赖C和Fortran编译器。手动装?够你折腾半天。
- 不同项目需要不同版本的Python。比如backtrader支持3.6+,但有些旧策略只认3.7。
- pip安装有时会静默失败,你根本不知道少了哪个动态链接库。
Anaconda把这些全包了。它自带conda包管理器,能帮你隔离环境、管理依赖。我个人的习惯是:每个量化项目一个独立环境,互不干扰。
3.2 Anaconda安装实战
去官网下载Anaconda Installer,选Python 3.9或3.10版本。别追新,3.11以上有些金融库还没适配好。
安装时注意两点:
- 勾选「Add Anaconda to my PATH environment variable」——虽然安装程序会警告,但我建议你勾上。省得后面每次都要手动找conda命令。
- 安装路径不要有中文和空格。 我见过有人装在「D:\程序\量化分析」下面,结果conda activate死活报错。
装完后打开终端(Windows用Anaconda Prompt,Mac/Linux用普通终端),输入:
conda --version
如果看到版本号,比如 conda 23.7.4,说明安装成功。
source ~/.bash_profile 刷新环境变量。我每次重装系统都忘这步。
3.3 创建虚拟环境——给每个项目一个「独立房间」
虚拟环境是什么?说白了,就是给每个项目一个独立的Python解释器和包目录。你在环境A里装backtrader 1.5,环境B里装1.8,互不影响。
我习惯用这种命名规则:项目名_python版本。比如:
conda create -n quant_env python=3.9
这条命令会创建一个叫 quant_env 的环境,Python版本锁定为3.9。
创建完成后,激活它:
conda activate quant_env
你会看到终端提示符前面多了 (quant_env),说明你已经在虚拟环境里了。
conda activate quant_env。我刚开始经常忘,结果pip install装到了base环境里,搞得一团糟。后来我养成了习惯:写代码前先看一眼终端提示符。
3.4 必备库安装——pandas、numpy、matplotlib
这三个是量化金融的「三件套」。安装命令很简单:
conda install pandas numpy matplotlib
用conda安装的好处是:它会自动解决依赖冲突。比如pandas依赖numpy的某个特定版本,conda会帮你算好。
验证安装是否成功:
python -c "import pandas; import numpy; import matplotlib; print('OK')"
如果输出 OK,说明一切正常。
VCRUNTIME140.dll。后来发现是Visual C++ Redistributable没装。去微软官网下载安装就好了。如果你遇到类似问题,别慌,大概率是系统级依赖缺失。
3.5 回测框架安装——backtrader 和 zipline
这两个是回测的核心工具。backtrader轻量、灵活,适合快速验证策略。zipline功能更全,但安装稍复杂。
3.5.1 安装backtrader
pip install backtrader
注意:backtrader在PyPI上,所以用pip而不是conda。安装后测试:
python -c "import backtrader; print(backtrader.__version__)"
3.5.2 安装zipline
zipline的安装稍微麻烦一点。我推荐用conda-forge渠道:
conda install -c conda-forge zipline
如果你在Windows上,可能会遇到 Microsoft C++ Build Tools 的报错。解决方案:
- 下载安装 Visual C++ Build Tools
- 或者直接用
conda install -c conda-forge zipline,conda-forge通常已经预编译好了。
3.6 本章知识体系总览
下面这张图,帮你理清整个环境搭建的逻辑:
3.7 验证环境——跑一个最小回测
装完所有库后,我习惯跑一个最小化的回测脚本,确认环境没问题:
import backtrader as bt
import pandas as pd
# 生成模拟数据
dates = pd.date_range('2020-01-01', '2020-12-31')
data = pd.DataFrame({
'open': [100 + i*0.1 for i in range(len(dates))],
'high': [101 + i*0.1 for i in range(len(dates))],
'low': [99 + i*0.1 for i in range(len(dates))],
'close': [100.5 + i*0.1 for i in range(len(dates))],
'volume': [1000] * len(dates)
}, index=dates)
# 定义简单策略
class TestStrategy(bt.Strategy):
def next(self):
pass
# 运行回测
cerebro = bt.Cerebro()
data_feed = bt.feeds.PandasData(dataname=data)
cerebro.adddata(data_feed)
cerebro.addstrategy(TestStrategy)
result = cerebro.run()
print("环境验证通过!回测引擎正常运行。")
如果这段代码能顺利跑完,恭喜你——环境搭建成功了。
ModuleNotFoundError: No module named 'backtrader',说明你忘记激活虚拟环境了。先 conda activate quant_env 再试。
3.8 本章小结
环境搭建是量化回测的「地基」。地基不稳,后面全是空中楼阁。
这一章我们做了三件事:
- 安装了Anaconda,解决了Python包管理的底层依赖问题
- 创建了独立的虚拟环境,让每个项目互不干扰
- 安装了pandas、numpy、matplotlib、backtrader、zipline这些必备库
我个人建议:把 conda create -n quant_env python=3.9 和 conda activate quant_env 这两个命令记在备忘录里。你以后每次开新项目,都会用到它们。
公众号:蓝海资料掘金营,微信deep3321