环境搭建:工欲善其事,必先利其器
做量化交易,说白了就是跟数据打交道。数据怎么来?怎么处理?怎么跑策略?这些都得靠一套顺手的工具链。我见过不少新手,一上来就急着写策略代码,结果环境没配好,跑起来各种报错,心态直接崩了。
嗯,咱们今天就把这套工具链彻底搞定。你跟着我走一遍,后面写代码会顺畅很多。
Python 版本选择:别踩坑
Python 版本这事儿,我吃过亏。几年前我用 Python 3.6 写了一个做市策略,后来想用个新库,发现不支持了,整个项目得迁移,那叫一个痛苦。
我的建议是:直接用 Python 3.9 或 3.10。
- 3.9 和 3.10 是目前量化生态支持最稳定的版本
- ccxt、pandas 这些核心库,在这两个版本上跑得最顺
- 别追新,Python 3.12 有些库还没适配好
Anaconda 安装:一键搞定环境管理
Anaconda 是什么?说白了就是一个 Python 的「管家」。它能帮你创建多个独立的环境,每个环境装不同的库版本,互不干扰。
我个人习惯给每个项目建一个独立环境。比如做市交易框架一个环境,回测系统另一个环境。这样就算某个库升级出问题,也不会影响其他项目。
安装步骤:
- 去 Anaconda 官网下载对应系统的安装包
- 一路默认安装就行,但有个选项要注意——「Add Anaconda to my PATH environment variable」,这个建议勾上
- 安装完成后,打开终端(Windows 用 Anaconda Prompt),输入
conda --version,看到版本号就说明装好了
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
创建量化交易专用环境
环境建好了,咱们来创建一个专门做量化的环境。我给它起名叫 quant,你也可以叫别的。
conda create -n quant python=3.9
conda activate quant
看到命令行前面多了 (quant) 这个前缀,就说明你已经在量化环境里了。以后所有操作都在这个环境里进行。
Jupyter Notebook 设置:交互式开发的利器
做量化交易,我几乎天天用 Jupyter Notebook。为什么?因为它能让你边写代码边看结果,特别适合数据探索和策略调试。
安装和启动:
conda install jupyter notebook
jupyter notebook
执行完上面命令,浏览器会自动打开一个页面,这就是 Jupyter 的主界面。你可以在里面新建笔记本,开始写代码。
我曾经犯过一个错误:在 Jupyter 里跑了一整天策略,结果忘了保存,电脑一重启全没了。所以我现在习惯每写一段代码就按 Ctrl+S 保存,你也要养成这个习惯。
- 安装
jupyter_contrib_nbextensions,它提供了代码折叠、目录生成等实用插件 - 设置自动保存间隔,默认是 120 秒,我改成 30 秒
conda install -c conda-forge jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
常用库安装:量化交易的弹药库
环境搭好了,接下来装几个核心库。这些是做市交易框架的基石,缺一不可。
| 库名 | 用途 | 安装命令 |
|---|---|---|
| pandas | 数据处理和分析,做市策略的核心数据操作全靠它 | conda install pandas |
| numpy | 数值计算,处理价格序列、计算指标的基础 | conda install numpy |
| ccxt | 统一接口连接各大交易所,不用为每个交易所写不同代码 | pip install ccxt |
| websocket-client | 实时行情推送,做市交易必须用这个 | pip install websocket-client |
| matplotlib | 画图,可视化你的策略表现 | conda install matplotlib |
批量安装命令:
conda install pandas numpy matplotlib
pip install ccxt websocket-client
为什么 pandas 和 numpy 用 conda 装,而 ccxt 用 pip?因为 conda 对科学计算库的依赖处理得更好,不容易出兼容性问题。而 ccxt 更新频繁,pip 能拿到最新版。
验证环境:跑个简单的测试
装完了,咱们验证一下环境是不是好的。在 Jupyter 里新建一个笔记本,输入下面代码:
import pandas as pd
import numpy as np
import ccxt
import websocket
print("pandas 版本:", pd.__version__)
print("numpy 版本:", np.__version__)
print("ccxt 版本:", ccxt.__version__)
# 测试连接交易所
exchange = ccxt.binance()
markets = exchange.load_markets()
print(f"成功加载 {len(markets)} 个交易对")
# 创建一个简单的价格序列
prices = np.random.randn(100) + 50000
df = pd.DataFrame(prices, columns=['price'])
print(df.head())
如果能看到版本号和交易所数据,恭喜你,环境搭建成功了!
本章知识体系
下面这张图帮你理清今天搭建的整个环境结构:
这张图很直观:Anaconda 在最上层管理整个环境,下面是 Python 3.9 量化环境,再往下分支出三个核心组件——Jupyter 用来写代码和调试,pandas/numpy 处理数据,ccxt/websocket 连接交易所。这三者最终汇聚成我们的做市交易框架。
环境搭好了,后面写代码就踏实了。你想想看,如果连环境都没配好,策略写得再好也跑不起来,对吧?