第一章: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。它们的关系是这样的:
安装命令很简单。打开终端,输入:
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多个库,结果很多根本没用上,还拖慢了环境启动速度。
好了,环境搭好了,咱们就可以正式开始写量化策略了。记住:环境搭得好,策略跑得稳。别嫌这一步麻烦,后面你会感谢现在认真搭环境的自己。