第四章 Python环境搭建:Anaconda安装、Jupyter配置、常用量化库安装
做高频做市算法,第一件事不是写代码,而是搭环境。
我见过太多人一上来就 pip install 一堆东西,结果版本冲突、依赖报错,折腾半天还没开始写策略。说实话,这步走稳了,后面能省 80% 的坑。
4.1 为什么选 Anaconda?
Python 环境管理其实挺烦的。你想想看,做回测要用 pandas 1.3,跑实盘可能要用 1.5,不同项目依赖打架怎么办?
Anaconda 的核心价值就两点:
- 环境隔离:每个项目一个独立环境,互不干扰
- 包管理省心:conda 会自动处理依赖关系,比 pip 靠谱得多
我个人习惯是:每个策略项目建一个独立环境。比如做高频做市,我就建一个 hft_market_making 环境,里面只装这个策略需要的库。
避坑指南:我曾经在一个环境里同时装了 tensorflow 和 pytorch,结果两个框架的 CUDA 版本打架,花了两天才排查出来。从那以后,我坚持「一个项目一个环境」。
4.2 Anaconda 安装实战
安装过程其实很简单,但有几个细节要注意。
4.2.1 下载与安装
- 去 Anaconda 官网 下载对应系统的安装包
- 安装时记得勾选「Add Anaconda to my PATH environment variable」
- 安装完成后,打开终端(Windows 用 Anaconda Prompt)
注意:Windows 用户千万别用 cmd 或 PowerShell 直接跑 conda 命令,一定要用 Anaconda Prompt。我刚开始就踩过这个坑,报错说 conda 不是内部命令。
4.2.2 验证安装
打开终端,输入:
conda --version
python --version
如果能看到版本号,说明安装成功。嗯,这里要注意:conda 自带的 Python 版本可能不是最新的,但没关系,我们后面可以自己创建环境指定版本。
4.3 创建高频做市专用环境
我个人习惯用 Python 3.9,因为大部分量化库对这个版本支持最好。创建命令如下:
conda create -n hft_market_making python=3.9
conda activate hft_market_making
看到命令行前面多了 (hft_market_making) 就说明环境激活成功了。
小技巧:我习惯在环境名里加上项目缩写,比如 hft_mm_v1、hft_mm_v2,方便区分不同版本。
4.4 Jupyter 配置
Jupyter 是我们做策略研究和回测的主力工具。为什么用它?说白了,就是能边写代码边看结果,调试起来特别方便。
4.4.1 安装 Jupyter
在刚才创建的环境里,直接安装:
conda install jupyter notebook
# 或者用新版
conda install jupyterlab
我个人更推荐 JupyterLab,界面更现代,支持多标签页,还能直接拖拽文件。
4.4.2 配置内核
为了让 Jupyter 能识别我们刚创建的环境,需要安装 ipykernel:
conda install ipykernel
python -m ipykernel install --user --name hft_market_making --display-name "HFT Market Making"
这样在 Jupyter 里新建 notebook 时,就能选择「HFT Market Making」这个内核了。
避坑指南:我曾经忘记装 ipykernel,结果在 Jupyter 里怎么都找不到自己的环境。折腾了半小时才发现是这步漏了。嗯,现在每次建新环境,第一件事就是装 ipykernel。
4.5 常用量化库安装
做高频做市,下面这几个库是必备的。我按重要性排了个序:
| 库名 | 用途 | 安装命令 |
|---|---|---|
| pandas | 数据处理、回测框架基础 | conda install pandas |
| numpy | 数值计算、矩阵运算 | conda install numpy |
| ccxt | 交易所 API 统一接口 | pip install ccxt |
| matplotlib | 数据可视化 | conda install matplotlib |
| scipy | 统计、优化算法 | conda install scipy |
安装命令很简单,一条一条执行就行:
conda install pandas numpy matplotlib scipy
pip install ccxt
小技巧:为什么 ccxt 用 pip 而不是 conda?因为 ccxt 更新特别快,conda 上的版本经常滞后。我一般用 pip 装这种高频更新的库。
4.6 验证安装
装完之后,最好验证一下所有库都能正常导入。写个简单的测试脚本:
import pandas as pd
import numpy as np
import ccxt
import matplotlib.pyplot as plt
import scipy
print("pandas version:", pd.__version__)
print("numpy version:", np.__version__)
print("ccxt version:", ccxt.__version__)
print("All libraries loaded successfully!")
如果没报错,说明环境搭建完成。嗯,这里要注意:ccxt 第一次导入可能会慢一点,因为它要加载所有交易所的配置。
4.7 环境搭建知识体系
我把整个流程画了张图,方便你理解各个部分的关系:
4.8 环境管理小技巧
最后分享几个我平时常用的命令:
conda info --envs:查看所有环境conda list:查看当前环境已安装的包conda remove -n 环境名 --all:删除整个环境conda export > environment.yml:导出环境配置,方便别人复现
小技巧:我习惯把每个项目的 environment.yml 文件放在项目根目录下。这样换电脑或者给同事部署时,直接 conda env create -f environment.yml 就能一键复现环境。
好了,环境搭建就到这里。记住一句话:环境搭得好,策略写得早。别嫌麻烦,这步做扎实了,后面写代码会顺畅很多。