第一章:开发环境搭建——工欲善其事,必先利其器
做量化交易,说白了就是跟数据打交道。你想想看,没有趁手的工具,再好的策略也跑不起来。这一章,我就带你一步步把环境搭好。别小看这一步,我见过太多人因为环境问题浪费好几天时间。
1.1 为什么选择Anaconda?
Python本身是个好语言,但做量化需要一堆第三方库。一个个手动装?太累了。Anaconda就是来解决这个问题的——它把Python和常用科学计算库打包在一起,还自带包管理工具。
我个人习惯用Anaconda,原因有三:
- 开箱即用——装完就有pandas、numpy这些库
- 环境隔离——不同项目用不同Python版本,互不干扰
- 跨平台——Windows、Mac、Linux都能用
重要提醒:千万别直接装官方Python再一个个pip install。我在项目中遇到过依赖冲突,折腾了两天才解决。Anaconda的conda命令能自动处理依赖关系,省心很多。
1.2 安装Anaconda与Python
去官网下载Anaconda最新版。我建议选Python 3.9+版本,太老的版本有些新库不支持。
安装时注意两点:
- 勾选"Add Anaconda to PATH"——这样命令行里就能直接用conda命令
- 安装路径不要有中文——有些库对中文路径不友好
装完后打开终端(Windows用Anaconda Prompt),输入:
conda --version
python --version
能看到版本号,就说明装好了。嗯,这里要注意,如果提示"conda不是内部命令",八成是PATH没加进去,重装时记得勾选那个选项。
1.3 Jupyter Notebook配置
Jupyter Notebook是我最常用的交互式编程环境。做量化分析时,一边写代码一边看结果,非常直观。
安装很简单:
conda install jupyter notebook
启动:
jupyter notebook
浏览器会自动打开一个页面。我建议你做个配置:
jupyter notebook --generate-config
这会生成一个配置文件,在用户目录下的.jupyter/jupyter_notebook_config.py。你可以修改默认目录、端口等。
小技巧:我习惯把Notebook的默认工作目录设到项目文件夹,这样每次启动直接进入项目,不用来回切换路径。
1.4 常用量化库介绍
做量化交易,有几个库是绕不开的。我按使用频率给你排个序:
| 库名 | 用途 | 我为什么推荐它 |
|---|---|---|
| pandas | 数据处理、时间序列分析 | 做量化80%的时间都在跟DataFrame打交道 |
| numpy | 数值计算、矩阵运算 | pandas底层就是它,性能关键 |
| matplotlib | 数据可视化 | 画K线图、回测曲线必备 |
| backtrader | 策略回测框架 | 我用了三年,社区活跃,文档齐全 |
安装这些库,一行命令搞定:
conda install pandas numpy matplotlib
pip install backtrader
为什么backtrader用pip?因为conda源里不一定有最新版。我曾经踩过这个坑,用conda装了个老版本,结果策略跑出来结果不对,排查了半天才发现是库版本问题。
1.5 虚拟环境管理
这是很多新手容易忽略的环节。你想想看,同时做几个项目,有的用Python 3.7,有的用3.9,有的依赖库版本还不一样。混在一起?迟早出问题。
虚拟环境就是给每个项目一个独立的Python空间。我常用的命令:
# 创建环境
conda create -n quant_env python=3.9
# 激活环境
conda activate quant_env
# 安装库(在激活的环境里)
conda install pandas numpy
# 退出环境
conda deactivate
# 查看所有环境
conda env list
避坑指南:我曾经在一个项目里直接pip install了所有库,结果另一个项目跑不起来了。两个项目依赖的numpy版本冲突,折腾了一下午。从那以后,每个项目我都单独建环境,再也没出过这种问题。
我建议你养成习惯:每开始一个新项目,先建一个虚拟环境。名字最好跟项目相关,比如commodity_quant,这样一眼就能认出来。
1.6 本章知识体系
下面这张图帮你理清本章的核心逻辑:
这张图把本章内容串起来了。从Anaconda这个基础平台出发,装上Jupyter Notebook做交互式开发,再安装四个核心量化库,最后用虚拟环境管理不同项目。每一步都是下一环的基础。
1.7 验证环境是否搭好
装完别急着走,跑个简单脚本验证一下:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import backtrader as bt
print("pandas版本:", pd.__version__)
print("numpy版本:", np.__version__)
print("backtrader版本:", bt.__version__)
# 生成随机数据验证
data = pd.DataFrame(np.random.randn(100, 3), columns=['A', 'B', 'C'])
print(data.head())
能正常输出,说明环境搭好了。如果报错,多半是某个库没装全。别慌,看看报错信息,缺什么就conda install或pip install什么。
我的经验:第一次搭环境花点时间很正常。我当年光配置Jupyter主题就折腾了一小时。但基础打好了,后面写策略、跑回测就顺畅多了。