第3章:Python量化环境搭建

量化交易的第一步是什么?不是写策略,不是找数据。

是搭环境。

我见过太多人,一上来就 pip install 这个那个,结果版本冲突、依赖报错,折腾半天还没开始写代码。说实话,这很打击信心。所以这一章,咱们把环境彻底搞定。

3.1 为什么选Anaconda?

Python的包管理,说白了就是一场噩梦。你装了一个库,它依赖A版本;另一个库,它依赖B版本。两个版本不兼容,你就等着哭吧。

Anaconda 就是来解决这个问题的。它自带 Python 解释器,还带了一个叫 conda 的包管理器。conda 比 pip 强在哪?它能帮你处理依赖冲突。我个人的习惯是:每个项目建一个独立环境,互不干扰。

核心优势:

  • 自带 1500+ 科学计算包,省去手动安装的麻烦
  • 环境隔离,不同项目用不同 Python 版本
  • conda 比 pip 更擅长处理二进制依赖(比如 NumPy 底层调用的 C 库)

3.2 安装Anaconda

去官网下载对应系统的安装包。我建议选 Python 3.9 或 3.10 版本,太新的版本有些量化库还没适配。

安装时注意两点:

  • 勾选「Add Anaconda to my PATH environment variable」—— 虽然安装程序会警告,但加上更方便
  • 安装路径不要有中文和空格

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

conda --version

如果看到版本号,说明安装成功。嗯,这一步一般不会出问题。

3.3 创建量化专用环境

我个人习惯给每个项目建独立环境。比如这个套利系统,我专门建一个叫 quant 的环境:

conda create -n quant python=3.9

激活环境:

conda activate quant

你会看到命令行前面多了 (quant) 字样。这说明你现在在 quant 环境里操作了。

小技巧: 我经常用 conda info --envs 查看所有环境。如果某个环境搞坏了,直接 conda remove -n quant --all 删掉重建,比手动修复快得多。

3.4 安装核心量化库

接下来装四个最常用的库。我按顺序来:

conda install numpy
conda install pandas
conda install matplotlib
conda install scipy

为什么用 conda 而不是 pip?因为 conda 会自动帮你解决依赖。比如 NumPy 依赖 BLAS 和 LAPACK 这些底层数学库,conda 会一并装好。用 pip 的话,你可能要手动装这些,很烦。

装完后验证一下:

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

如果都没报错,说明环境搭好了。

避坑指南: 我曾经遇到过 pandas 和 numpy 版本不兼容,导致 DataFrame 操作报错。后来我养成了一个习惯:装完库后,先跑一个简单的测试脚本,确认所有库能正常协同工作。

3.5 Jupyter Notebook配置

Jupyter Notebook 是量化分析的神器。你可以边写代码边看结果,还能加注释、画图,非常适合探索性分析。

安装:

conda install jupyter

配置:

jupyter notebook --generate-config

这会生成一个配置文件,在 ~/.jupyter/jupyter_notebook_config.py。我一般会改几个地方:

  • c.NotebookApp.ip = '0.0.0.0' —— 允许远程访问
  • c.NotebookApp.port = 8888 —— 固定端口
  • c.NotebookApp.open_browser = False —— 不自动打开浏览器

启动:

jupyter notebook

然后在浏览器打开 http://localhost:8888,就能看到界面了。

个人经验: 我习惯在 Jupyter 里先写一个「环境检查」的 cell,把上面四个库的版本都打印出来。这样每次启动新项目时,一眼就能确认环境没问题。

3.6 环境验证实战

我们来写一个完整的验证脚本。新建一个 Notebook,输入以下代码:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as stats

# 生成随机数据
data = np.random.randn(1000)

# 计算统计量
mean = np.mean(data)
std = np.std(data)
skew = stats.skew(data)
kurt = stats.kurtosis(data)

print(f"均值: {mean:.4f}")
print(f"标准差: {std:.4f}")
print(f"偏度: {skew:.4f}")
print(f"峰度: {kurt:.4f}")

# 画图
plt.figure(figsize=(10, 6))
plt.hist(data, bins=30, alpha=0.7, label='随机数据')
plt.axvline(mean, color='r', linestyle='--', label=f'均值={mean:.2f}')
plt.title('环境验证:正态分布随机数')
plt.legend()
plt.show()

如果一切正常,你会看到一个漂亮的直方图,上面标着均值线。这说明你的量化环境已经可以正常工作了。

验证清单:

库名 版本要求 验证方法
NumPy ≥1.21.0 np.array([1,2,3]) 能正常创建
Pandas ≥1.3.0 pd.DataFrame() 能正常创建
Matplotlib ≥3.4.0 plt.plot() 能正常显示图形
SciPy ≥1.7.0 stats.norm.rvs() 能生成随机数

3.7 本章知识体系

下面这张图,帮你理清整个环境搭建的脉络:

量化环境搭建知识体系 Python量化环境 Anaconda安装 环境创建与管理 核心库安装 Jupyter配置 下载安装包 配置PATH conda create conda activate conda install 版本验证 生成配置 启动服务 最终验证:运行测试脚本 环境搭建完成后,建议保存为 conda 环境文件 conda env export > environment.yml 方便以后快速重建

环境搭好了,后面写策略、跑回测,才能顺风顺水。别嫌这一步麻烦,磨刀不误砍柴工。


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