3. 环境搭建与工具链:Python环境配置、Anaconda与Jupyter、必备库安装

做量化交易,说白了就是跟数据打交道。你想想看,没有趁手的工具,再好的策略也跑不起来。这一章,我就带你把整个开发环境搭好。嗯,这里要注意,环境搭建看似基础,但我在项目中见过太多人因为版本冲突、路径混乱,白白浪费一整天。

3.1 为什么选Python?

我个人习惯用Python做回测,原因很简单:生态太丰富了。pandas处理时间序列、numpy做矩阵运算、matplotlib画K线图,再加上backtrader这个回测框架,一条龙搞定。

你可能要问:「用其他语言不行吗?」当然可以。但Python的社区支持、第三方库数量,做量化交易绝对是第一梯队。我记得刚入行时,有个同事用C++写回测引擎,光数据结构就折腾了两周。我用Python,半天就搭好了原型。

3.2 Anaconda:一站式环境管理

Anaconda是什么?说白了就是一个Python发行版,帮你把Python解释器、常用库、包管理器都打包好了。我建议新手直接装Anaconda,省心。

为什么推荐Anaconda?
  • 自带conda包管理器,比pip更智能
  • 预装了200+科学计算库
  • 支持创建隔离环境,避免项目间冲突

安装步骤很简单:去官网下载对应系统的安装包,一路下一步就行。但有个坑——安装路径不要有中文和空格。我曾经因为用户名是中文,导致Jupyter启动报错,折腾了半小时才发现。

避坑指南:安装时勾选「Add Anaconda to my PATH environment variable」。虽然安装程序会提示不推荐,但你不勾选的话,后面每次都要手动激活环境,很麻烦。

3.3 创建虚拟环境

做回测项目,我习惯单独建一个环境。这样不会污染全局Python,也方便迁移。

# 创建环境,指定Python版本
conda create -n backtest_env python=3.9

# 激活环境
conda activate backtest_env

# 退出环境
conda deactivate

环境名我一般用项目名加_env后缀。比如这个课程,就叫backtest_env。你想想看,如果所有项目都混在base环境里,哪天升级了某个库,其他项目可能就崩了。

3.4 Jupyter Notebook:交互式开发利器

Jupyter Notebook是我做策略探索时的最爱。你可以边写代码边看结果,还能加Markdown注释。说实话,没有Jupyter,我写策略的效率至少降一半。

安装很简单:

conda install jupyter notebook

启动:

jupyter notebook

浏览器会自动打开一个页面,默认端口是8888。如果端口被占用,它会自动找下一个可用端口。

我的小技巧:在Jupyter里,按Tab键可以自动补全代码,按Shift+Tab可以查看函数文档。这两个快捷键,我每天用上百次。

3.5 必备库安装

接下来是重头戏——安装回测必备的四个库。我按依赖顺序来装:

3.5.1 pandas:数据处理核心

pandas是量化交易的基础。DataFrame结构天然适合处理时间序列数据。安装:

conda install pandas

或者用pip:

pip install pandas

我个人推荐用conda安装,因为它会自动处理依赖关系。比如pandas依赖numpy,conda会一并装上。

3.5.2 numpy:数值计算引擎

numpy提供高效的数组运算。虽然pandas底层已经用了numpy,但有些场景还是需要直接操作numpy数组。安装:

conda install numpy

3.5.3 matplotlib:数据可视化

回测结果总要画出来吧?matplotlib就是干这个的。安装:

conda install matplotlib

我建议同时安装seaborn,它基于matplotlib,画出来的图更漂亮:

conda install seaborn

3.5.4 backtrader:回测框架

backtrader是这次课程的核心。它封装了回测的通用逻辑,你只需要写策略逻辑就行。安装:

pip install backtrader

注意,backtrader在conda源里可能不是最新版,所以我用pip安装。如果遇到网络问题,可以加国内镜像:

pip install backtrader -i https://pypi.tuna.tsinghua.edu.cn/simple

3.6 验证安装

装完别急着走,先验证一下。打开Jupyter,新建一个Notebook,运行以下代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import backtrader as bt

print(f"pandas版本: {pd.__version__}")
print(f"numpy版本: {np.__version__}")
print(f"backtrader版本: {bt.__version__}")

# 简单测试:生成随机数据并画图
data = pd.DataFrame(np.random.randn(100, 3), columns=['A', 'B', 'C'])
data.plot()
plt.title('安装验证测试')
plt.show()

如果没报错,还能看到一张折线图,恭喜你,环境搭好了!

常见问题:如果import backtrader报错,检查一下是不是在正确的环境里运行的。我经常犯这个错——在base环境里装了一堆库,结果激活环境后全没了。

3.7 知识体系总览

下面这张图,是我画的环境搭建整体流程。你可以对照着检查自己走到哪一步了:

做市策略回测系统 - 环境搭建流程 Step 1: 安装Anaconda Python发行版 + 包管理器 Step 2: 创建虚拟环境 conda create -n backtest_env Step 3: 安装Jupyter 交互式开发环境 Step 4 安装必备库 必备库一览 pandas 数据处理核心 numpy 数值计算引擎 matplotlib 数据可视化 backtrader 回测框架 ✅ 最后:验证安装(import测试)

3.8 环境管理小贴士

命令 作用 使用频率
conda list 查看当前环境已安装的包 ⭐⭐⭐⭐
conda env list 列出所有虚拟环境 ⭐⭐⭐
conda remove -n env_name --all 删除整个环境
conda export > environment.yml 导出环境配置(方便分享) ⭐⭐
我的习惯:每次开始新项目前,先运行 conda env list 确认当前在哪个环境。然后运行 conda list | grep backtrader 检查关键库是否装好。这一套流程走下来,基本不会出问题。

好了,环境搭好了,工具也装齐了。下一节,我们就可以开始写真正的回测代码了。记住,好的开始是成功的一半——环境搭得稳,后面写策略才顺手。


专注资料整理