第一章:Python量化基础环境搭建

做量化交易,说白了就是让代码替我们做决策。但工欲善其事,必先利其器。今天我们就来搭好这个「器」——从零开始,把Python量化环境整明白。

我个人习惯把环境搭建分成三步:装Anaconda、配Jupyter、装量化库。这三步走完,你就能在电脑上跑出第一条量化策略了。

1.1 为什么选Anaconda?

很多新手会问:「我直接装Python不行吗?」当然行。但Anaconda帮你省了太多事。它自带Python、包管理器conda、还有一大堆科学计算库。你想想看,要是手动装numpy、pandas、matplotlib这些库,光解决依赖冲突就能折腾半天。

我在项目中遇到过最典型的情况:团队里有人用Python 3.8,有人用3.10,结果代码跑出来的结果不一样。后来统一用Anaconda创建虚拟环境,再也没出过这种问题。

核心优势:

  • 自带Python解释器,不用单独装
  • conda管理包,比pip更稳
  • 支持创建多个虚拟环境,项目间互不干扰
  • 预装200+常用科学计算包

1.2 安装Anaconda

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

安装时注意两点:

  • Windows用户记得勾选「Add Anaconda to my PATH environment variable」
  • 安装路径不要有中文和空格

嗯,这里要注意:Mac用户用pkg安装包,Linux用户用.sh脚本。装完后打开终端,输入:

conda --version

如果看到版本号,说明装好了。我曾经帮一个学员排查问题,他输完命令报错「command not found」,结果发现是没勾选PATH那个选项。重装一遍就好了。

1.3 配置Jupyter Notebook

Jupyter Notebook是量化研究的利器。你可以在里面写代码、看结果、画图表,还能加文字说明。说白了,它就是量化交易员的电子实验本。

Anaconda装好后,Jupyter已经自带了。打开终端输入:

jupyter notebook

浏览器会自动打开一个页面。如果没自动打开,复制终端里那个带token的URL到浏览器就行。

我的习惯:在桌面建一个「quant_notebooks」文件夹,专门放量化相关的notebook。这样文件好找,也方便备份。

Jupyter有几个快捷键必须记住:

  • Shift + Enter:运行当前单元格并跳到下一个
  • Ctrl + Enter:运行当前单元格但不跳转
  • Esc + A:在当前单元格上方插入新单元格
  • Esc + B:在当前单元格下方插入新单元格

为什么会这样设计?因为量化研究经常要反复调试代码,这些快捷键能让你手不离键盘,效率翻倍。

1.4 安装常用量化库

量化交易最核心的三个库:numpy、pandas、matplotlib。它们的关系是这样的:

NumPy 数值计算基础 Pandas 数据处理分析 Matplotlib 数据可视化 量化交易核心库关系图 NumPy → Pandas → Matplotlib 层层递进

安装命令很简单。打开终端,输入:

conda install numpy pandas matplotlib

或者用pip也行:

pip install numpy pandas matplotlib

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

1.5 验证环境是否正常

装完别急着走。咱们得验证一下,确保所有库都能正常用。打开Jupyter Notebook,新建一个Python 3的notebook,输入以下代码:

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

# 验证numpy
print("NumPy版本:", np.__version__)
arr = np.array([1, 2, 3, 4, 5])
print("NumPy数组:", arr)

# 验证pandas
print("\nPandas版本:", pd.__version__)
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
print("Pandas DataFrame:\n", df)

# 验证matplotlib
print("\nMatplotlib版本:", plt.__version__)
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.title('验证Matplotlib')
plt.show()

如果能看到版本号、数组、表格和一张折线图,恭喜你——环境搭好了。

注意:如果matplotlib画图时中文显示乱码,可以加这两行代码:

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

这是我在做回测报告时踩过的坑,图表标题全是方框,后来才发现是字体问题。

1.6 虚拟环境管理

做量化交易,你可能会同时维护多个策略。每个策略依赖的库版本可能不一样。这时候虚拟环境就派上用场了。

创建新环境:

conda create -n quant_env python=3.9

激活环境:

conda activate quant_env

退出环境:

conda deactivate

我曾经因为没管好环境,导致一个策略用的pandas 1.3,另一个用的1.5,结果代码在1.5上跑得好好的,到1.3就报错。后来我每个策略都建独立环境,再也没出过这种问题。

小技巧:conda env export > environment.yml 导出环境配置。换电脑或分享给同事时,直接 conda env create -f environment.yml 就能复现一模一样的环境。

1.7 常用量化库一览

除了上面三个核心库,做量化交易还会用到这些:

库名 用途 安装命令
scipy 科学计算,优化算法 conda install scipy
statsmodels 统计模型,时间序列分析 conda install statsmodels
scikit-learn 机器学习,因子挖掘 conda install scikit-learn
ta-lib 技术指标计算 pip install TA-Lib
yfinance 获取股票行情数据 pip install yfinance

这些库不用一次性全装。用到哪个装哪个,保持环境干净。我刚开始做量化时,一股脑装了20多个库,结果很多根本没用上,还拖慢了环境启动速度。

好了,环境搭好了,咱们就可以正式开始写量化策略了。记住:环境搭得好,策略跑得稳。别嫌这一步麻烦,后面你会感谢现在认真搭环境的自己。


专注资料整理