第1章:Python量化环境搭建
做量化交易,说白了就是让代码替我们盯盘、算信号、下单。但工欲善其事,必先利其器。这一章,我就带你从零开始,把Python量化环境搭得明明白白。
我个人习惯把环境搭建分成四步:装Anaconda、配Jupyter、装必备库、管虚拟环境。每一步都有坑,我踩过不少,今天一并告诉你。
1.1 Anaconda安装与配置
Anaconda是什么?你可以把它理解成一个Python的「全家桶」。它自带Python解释器、包管理器conda,还有一大堆科学计算库。省心,真的省心。
下载与安装
去Anaconda官网下载对应系统的安装包。我建议选Python 3.9或3.10版本,太新或太旧都可能跟某些量化库不兼容。
验证安装
打开终端(Windows用cmd或PowerShell,Mac/Linux用Terminal),输入:
conda --version
如果看到类似 conda 23.7.4 的输出,说明装好了。
再检查Python版本:
python --version
嗯,这里要注意:Anaconda自带的Python版本可能不是你想要的。我一般会单独创建一个环境,指定Python版本。
1.2 Jupyter Notebook使用
Jupyter Notebook是量化研究的利器。它把代码、图表、文字混在一起,特别适合做探索性分析。
启动Jupyter
在终端输入:
jupyter notebook
浏览器会自动打开一个页面,默认地址是 http://localhost:8888。你可以在里面新建、编辑、运行Notebook文件(.ipynb)。
常用快捷键
| 快捷键 | 功能 |
|---|---|
| Shift + Enter | 运行当前单元格,并选中下一个 |
| Ctrl + Enter | 运行当前单元格 |
| Esc + A | 在上方插入新单元格 |
| Esc + B | 在下方插入新单元格 |
| Esc + M | 将单元格切换为Markdown模式 |
| Esc + Y | 将单元格切换为代码模式 |
1.3 必备库安装
做统计套利,这几个库是绕不开的:
- pandas:数据处理的核心,读数据、清洗、合并、分组,全靠它。
- numpy:数值计算的基础,矩阵运算、随机数、统计函数。
- statsmodels:统计模型库,回归分析、协整检验、时间序列模型。
- matplotlib:画图工具,看价格走势、残差分布、回测曲线。
安装命令
在终端里一行搞定:
conda install pandas numpy statsmodels matplotlib
或者用pip:
pip install pandas numpy statsmodels matplotlib
我个人更推荐conda,因为它会自动处理依赖关系,不容易出现版本冲突。我曾经用pip装statsmodels时,因为numpy版本不对,折腾了一下午。
验证安装
在Python里导入试试:
import pandas as pd
import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt
print("所有库导入成功!")
如果没报错,恭喜你,环境搭好了。
1.4 虚拟环境管理
虚拟环境是干嘛用的?说白了,就是给每个项目一个独立的Python「小房间」。A项目用pandas 1.0,B项目用pandas 2.0,互不干扰。
创建虚拟环境
conda create -n quant_env python=3.9
这里 quant_env 是环境名,你可以随便起。我一般用项目名,比如 pair_trading、stat_arb。
激活环境
Windows:
conda activate quant_env
Mac/Linux:
source activate quant_env
激活后,终端前面会出现 (quant_env) 字样,说明你已经在虚拟环境里了。
安装库到当前环境
conda install pandas numpy statsmodels matplotlib
退出环境
conda deactivate
查看已有环境
conda env list
删除环境
conda env remove -n quant_env
1.5 本章知识体系
下面这张图,帮你理清本章的核心逻辑:
核心要点:
- Anaconda是基础,装好它,Python环境就搞定了一半。
- Jupyter Notebook是研究利器,学会快捷键能事半功倍。
- pandas、numpy、statsmodels、matplotlib是统计套利的四大金刚。
- 虚拟环境是项目隔离的保险,每个项目单独建一个。
好了,环境搭好了,下一章我们就开始真正动手——用Python拉数据、算价差、找套利机会。准备好了吗?