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,装好的库仍然属于当前虚拟环境,不会污染全局。

避坑指南: 我曾经在conda环境里用pip装了一个库,然后又用conda装了另一个版本,结果两个版本冲突,程序直接崩溃。后来我学乖了:一个环境里,要么全用conda,要么全用pip,不要混用。backtrader只能用pip,那其他库也用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 知识体系总览

下面这张图,是我梳理的本章知识结构。你看一眼,心里就有数了:

Python量化环境 Anaconda Jupyter Notebook 必备库 虚拟环境隔离 conda包管理 多版本Python 交互式编程 代码+图表+注释 策略研究利器 pandas(数据处理) numpy(数值计算) matplotlib(可视化) backtrader(回测框架) 环境搭好,回测不愁

这张图把本章的核心内容串起来了。Anaconda管环境,Jupyter管交互,四个库管干活。三者缺一不可。

3.8 一些心里话

环境配置这件事,看起来简单,但真做起来总会遇到各种幺蛾子。我当年第一次装backtrader,因为没装ta-lib(技术分析库),折腾了两天。后来才发现,backtrader本身不依赖ta-lib,是我自己多虑了。

所以我的建议是:先跑通最简单的例子,再慢慢加功能。别一上来就想搞个完整的回测系统,那样只会让自己崩溃。

好了,环境搭好了,下一章咱们就开始真正写策略了。记住:工欲善其事,必先利其器。这一步走稳了,后面就顺了。


专注资料整理