第二章:开发环境搭建——工欲善其事,必先利其器
说实话,做量化交易这些年,我见过太多人一上来就急着写策略代码。结果呢?环境没配好,跑个回测报一堆错,折腾半天连数据都拉不下来。我自己刚入行时也吃过这个亏——记得有一次,因为Python版本冲突,整整浪费了两天时间排查。
所以这一章,咱们老老实实把开发环境搭好。你想想看,地基打稳了,后面盖楼才快。
2.1 Python环境安装——选Anaconda就对了
Python版本那么多,为什么我推荐Anaconda?说白了,它把Python解释器、包管理工具、常用科学计算库都打包好了。你装一个,就等于装了一整套工具箱。
核心优势:
- 自带conda包管理器,比pip好用不少
- 预装了pandas、numpy等150+常用库
- 支持多版本Python共存,切换方便
安装步骤其实很简单:
- 去Anaconda官网下载对应系统的安装包(我建议选Python 3.9+版本)
- 双击安装,一路默认就行
- 安装完成后,打开终端输入
conda --version验证
注意:安装时有个选项「Add Anaconda to my PATH environment variable」,建议勾上。我曾经没勾,后面每次都要手动激活环境,烦得很。
2.2 IDE选择——VS Code还是PyCharm?
这个问题经常有人问。我的答案是:看场景。
| 对比项 | VS Code | PyCharm |
|---|---|---|
| 启动速度 | 快,秒开 | 稍慢,尤其加载大项目时 |
| 插件生态 | 丰富,但需要自己配 | 开箱即用,Python专用 |
| 调试体验 | 够用,但不如PyCharm顺手 | 专业级,变量监视、条件断点都很强 |
| 资源占用 | 轻量,老电脑也能跑 | 吃内存,建议16G以上 |
我个人习惯:写小脚本、快速验证用VS Code;做大型回测系统、需要深度调试时切到PyCharm。你刚开始学的话,VS Code完全够用,别纠结。
2.3 虚拟环境管理——别让依赖打架
嗯,这里要重点说一下。很多新手图省事,所有项目共用一个Python环境。结果呢?项目A需要pandas 1.0,项目B需要pandas 2.0,一升级就崩。
虚拟环境就是解决这个问题的——每个项目有自己独立的小天地,互不干扰。
用conda创建虚拟环境很简单:
# 创建环境,指定Python版本
conda create -n quant_env python=3.9
# 激活环境
conda activate quant_env
# 退出环境
conda deactivate
# 查看所有环境
conda env list
小技巧:我习惯给环境命名时加上项目名,比如 quant_backtest、quant_live,这样一看就知道是干嘛用的。
2.4 常用库安装——量化交易的标配
环境搭好了,接下来装几个核心库。这些是我做量化交易几乎每天都要用的:
- pandas:数据处理的核心,K线数据、因子计算全靠它
- numpy:数值计算,pandas底层也依赖它
- matplotlib:画图,看回测曲线、资金曲线必备
- backtrader:回测框架,写策略、跑回测一条龙
- ccxt:交易所API封装,对接币安、OKX等交易所
安装命令:
# 先激活环境
conda activate quant_env
# 用conda安装(推荐,依赖处理更稳)
conda install pandas numpy matplotlib
# 用pip安装backtrader和ccxt
pip install backtrader ccxt
避坑指南:我曾经直接用pip装pandas,结果依赖的numpy版本不对,跑起来各种报错。后来学乖了,能用conda装的尽量用conda,它自动处理依赖关系。
2.5 知识体系总览
为了让你对整个开发环境有个全局认识,我画了张图:
这张图把整个开发环境分成了四个模块。你按这个顺序一步步来,基本不会出问题。我当年要是有人给我画这么一张图,至少能少走三天弯路。
2.6 验证环境是否搭好
装完别急着走,跑个简单脚本验证一下:
# 在终端输入python进入交互模式
python
# 依次导入库,没报错就说明装好了
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import backtrader as bt
import ccxt
print("所有库导入成功!")
看到「所有库导入成功!」这行字,恭喜你,开发环境搭建完成。接下来就可以正式开始写策略了。
最后说一句:环境搭建这一步虽然枯燥,但值得认真对待。我见过太多人因为环境问题卡在第一步,结果热情全没了。你花半小时配好环境,后面能省下几十个小时的排查时间。
公众号:蓝海资料掘金营,微信deep3321