2. 环境搭建与工具准备:Python环境配置(Anaconda)、Jupyter Notebook使用、必备库安装
说实话,做量化因子挖掘这件事,最怕的不是策略写不出来,而是环境没搭好就开始写代码。我见过太多人卡在第一步——装库装到崩溃,版本冲突搞到怀疑人生。嗯,今天咱们就把这事一次性搞定。
2.1 为什么选Anaconda?
Python的包管理,说白了就是一场「依赖地狱」。你装A库,它要B库的1.0版本;装C库,它要B库的2.0版本。怎么办?
我个人习惯用Anaconda,因为它自带了一个「隔离箱」——conda环境。每个项目一个环境,互不干扰。我在项目中遇到过最惨的一次,就是全局装了一堆库,结果某个升级把pandas搞崩了,回滚花了整整半天。从那以后,我每个项目都老老实实建新环境。
- 自带Python解释器 + 150+常用科学计算库
- conda命令比pip更擅长处理二进制依赖(比如numpy底层调用的BLAS库)
- 环境隔离,一个项目一套配置,删了也不心疼
2.2 安装Anaconda
去官网下载对应系统的安装包。我建议选Python 3.9+版本,太老的版本有些新库不支持。
安装时注意两点:
- Windows用户: 勾选「Add Anaconda to my PATH environment variable」——虽然安装程序会警告不推荐,但你不勾选后面命令行会找不到conda命令,更麻烦。
- macOS/Linux用户: 安装完后记得跑一下
conda init,让shell识别conda命令。
验证安装:打开终端(Windows用Anaconda Prompt),输入:
conda --version
python --version
看到版本号就说明成了。如果报错「command not found」——别慌,我曾经也栽过。检查一下环境变量,或者重启终端试试。
2.3 创建专属环境
咱们这门课所有代码,我建议都放在一个叫 quant_factor 的环境里。这样你学完30章,环境里装了什么库一目了然。
conda create -n quant_factor python=3.9
conda activate quant_factor
看到命令行前面多了 (quant_factor) 字样,就说明环境激活成功了。退出环境用 conda deactivate。
environment.yml 文件,记录所有依赖。这样换电脑时,一行 conda env create -f environment.yml 就能复现环境。
2.4 安装必备库
量化因子挖掘离不开这几大件。咱们一个一个来装:
conda install pandas numpy matplotlib seaborn scipy statsmodels
conda install jupyter notebook
等等,为什么不用pip?
我的经验是:能用conda就别用pip。conda会帮你处理底层C库的依赖,比如numpy的BLAS加速库。pip有时候装的是纯Python版本,性能差一大截。你想想看,回测几百万条数据,差10倍速度是什么概念?
装完后验证一下:
python -c "import pandas; import numpy; import matplotlib; import seaborn; import scipy; import statsmodels; print('All good!')"
如果没报错,恭喜你,基础环境搭好了。
2.5 Jupyter Notebook 使用
Jupyter Notebook 是我们做因子挖掘的「草稿本」。你可以边写代码边看结果,还能加注释、画图,非常直观。
启动方式:
jupyter notebook
浏览器会自动打开一个页面,显示文件目录。点右上角「New」→「Python 3 (ipykernel)」就能新建一个笔记本。
几个我常用的快捷键:
| 快捷键 | 作用 |
|---|---|
| Shift + Enter | 运行当前单元格,并跳到下一个 |
| Ctrl + Enter | 运行当前单元格,不跳转 |
| Esc + A | 在当前单元格上方插入新单元格 |
| Esc + B | 在当前单元格下方插入新单元格 |
| Esc + M | 将当前单元格切换为Markdown(写注释用) |
| Esc + Y | 将当前单元格切换为代码模式 |
2.6 知识体系总览
下面这张图,把咱们这章的核心逻辑串起来了。你可以把它当作「环境搭建的路线图」:
2.7 第一个实战:验证环境
环境搭好了,咱们跑个小例子热热身。打开Jupyter Notebook,新建一个笔记本,输入:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 生成1000个随机数,模拟收益率
returns = np.random.randn(1000)
df = pd.DataFrame(returns, columns=['returns'])
# 画个直方图看看
sns.histplot(df['returns'], bins=50, kde=True)
plt.title('模拟收益率分布')
plt.show()
如果能看到一张漂亮的直方图,说明你的环境完全OK。我在项目中经常用这个代码快速检查新环境——既能验证库是否装全,又能确认matplotlib后端是否正常。
%matplotlib inline。这是Jupyter的魔法命令,强制图形在笔记本内显示。
好了,环境这块咱们就聊到这儿。工具准备好了,接下来就可以正式进入因子挖掘的世界了。