第一章:Python量化环境搭建

做量化交易,第一件事不是写策略,而是搭环境。

我见过太多人,策略逻辑想得挺漂亮,结果一跑代码就报错——库版本冲突、Python路径不对、虚拟环境乱成一锅粥。说白了,环境没搭好,后面全是坑。

这一章,我就带你一步步把量化环境搭起来。干净、稳定、可复现。这是专业选手的基本素养。

1.1 为什么选Anaconda?

Python本身只是个解释器。真正干活的是那些第三方库——pandas处理数据、numpy做计算、matplotlib画图、scikit-learn/tensorflow做模型。

问题来了:每个库有不同版本,版本之间还可能打架。你装了这个,那个就崩了。

Anaconda就是来解决这个问题的。它自带Python、包管理器conda、还有150+常用科学计算库。装一个Anaconda,等于把半个量化工具箱搬回家了。

核心优势:
  • 自带Python和常用库,省去手动安装的麻烦
  • conda包管理器,比pip更擅长处理依赖冲突
  • 支持虚拟环境隔离,不同项目互不干扰

1.2 安装Anaconda

去官网下载对应系统的安装包。我建议选Python 3.9或3.10版本,太新或太旧都可能遇到库兼容问题。

Windows用户注意:

  • 安装时勾选「Add Anaconda to my PATH environment variable」
  • 但如果你已经装了其他Python,建议不勾选,用Anaconda Prompt启动

macOS/Linux用户:

  • 下载.sh文件,终端运行 bash Anaconda3-xxx.sh
  • 一路yes,最后问是否初始化conda,选yes

装完后验证一下:

conda --version
python --version

能看到版本号,说明装好了。

1.3 虚拟环境管理——量化项目的命根子

我刚开始做量化时,所有项目共用一套环境。结果呢?一个项目需要tensorflow 2.4,另一个需要2.10,升级一个,另一个就废了。

后来我学乖了——每个项目一个虚拟环境。干净、隔离、想删就删。

创建环境:

conda create -n quant_env python=3.9

quant_env 是环境名,你可以换成项目名,比如 lstm_strategybacktest_v2

激活环境:

conda activate quant_env

激活后,终端前面会出现 (quant_env) 字样,表示你在这个环境里了。

退出环境:

conda deactivate

查看所有环境:

conda env list

删除环境:

conda remove -n quant_env --all
我的习惯:每个量化策略项目单独建一个环境。环境名用项目名+日期,比如 ml_strategy_202501。这样半年后回看,还能知道当时用的什么配置。

1.4 必备库安装

量化交易的核心库,我按用途分了三类:

类别 库名 用途
数据处理 pandas, numpy 数据清洗、计算、特征工程
可视化 matplotlib, seaborn K线图、回测曲线、特征分布
机器学习/深度学习 scikit-learn, tensorflow/pytorch 模型训练、预测、评估

一键安装:

conda install pandas numpy matplotlib seaborn scikit-learn
conda install tensorflow  # 或者 pytorch

如果你用pytorch,建议去官网按系统选命令安装,因为pytorch的cuda版本需要匹配显卡驱动。

我曾经踩过的坑:直接用pip装tensorflow,结果装成了CPU版。跑LSTM模型慢得要命。后来用conda装,自动匹配了CUDA版本。所以深度学习库我建议优先用conda。

验证安装:

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

不报错,就说明装好了。

1.5 Jupyter Notebook——量化研究的交互式利器

写策略和写工程代码不一样。策略需要反复试、看中间结果、画图验证。Jupyter Notebook就是干这个的。

启动:

conda activate quant_env
jupyter notebook

浏览器会自动打开,界面里可以新建Notebook、管理文件。

常用快捷键:

  • Shift + Enter:运行当前单元格,跳到下一个
  • Ctrl + Enter:运行当前单元格,不跳转
  • A:在上方插入单元格
  • B:在下方插入单元格
  • DD:删除单元格
  • M:切换到Markdown模式(写注释、标题)
  • Y:切换到代码模式

我的工作流:

  1. 在Notebook里写策略原型,边写边跑边看结果
  2. 验证通过后,把核心逻辑整理成.py脚本
  3. 用脚本做回测或实盘

Notebook适合探索,脚本适合生产。别混为一谈。

1.6 本章知识体系

下面这张图,帮你把整个环境搭建的逻辑串起来:

量化环境搭建知识体系 Anaconda 基础环境 虚拟环境 (quant_env) 数据处理 pandas / numpy 可视化 matplotlib / seaborn 机器学习/深度学习 sklearn / tensorflow Jupyter Notebook

从Anaconda出发,创建虚拟环境,在里面装三大类库,最后用Jupyter Notebook做交互式开发。这就是量化交易的标准环境配置。

1.7 环境导出与复现

这一点容易被忽略,但很重要。你写了一个策略,半年后想复现,结果忘了当时用的什么库版本。

解决方案:导出环境配置。

conda env export > environment.yml

这个文件记录了所有库的版本。别人拿到后,直接:

conda env create -f environment.yml

就能复现一模一样的环境。

我的习惯:每个量化项目根目录下都放一个 environment.yml。提交代码时一起提交。这样团队协作或自己回看,都不会有环境问题。

1.8 常见问题与避坑

问题1:conda安装太慢

换国内镜像源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

问题2:Jupyter Notebook无法启动

检查是否在虚拟环境里安装了jupyter:

conda install jupyter

问题3:import tensorflow报错

大概率是版本与Python不匹配。我建议用conda装,它会自动处理依赖。

注意:不要在base环境里装太多库。base环境是Anaconda自带的,装乱了会影响整个系统。所有项目相关的库,都装在虚拟环境里。

好了,环境搭好了。下一章我们开始真正接触数据——用pandas处理金融时间序列。那才是量化交易的起点。

专注资料整理