第一章:开发环境搭建——工欲善其事,必先利其器
做量化交易,说白了就是跟数据打交道。你想想看,行情数据、历史回测、策略执行,哪一步离得开代码环境?我见过太多人,一上来就急着写策略,结果环境配得乱七八糟,最后连个简单的回测都跑不起来。嗯,咱们先把地基打牢。
本章核心目标:搭建一套稳定、可复用的Python量化开发环境。包括Python发行版选择、IDE配置、虚拟环境管理,以及量化必备库的安装。
1.1 Python环境安装——为什么我推荐Anaconda
Python的安装方式有很多种。官方Python、Miniconda、Anaconda……我个人习惯直接用Anaconda。为什么?因为它自带了一堆科学计算库,省得你一个个去pip。尤其是做量化,pandas、numpy、matplotlib这些几乎是标配,Anaconda直接帮你打包好了。
安装步骤其实很简单:
- 去Anaconda官网下载对应系统的安装包(Windows/macOS/Linux)
- 双击安装,一路默认就行。但有一个坑——记得勾选"Add Anaconda to my PATH environment variable"。我曾经有一次忘了勾,结果命令行里死活找不到conda命令,折腾了半小时才发现。
- 安装完成后,打开终端(或cmd),输入
conda --version,看到版本号就说明成功了。
小技巧:如果你在macOS或Linux上,建议用Homebrew安装Anaconda,命令就一行:brew install --cask anaconda。省心。
1.2 IDE选择——VS Code还是PyCharm?
这个问题我经常被问到。我的答案是:看场景。
| IDE | 优点 | 缺点 | 适合场景 |
|---|---|---|---|
| VS Code | 轻量、插件丰富、免费、跨平台 | 需要手动配置调试环境 | 日常开发、脚本调试、快速原型 |
| PyCharm | 开箱即用、智能提示强、调试功能强大 | 社区版功能有限、专业版收费 | 大型项目、团队协作、复杂调试 |
我个人习惯用VS Code。原因很简单——快。打开一个.py文件,秒开。PyCharm启动要等半天,我性子急等不了。但如果你做的是大型回测框架,PyCharm的代码导航和重构功能确实更胜一筹。
注意:无论选哪个,记得装Python插件。VS Code要装Python扩展和Jupyter扩展,PyCharm社区版需要手动配置Python解释器。
1.3 虚拟环境管理——别让依赖打架
做量化交易,你可能会同时维护好几个策略。每个策略依赖的库版本可能不一样。比如策略A用pandas 1.3,策略B用pandas 2.0。如果不隔离,分分钟出问题。我去年就吃过这个亏——一个回测脚本跑得好好的,升级了某个库之后,结果全变了。
虚拟环境就是干这个的。Anaconda自带conda,管理环境非常方便。
常用命令:
# 创建虚拟环境,指定Python版本
conda create -n quant_env python=3.9
# 激活环境
conda activate quant_env
# 安装包
conda install pandas numpy requests
# 退出环境
conda deactivate
# 查看所有环境
conda env list
# 删除环境
conda remove -n quant_env --all
你想想看,每个策略一个独立环境,互不干扰。多清爽。
我的习惯:每个项目根目录下放一个environment.yml文件,记录所有依赖。这样换电脑或者给别人用,一行命令就能复现环境:conda env create -f environment.yml
1.4 常用库安装——量化交易的"工具箱"
量化交易离不开几个核心库。我列一下,你照着装就行。
| 库名 | 用途 | 安装命令 |
|---|---|---|
| pandas | 数据处理、时间序列分析 | conda install pandas |
| numpy | 数值计算、矩阵运算 | conda install numpy |
| requests | HTTP请求,获取REST API数据 | conda install requests |
| websocket-client | WebSocket连接,实时行情推送 | pip install websocket-client |
| matplotlib | 数据可视化、画K线图 | conda install matplotlib |
安装完成后,可以写个简单脚本验证一下:
import pandas as pd
import numpy as np
import requests
import websocket
print("pandas version:", pd.__version__)
print("numpy version:", np.__version__)
print("All libraries imported successfully!")
如果没报错,恭喜你,环境搭好了。
避坑指南:websocket-client这个库,用pip装比conda装更稳定。我曾经用conda装过一次,版本太旧,连交易所的WebSocket都连不上。后来换成pip install就没事了。
1.5 本章知识体系总览
下面这张图,帮你把本章的核心逻辑串起来。从Python环境到IDE,再到虚拟环境和常用库,每一步都是下一章的基础。
这张图从左到右、从上到下,展示了搭建环境的完整流程。你跟着这个顺序走,基本不会出错。
总结一下:Anaconda装好 → 选个顺手的IDE → 用conda创建虚拟环境 → 装好pandas、numpy、requests、websocket这几个核心库 → 写个脚本验证。搞定。
嗯,环境搭好了,咱们就可以开始写真正的量化交易代码了。下一章,我会带你用requests库,从交易所拉取第一笔行情数据。到时候你就知道,前面这些准备工作有多值了。
公众号:蓝海资料掘金营,微信deep3321