3. Python环境与工具链:Anaconda安装、Jupyter Notebook配置、必备库
说实话,做量化回测这件事,环境搭不好,后面全是坑。我见过太多人花了两周写策略,结果因为库版本冲突跑不起来,气得想砸电脑。所以这一章,咱们把地基打牢。
3.1 为什么选Anaconda?
Python的包管理,说白了就是一场噩梦。你装一个库,它依赖另一个库,另一个库又依赖特定版本……搞着搞着就乱套了。Anaconda就是来解决这个问题的。
我个人习惯用Anaconda,因为它自带150多个科学计算库,而且能创建独立的虚拟环境。什么意思呢?就是你做量化回测用一个环境,做机器学习用另一个环境,互不干扰。我曾经因为numpy版本冲突,整整debug了一下午,后来才发现是环境没隔离。
- 自带pandas、numpy、matplotlib等常用库
- conda命令比pip更智能,能自动解决依赖冲突
- 虚拟环境隔离,项目之间不打架
3.2 安装Anaconda
去官网下载对应系统的安装包就行。我建议选Python 3.9或3.10版本,太新的版本有些库还没适配。
安装时注意两点:
- 勾选「Add Anaconda to my PATH environment variable」——虽然安装程序会警告,但加上更方便
- 安装路径不要有中文和空格,否则后面各种莫名其妙的问题
装完后打开终端,输入 conda --version,能看到版本号就说明成功了。
3.3 创建虚拟环境
我习惯每个项目都建一个独立环境。比如我们这个量化回测课程,可以这样建:
conda create -n quant python=3.9
conda activate quant
看到命令行前面多了个 (quant) 就对了。嗯,这里要注意:每次打开终端都要先激活环境,不然你装的库都在base环境里,容易乱。
3.4 Jupyter Notebook配置
Jupyter Notebook是我做量化回测最常用的工具。为什么?因为它能边写代码边看结果,还能加注释和图表,特别适合策略研究。
安装很简单:
conda install jupyter notebook
然后启动:
jupyter notebook
浏览器会自动打开一个页面。我建议你改一下默认工作目录,不然每次都要cd到项目文件夹,很烦。
start_jupyter.bat(Windows)或 start_jupyter.sh(Mac/Linux),里面写上 conda activate quant && jupyter notebook。以后双击就能启动,省事。
3.5 必备库安装
做量化回测,下面这几个库是吃饭的家伙:
| 库名 | 用途 | 安装命令 |
|---|---|---|
| pandas | 数据处理,尤其是时间序列 | conda install pandas |
| numpy | 数值计算,矩阵运算 | conda install numpy |
| matplotlib | 数据可视化,画K线图 | conda install matplotlib |
| backtrader | 量化回测框架 | pip install backtrader |
你可能会问:为什么backtrader用pip而不是conda?因为conda源里没有backtrader,只能用pip装。不过没关系,在conda环境里用pip,装好的库仍然属于当前虚拟环境,不会污染全局。
3.6 验证安装
装完之后,咱们验证一下。打开Jupyter Notebook,新建一个Python文件,输入:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import backtrader as bt
print("pandas版本:", pd.__version__)
print("numpy版本:", np.__version__)
print("backtrader版本:", bt.__version__)
print("环境配置成功!")
能正常输出版本号,就说明环境搭好了。如果报错,多半是库没装对或者环境没激活。
3.7 知识体系总览
下面这张图,是我梳理的本章知识结构。你看一眼,心里就有数了:
这张图把本章的核心内容串起来了。Anaconda管环境,Jupyter管交互,四个库管干活。三者缺一不可。
3.8 一些心里话
环境配置这件事,看起来简单,但真做起来总会遇到各种幺蛾子。我当年第一次装backtrader,因为没装ta-lib(技术分析库),折腾了两天。后来才发现,backtrader本身不依赖ta-lib,是我自己多虑了。
所以我的建议是:先跑通最简单的例子,再慢慢加功能。别一上来就想搞个完整的回测系统,那样只会让自己崩溃。
好了,环境搭好了,下一章咱们就开始真正写策略了。记住:工欲善其事,必先利其器。这一步走稳了,后面就顺了。