第1章:工欲善其事,必先利其器
Python量化环境搭建:Anaconda安装与配置、Jupyter Notebook使用、必备库安装
各位同学,欢迎来到《统计套利配对交易实战》的第一课。
做量化交易,说白了就是跟数据打交道。数据从哪来?怎么处理?怎么回测?这些都得靠工具。我见过太多人,策略想得天花乱坠,结果连个环境都配不好,折腾半天跑不起来。嗯,咱们别走弯路,先把吃饭的家伙准备好。
1.1 为什么选择Python?为什么是Anaconda?
你可能听过一句话:「人生苦短,我用Python」。在量化领域,Python几乎成了标配。为什么?因为它生态好。你要算统计量,有scipy;你要做回归,有statsmodels;你要画K线图,有matplotlib。这些库就像乐高积木,拼起来就能干活。
但问题来了——装库本身是个麻烦事。你装A库,它依赖B库的1.0版本;你装C库,它又依赖B库的2.0版本。冲突了怎么办?
这时候,Anaconda就派上用场了。它自带了一个包管理器叫conda,能帮你自动处理依赖关系。我个人习惯,每做一个新项目,就新建一个虚拟环境。这样项目A用Python 3.8,项目B用Python 3.10,互不干扰。
1.2 安装Anaconda(手把手版)
安装过程其实很简单,但我还是想啰嗦几句,因为有些坑我踩过。
第一步:下载
去Anaconda官网(anaconda.com),找到Download按钮。注意看你的操作系统——Windows、macOS、Linux,选对应的版本。我建议下载Python 3.9或3.10的版本,太新的Python版本有些旧库可能不兼容。
第二步:安装
- Windows用户:双击exe文件,一路Next。但有一个关键选项——「Add Anaconda to my PATH environment variable」,我建议勾上。虽然安装程序会警告你「不推荐」,但勾上之后你在命令行里直接敲
conda就能用,方便很多。 - macOS用户:下载pkg文件,双击安装。或者用命令行:
bash Anaconda3-2024.10-MacOSX-x86_64.sh。安装过程中会问你是否要初始化conda,选yes。 - Linux用户:跟macOS类似,用bash命令安装。安装完后记得
source ~/.bashrc刷新一下。
python,弹出来的是微软商店……折腾了半小时才发现。所以,该勾的勾上。
第三步:验证安装
打开终端(Windows是cmd或PowerShell,macOS/Linux是Terminal),输入:
conda --version
如果看到类似conda 24.9.2这样的输出,恭喜你,安装成功。
1.3 配置虚拟环境
我不建议直接在base环境里装东西。base环境是Anaconda自带的,万一搞坏了,重装很麻烦。我习惯为每个项目建一个独立环境。
打开终端,执行:
conda create -n statarb python=3.9
这条命令创建了一个名为statarb的环境,Python版本是3.9。注意,statarb是「统计套利」的缩写,你可以随便起名,但最好有意义。
创建完成后,激活它:
conda activate statarb
你会看到命令行前面多了(statarb)字样,说明你现在就在这个环境里了。
conda deactivate。查看所有环境用conda env list。删除环境用conda env remove -n statarb。
1.4 安装必备库
环境建好了,接下来装库。咱们做统计套利,最常用的就是这几个:
| 库名 | 用途 | 安装命令 |
|---|---|---|
| pandas | 数据处理,尤其是时间序列 | conda install pandas |
| numpy | 数值计算,矩阵运算 | conda install numpy |
| statsmodels | 统计模型,回归分析,协整检验 | conda install statsmodels |
| scipy | 科学计算,优化算法 | conda install scipy |
| matplotlib | 数据可视化,画图 | conda install matplotlib |
| yfinance | 获取雅虎财经数据 | pip install yfinance |
你可能会问:为什么yfinance要用pip而不是conda?因为yfinance不在conda的默认频道里,用pip装更直接。没关系,conda和pip可以混用,只要你在同一个虚拟环境里操作就行。
安装命令可以一条一条执行,也可以写在一起:
conda install pandas numpy statsmodels scipy matplotlib
pip install yfinance
安装完成后,验证一下:
python -c "import pandas; import numpy; import statsmodels; import scipy; import matplotlib; import yfinance; print('All good!')"
如果没报错,说明所有库都装好了。
coint函数找到了几对不错的股票组合。
1.5 Jupyter Notebook:交互式编程利器
装好库了,但你在哪写代码?用记事本?用PyCharm?都可以。但我强烈推荐Jupyter Notebook,尤其是做数据分析的时候。
为什么?因为它是交互式的。你写一行代码,立刻就能看到结果。你画个图,图就显示在代码下面。你调整参数,马上就能看到变化。这种「所见即所得」的感觉,做量化研究非常舒服。
安装Jupyter很简单:
conda install jupyter
启动它:
jupyter notebook
终端会输出一串信息,然后自动打开浏览器,你会看到Jupyter的界面。点击右上角的「New」→「Python 3」,就新建了一个笔记本。
在笔记本里,你可以这样写:
# 第一个单元格
import pandas as pd
import numpy as np
print("Hello, 统计套利!")
# 第二个单元格
data = pd.DataFrame(np.random.randn(100, 2), columns=['A', 'B'])
data.head()
按Shift + Enter运行当前单元格,光标会自动跳到下一个单元格。非常流畅。
1.6 本章知识体系总览
说了这么多,咱们用一张图来总结一下本章的核心逻辑:
这张图把本章的内容串起来了。从Anaconda出发,先搞定安装配置,再创建虚拟环境,然后安装必备库,最后用Jupyter Notebook来写代码。每一步都是下一步的基础,缺一不可。
1.7 本章小结
好了,环境搭建这部分就讲完了。你可能会觉得:「不就是装个软件吗?有什么好讲的?」
但我想说,环境搭建是量化交易的第一步,也是很多人放弃的第一步。我见过太多人,策略写好了,结果因为某个库版本不对,跑出来的结果完全不一样。所以,别嫌麻烦,把这一步走扎实了,后面才能走得顺。
现在,打开你的终端,跟着上面的步骤,把环境搭起来。然后,在Jupyter里敲一行import pandas as pd,感受一下「一切就绪」的感觉。