环境搭建:工欲善其事,必先利其器

做量化交易,说白了就是跟数据打交道。数据怎么来?怎么处理?怎么跑策略?这些都得靠一套顺手的工具链。我见过不少新手,一上来就急着写策略代码,结果环境没配好,跑起来各种报错,心态直接崩了。

嗯,咱们今天就把这套工具链彻底搞定。你跟着我走一遍,后面写代码会顺畅很多。

Python 版本选择:别踩坑

Python 版本这事儿,我吃过亏。几年前我用 Python 3.6 写了一个做市策略,后来想用个新库,发现不支持了,整个项目得迁移,那叫一个痛苦。

我的建议是:直接用 Python 3.9 或 3.10。

  • 3.9 和 3.10 是目前量化生态支持最稳定的版本
  • ccxt、pandas 这些核心库,在这两个版本上跑得最顺
  • 别追新,Python 3.12 有些库还没适配好
注意:千万别用系统自带的 Python。macOS 和 Linux 自带的 Python 是给系统用的,你乱装包可能会搞坏系统。咱们用 Anaconda 来管理,干净又隔离。

Anaconda 安装:一键搞定环境管理

Anaconda 是什么?说白了就是一个 Python 的「管家」。它能帮你创建多个独立的环境,每个环境装不同的库版本,互不干扰。

我个人习惯给每个项目建一个独立环境。比如做市交易框架一个环境,回测系统另一个环境。这样就算某个库升级出问题,也不会影响其他项目。

安装步骤:

  1. 去 Anaconda 官网下载对应系统的安装包
  2. 一路默认安装就行,但有个选项要注意——「Add Anaconda to my PATH environment variable」,这个建议勾上
  3. 安装完成后,打开终端(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 更好用,我建议做两件事:
  • 安装 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 能拿到最新版。

避坑指南:我曾经在 conda 环境里用 pip 装了一个包,结果把 conda 的依赖搞乱了。后来我学乖了:优先用 conda 装,conda 没有的再用 pip。而且 pip 安装时一定要确保当前在正确的 conda 环境里。

验证环境:跑个简单的测试

装完了,咱们验证一下环境是不是好的。在 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 Notebook 核心库(pandas/numpy) 交易所接口(ccxt/websocket) 做市交易框架

这张图很直观:Anaconda 在最上层管理整个环境,下面是 Python 3.9 量化环境,再往下分支出三个核心组件——Jupyter 用来写代码和调试,pandas/numpy 处理数据,ccxt/websocket 连接交易所。这三者最终汇聚成我们的做市交易框架。

环境搭好了,后面写代码就踏实了。你想想看,如果连环境都没配好,策略写得再好也跑不起来,对吧?


专注资料整理