3、Python环境搭建与库准备

说实话,很多做量化交易的朋友,最后都栽在了环境配置上。

代码写得再好,环境搭不对,跑起来全是泪。我见过太多人,花了两周写策略,结果因为库版本冲突,调试又花了一周。所以这一章,咱们把地基打牢。

3.1 安装Python:选对版本很重要

我个人习惯用Python 3.8到3.11之间的版本。为什么?

因为Level2行情相关的库,比如websocket-client,对3.12的支持还不够稳定。我在项目中踩过这个坑——升级到3.12后,某个底层库直接报错,排查了半天才发现是版本问题。

避坑指南: 我曾经因为追求新版本,直接装了Python 3.12,结果pandas的某些底层C扩展编译不过去。建议用3.9或3.10,稳得很。

安装步骤很简单:

  1. python.org 下载对应版本
  2. 安装时记得勾选「Add Python to PATH」
  3. 打开终端,输入 python --version 验证

3.2 虚拟环境:每个项目一个独立空间

你想想看,如果所有项目都共用一套Python环境,那不乱套了?

项目A需要pandas 1.3,项目B需要pandas 2.0,冲突了怎么办?虚拟环境就是解决这个问题的。

我建议用 venv,它是Python自带的,不需要额外安装。

# 创建虚拟环境
python -m venv level2_env

# 激活(Windows)
level2_env\Scripts\activate

# 激活(Mac/Linux)
source level2_env/bin/activate

激活后,终端前面会出现 (level2_env) 字样,说明你已经在虚拟环境里了。

小技巧: 我习惯在项目根目录下建一个 .venv 文件夹,然后用IDE自动识别。这样每次打开项目,环境就自动激活了。

3.3 安装核心库:pandas、numpy、websocket-client、requests

好,环境激活了,接下来装库。咱们一个一个来。

3.3.1 pandas:数据处理的核心

做量化交易,说白了就是跟数据打交道。pandas就是你的瑞士军刀。

pip install pandas

安装完成后,可以验证一下:

python -c "import pandas; print(pandas.__version__)"

嗯,这里要注意:pandas依赖numpy,所以装pandas的时候,numpy会自动装上。但为了保险,我们还是单独装一下numpy。

3.3.2 numpy:高性能数值计算

numpy是pandas的底层引擎。Level2行情数据里,买卖盘口的数据量很大,用numpy的数组来处理,速度能快几十倍。

pip install numpy
重点: 如果你用的是Python 3.10以上版本,建议装numpy 1.24以上版本,否则有些新特性用不了。

3.3.3 websocket-client:实时行情的关键

Level2行情是实时推送的,不是你去拉数据。所以我们需要websocket-client来建立长连接。

pip install websocket-client

这个库比较轻量,但有个坑:默认的ping间隔可能不够。我在对接某券商时,就因为ping间隔太长,连接被服务器断开了。后来手动设置了ping_interval=20才解决。

3.3.4 requests:HTTP请求工具

虽然行情是实时推送的,但有些数据(比如历史快照、股票列表)还是需要通过HTTP接口获取。requests就是干这个的。

pip install requests

3.4 一键安装:用requirements.txt

如果你不想一个一个装,可以写一个 requirements.txt 文件:

pandas==2.0.3
numpy==1.24.3
websocket-client==1.6.3
requests==2.31.0

然后一行命令搞定:

pip install -r requirements.txt

我个人习惯把版本号写死。为什么?因为库的版本更新太快,今天能跑的代码,明天可能就因为某个库升级而报错。写死版本,保证可复现。

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

环境搭好了,咱们跑个测试,看看能不能正常工作。

import pandas as pd
import numpy as np
import websocket
import requests

print("pandas version:", pd.__version__)
print("numpy version:", np.__version__)
print("websocket-client version:", websocket.__version__)
print("requests version:", requests.__version__)
print("环境搭建成功!")

如果所有版本都正常打印出来,恭喜你,环境搭好了。

提示: 如果某个库报错,别慌。先检查虚拟环境是否激活,再检查Python版本是否兼容。90%的问题出在这两个地方。

3.6 知识体系总览

下面这张图,帮你理清本章的知识结构:

Python环境搭建与库准备 - 知识体系 环境搭建 安装Python 虚拟环境 安装核心库 推荐3.9/3.10 添加PATH python -m venv activate pandas numpy websocket-client requests 验证:运行测试脚本

这张图把本章的核心逻辑串起来了:从安装Python开始,到创建虚拟环境,再到安装四个核心库,最后验证环境。每一步都环环相扣。

3.7 常见问题与解决

问题 原因 解决方法
pip安装超时 默认源在国外,速度慢 使用国内镜像源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名
pandas安装失败 缺少C++编译环境 安装Microsoft C++ Build Tools,或直接下载whl文件安装
websocket连接断开 ping间隔设置不合理 设置 ping_interval=20, ping_timeout=10
虚拟环境激活失败 执行策略限制(Windows) 以管理员身份运行PowerShell,执行 Set-ExecutionPolicy RemoteSigned

好了,环境搭好了,库也装齐了。下一章咱们就开始真正接触Level2行情数据了。


公众号:蓝海资料掘金营,微信deep3321