第一章:Python量化环境搭建
做量化交易,第一件事不是写策略,而是搭环境。
我见过太多人,策略逻辑想得挺美,结果一跑代码就报错——库没装、版本冲突、路径不对。说白了,环境没搭好,后面全是坑。
这一章,咱们就把地基打牢。跟着我来,一步步搞定Anaconda、Jupyter Notebook,还有那几个绕不开的量化库。
1.1 为什么选Anaconda?
Python本身只是个解释器,真正干活的是那些第三方库。而Anaconda,就是帮你管理这些库的「大管家」。
我个人习惯,新机器到手第一件事就是装Anaconda。为什么?
- 省心:自带200+常用库,pandas、numpy、matplotlib全在里面
- 隔离:每个项目可以建独立环境,互不干扰
- 跨平台:Windows、Mac、Linux都能用
1.2 Anaconda安装实战
去官网下载对应系统的安装包。我建议选Python 3.9+版本,太老的版本有些新库不支持。
安装时注意两点:
- 勾选「Add Anaconda to PATH」——虽然安装程序会警告,但勾上能省很多事
- 安装路径不要有中文——血的教训,有些库对中文路径不兼容
装完后,打开终端(Windows用Anaconda Prompt),输入:
conda --version
看到版本号,说明装好了。
1.3 Jupyter Notebook配置
Jupyter Notebook是量化交易的「标配」编辑器。为什么?因为它能边写代码边看结果,还能加图表和文字说明。
启动方式很简单:
jupyter notebook
浏览器会自动打开一个页面。但我建议你做两件事:
- 改默认目录:在配置文件里设置工作路径,别让文件散落在桌面
- 装插件:
jupyter_contrib_nbextensions,能加代码折叠、目录生成等功能
配置命令:
jupyter notebook --generate-config
然后找到生成的配置文件,修改c.NotebookApp.notebook_dir为你想要的路径。
1.4 常用量化库安装
做能源期货量化,下面这几个库是绕不开的。我按重要性排个序:
| 库名 | 用途 | 安装命令 |
|---|---|---|
| pandas | 数据处理、时间序列分析 | conda install pandas |
| numpy | 数值计算、矩阵运算 | conda install numpy |
| matplotlib | 数据可视化、画K线图 | conda install matplotlib |
| scikit-learn | 机器学习模型、特征工程 | conda install scikit-learn |
安装命令很简单,打开终端输入就行。但我建议用conda安装,别用pip。为什么?conda会自动处理依赖关系,pip有时候会装错版本。
验证是否装成功,可以写个小脚本:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
print("所有库导入成功!")
print(f"pandas版本: {pd.__version__}")
print(f"numpy版本: {np.__version__}")
不报错,就说明环境搭好了。
conda create -n quant python=3.9 pandas numpy matplotlib scikit-learn
1.5 量化环境知识体系
下面这张图,帮你理清整个环境搭建的逻辑:
你看,整个体系是层层递进的。Anaconda管环境,Jupyter Notebook管开发,四个库管数据处理和建模,最后才是策略实现。哪一层出问题,后面都跑不起来。
1.6 环境验证与测试
搭完环境,我建议你跑一个完整的测试脚本。别偷懒,这一步能帮你发现90%的隐藏问题。
创建一个新的Jupyter Notebook,输入以下代码:
# 1. 数据读取测试
import pandas as pd
import numpy as np
# 生成模拟数据
dates = pd.date_range('2024-01-01', periods=100)
data = pd.DataFrame({
'date': dates,
'price': np.random.randn(100).cumsum() + 50
})
print("数据读取成功,共{}条记录".format(len(data)))
# 2. 可视化测试
import matplotlib.pyplot as plt
plt.plot(data['date'], data['price'])
plt.title('能源期货模拟价格走势')
plt.show()
# 3. 模型测试
from sklearn.linear_model import LinearRegression
X = np.arange(100).reshape(-1, 1)
y = data['price'].values
model = LinearRegression()
model.fit(X, y)
print(f"线性回归模型训练完成,R²={model.score(X, y):.3f}")
如果三部分都顺利跑完,恭喜你,环境搭建成功!
好了,环境搭好了,下一章咱们就开始真正接触能源期货数据了。