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

做量化交易,说白了就是跟数据打交道。而Python,就是咱们手里最趁手的工具。这一章,咱们把环境搭好,后面写策略、跑回测才能顺风顺水。

我个人习惯,做量化项目一定用Anaconda。为什么?因为它把Python、包管理器、还有Jupyter Notebook都打包好了。你想想看,要是手动装Python再一个个装库,光是版本冲突就能折腾半天。我刚开始做回测那会儿,就吃过这个亏——pandas版本不对,回测结果全是错的,排查了两天才发现是库版本的问题。

3.1 为什么选Anaconda?

Anaconda是一个Python发行版,它自带conda包管理器。conda比pip强在哪?它能管理非Python的依赖。比如你装numpy,它底层依赖的BLAS、LAPACK这些C库,conda能一并搞定。pip有时候就搞不定这些。

还有一个好处——环境隔离。做量化交易,你可能同时维护好几个策略。有的策略用pandas 1.0,有的用2.0。用conda创建虚拟环境,互不干扰。我曾经因为没做环境隔离,一个策略升级了库,另一个策略直接跑崩了。从那以后,每个项目我都单独建环境。

核心要点: Anaconda = Python + conda + 常用科学计算库。适合量化交易场景。

3.2 安装Anaconda

去官网下载对应系统的安装包。Windows用户注意,安装时勾选「Add Anaconda to my PATH environment variable」。虽然安装程序会提醒你不推荐,但我建议勾上。不然每次都要手动激活环境,很烦。

安装完成后,打开终端(Windows用Anaconda Prompt),输入:

conda --version

能看到版本号,说明装好了。嗯,这里要注意:如果提示找不到命令,八成是PATH没配好。重新安装,勾上那个选项就行。

3.3 创建虚拟环境

我个人习惯,每个量化项目都建一个独立环境。比如咱们这个课程,就叫它quant_env

conda create -n quant_env python=3.9

Python版本我选3.9。为什么不是最新的3.12?因为有些量化库对最新Python支持还不完善。3.9是个稳妥的选择,大部分库都兼容。

激活环境:

conda activate quant_env

看到命令行前面多了(quant_env),说明环境激活成功。退出环境用conda deactivate

小技巧:conda info --envs 可以查看所有环境列表。用 conda remove -n quant_env --all 可以删除环境。

3.4 安装Jupyter Notebook

Jupyter Notebook是量化交易的神器。你可以边写代码边看结果,还能加注释、画图表。回测结果直接可视化,比在终端里看数字直观多了。

安装:

conda install jupyter

启动:

jupyter notebook

浏览器会自动打开一个页面。如果没打开,复制终端里显示的URL到浏览器就行。默认端口是8888,如果被占用了,Jupyter会自动换端口。

我个人习惯,在项目根目录启动Jupyter。这样所有文件都在同一个工作目录下,导入数据、保存结果都方便。

3.5 安装常用库

量化交易最常用的四个库:pandas、numpy、matplotlib、ccxt。咱们一个一个来。

3.5.1 pandas

pandas是数据处理的核心。K线数据、订单簿、交易记录,全用DataFrame来存。安装:

conda install pandas

验证:

python -c "import pandas; print(pandas.__version__)"

能打印出版本号就行。我建议装1.5.x版本,稳定。2.0版本改动较大,有些旧代码可能不兼容。

3.5.2 numpy

numpy做数值计算。pandas底层也依赖它。安装:

conda install numpy

验证:

python -c "import numpy; print(numpy.__version__)"

3.5.3 matplotlib

画图用的。回测结果可视化,K线图、资金曲线、回撤图,全靠它。安装:

conda install matplotlib

验证:

python -c "import matplotlib; print(matplotlib.__version__)"
注意: 如果在Jupyter里画图,记得加一行 %matplotlib inline。不然图不会显示在Notebook里。我刚开始用Jupyter时,画了半天图看不到,还以为代码写错了。

3.5.4 ccxt

ccxt是连接交易所的库。支持100多家交易所,API统一。做量化交易,拿行情数据、下单交易,都靠它。安装:

pip install ccxt

为什么用pip?因为conda上ccxt的版本更新慢。ccxt更新频繁,交易所API一变,它就得跟着改。用pip能装到最新版。

验证:

python -c "import ccxt; print(ccxt.__version__)"

3.6 环境验证

装完所有库,咱们写个小脚本验证一下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import ccxt

print("pandas:", pd.__version__)
print("numpy:", np.__version__)
print("matplotlib:", plt.matplotlib.__version__)
print("ccxt:", ccxt.__version__)

# 生成随机数据测试
data = np.random.randn(100)
df = pd.DataFrame(data, columns=['price'])
df['ma'] = df['price'].rolling(10).mean()

plt.plot(df['price'], label='price')
plt.plot(df['ma'], label='MA10')
plt.legend()
plt.show()

print("环境搭建完成!")

能正常运行,说明环境没问题。如果报错,检查哪个库没装好。

3.7 知识体系总览

下面这张图,把咱们这一章的核心逻辑串起来了:

量化做市策略回测系统 - 环境搭建知识体系 Anaconda Python 3.9 虚拟环境 Jupyter Notebook 常用库安装 pandas 数据处理 numpy 数值计算 matplotlib 可视化 ccxt 交易所接口 环境验证 → 开始量化做市策略回测

3.8 避坑指南

环境搭建看着简单,但坑不少。我把自己踩过的坑列出来,你遇到了直接对照:

  • Python版本冲突: 我曾经在同一个环境里装了pandas 1.5和2.0,结果DataFrame的API对不上,回测结果全乱套。记住:一个环境一个版本,别混装。
  • ccxt安装失败: 如果pip安装ccxt报错,八成是网络问题。换国内镜像源:pip install ccxt -i https://pypi.tuna.tsinghua.edu.cn/simple
  • Jupyter内核问题: 在虚拟环境里启动Jupyter,但内核还是base环境的。解决办法:在虚拟环境里装ipykernel,然后python -m ipykernel install --user --name quant_env
  • matplotlib中文乱码: 画图时中文显示成方框。加两行代码:plt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = False
我的习惯: 每次新建项目,先建虚拟环境,装好所有库,然后跑一遍验证脚本。确认没问题了,才开始写策略代码。这一步省不了,不然写到一半发现环境有问题,心态直接崩。

好了,环境搭好了。下一章咱们开始拿真实行情数据,写第一个做市策略的回测。工具都准备好了,剩下的就是干活。


公众号:蓝海资料掘金营,微信deep3321