3、Python环境搭建与库准备
说实话,很多做量化交易的朋友,最后都栽在了环境配置上。
代码写得再好,环境搭不对,跑起来全是泪。我见过太多人,花了两周写策略,结果因为库版本冲突,调试又花了一周。所以这一章,咱们把地基打牢。
3.1 安装Python:选对版本很重要
我个人习惯用Python 3.8到3.11之间的版本。为什么?
因为Level2行情相关的库,比如websocket-client,对3.12的支持还不够稳定。我在项目中踩过这个坑——升级到3.12后,某个底层库直接报错,排查了半天才发现是版本问题。
安装步骤很简单:
- 去
python.org下载对应版本 - 安装时记得勾选「Add Python to PATH」
- 打开终端,输入
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
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("环境搭建成功!")
如果所有版本都正常打印出来,恭喜你,环境搭好了。
3.6 知识体系总览
下面这张图,帮你理清本章的知识结构:
这张图把本章的核心逻辑串起来了:从安装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