2. 环境准备:Anaconda安装、Jupyter Notebook配置、必备库安装
说实话,很多新手在量化投资这条路上栽跟头,不是因为策略不够好,而是环境没搭好。我见过太多人花了两周研究轮动模型,结果跑代码时发现库装不上,或者版本冲突——那种挫败感,真的挺打击人的。
所以这一章,咱们先把地基打牢。你想想看,盖楼的时候地基歪了,后面装修得再漂亮也没用。环境准备这件事,说白了就是一次性的投入,但能让你后面几十章都走得顺风顺水。
2.1 Anaconda:为什么我强烈推荐它?
Python 的包管理,嗯,这里要注意——如果你直接去官网装原生 Python,后面装库的时候很容易遇到依赖地狱。什么叫依赖地狱?就是你装 A 库,它要求 B 库 1.0 版本,但你的另一个项目需要 B 库 2.0 版本,两个项目互相打架。
Anaconda 就是来解决这个问题的。它自带了一个叫 conda 的包管理器,可以帮你创建独立的虚拟环境。每个环境就像一个小房间,房间里装的 Python 版本和库互不干扰。
- 自带 1500+ 数据科学常用库,省去手动安装的麻烦
- 虚拟环境隔离,不同项目用不同 Python 版本
- 跨平台支持(Windows/Mac/Linux 都行)
我个人习惯用 Anaconda 的 Miniconda 版本——它只带 conda 和 Python,其他库按需安装。这样更轻量,也更容易控制版本。你可以在 https://docs.conda.io/en/latest/miniconda.html 下载对应系统的版本。
2.2 安装步骤:跟着我来
安装过程其实很简单,但有几个坑我得提前告诉你。
- 下载安装包:根据你的操作系统选择对应版本。Windows 选 .exe,Mac 选 .pkg,Linux 选 .sh。
- 安装时注意:Windows 用户记得勾选「Add Anaconda to my PATH environment variable」。我刚开始用的时候没勾这个,结果每次都要手动找 conda 命令,烦得很。
- 验证安装:打开终端(Windows 用 cmd 或 PowerShell),输入
conda --version,如果看到版本号就说明装好了。
2.3 创建虚拟环境:给 ETF 轮动策略一个专属空间
接下来,我们创建一个专门用于本课程的虚拟环境。我习惯给它起名叫 etf_rotation,这样一看就知道是干嘛用的。
# 创建环境,指定 Python 3.9 版本
conda create -n etf_rotation python=3.9
# 激活环境
conda activate etf_rotation
# 退出环境(以后用)
conda deactivate
为什么要用 Python 3.9?其实 3.8 到 3.11 都行,但我测试下来,3.9 对后面要装的库兼容性最好。你想想看,如果因为 Python 版本太高导致某个库装不上,那多冤枉。
2.4 Jupyter Notebook:交互式编程的利器
Jupyter Notebook 是量化投资领域最常用的工具之一。它让你可以把代码、图表、文字说明放在同一个文档里,边写边看结果。我个人觉得,对于策略回测这种需要反复调试的工作,Jupyter 比 PyCharm 或 VS Code 顺手得多。
安装很简单,在激活的虚拟环境里执行:
conda install jupyter notebook
启动方式:
jupyter notebook
然后浏览器会自动打开一个页面,默认地址是 http://localhost:8888。你可以在里面新建 Python 3 的笔记本,开始写代码。
2.5 必备库安装:pandas, numpy, matplotlib, akshare
好,环境搭好了,接下来装库。这四样东西,可以说是量化投资的「四大金刚」。
| 库名 | 用途 | 安装命令 |
|---|---|---|
| pandas | 数据处理,尤其是时间序列 | conda install pandas |
| numpy | 数值计算,矩阵运算 | conda install numpy |
| matplotlib | 数据可视化,画K线图、净值曲线 | conda install matplotlib |
| akshare | 获取A股、ETF等金融数据 | pip install akshare |
这里有个细节:pandas、numpy、matplotlib 用 conda 装,因为 conda 会自动处理依赖关系。但 akshare 我建议用 pip 装,因为它的更新频率比较高,conda 上的版本可能滞后。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import akshare as ak
print("pandas 版本:", pd.__version__)
print("numpy 版本:", np.__version__)
print("akshare 版本:", ak.__version__)
print("环境准备完成!")
2.6 本章知识体系:一张图看懂
下面这张 SVG 图,把本章的核心逻辑串起来了。从 Anaconda 安装开始,到虚拟环境创建,再到 Jupyter 配置和库安装,每一步都是环环相扣的。
2.7 常见问题与避坑
最后,分享几个我实际遇到过的问题,希望能帮你少走弯路。
- conda 命令找不到:检查环境变量有没有配好。Windows 用户可以在系统环境变量里添加
C:\Users\你的用户名\anaconda3\Scripts。 - pip 安装 akshare 报错:可能是网络问题。试试用国内镜像源:
pip install akshare -i https://pypi.tuna.tsinghua.edu.cn/simple。 - Jupyter 打不开:检查防火墙设置,或者试试用
jupyter notebook --no-browser启动,然后手动复制链接到浏览器。 - 库版本冲突:如果某个库装不上,先看看是不是虚拟环境没激活。我经常犯这个错——在 base 环境里装了一堆库,结果切到 etf_rotation 环境后发现啥都没有。
conda activate etf_rotation,然后 conda list 看一眼当前环境装了哪些库。这样心里有数,不会出现「明明装了怎么还报错」的尴尬。
好了,环境准备就到这里。你跟着走一遍,应该半小时内就能搞定。后面咱们就可以真正开始写策略了——想想还有点小激动呢。
公众号:蓝海资料掘金营,微信deep3321