第4章:Python环境搭建——Anaconda安装、Jupyter Notebook配置、虚拟环境管理、常用库安装
说实话,很多做量化交易的朋友,一开始都栽在环境搭建上。
我见过有人花了一整天装Python,结果版本冲突,最后重装系统。也见过有人直接在base环境里pip install,半年后库全乱套,项目跑不起来。
所以这一章,我带你走一遍标准流程。你跟着做,半小时内搞定。
4.1 为什么选Anaconda?
Python本身只是一个解释器。但做量化交易,你需要一堆科学计算库。一个个手动装?太累了。
Anaconda是一个发行版,它把Python解释器、常用库、包管理器(conda)打包在一起。说白了,就是「开箱即用」。
我个人习惯用Anaconda,原因有三:
- 省心:装好就有pandas、numpy等基础库
- 隔离:conda的虚拟环境管理比pip+venv更干净
- 跨平台:Windows、macOS、Linux都支持
4.2 安装Anaconda
去官网下载对应系统的安装包。我建议选Python 3.9或3.10版本,太新的版本有些量化库还没适配。
安装时注意两点:
- 勾选「Add Anaconda to my PATH environment variable」——虽然安装程序会警告,但勾上更方便
- 安装路径不要有中文和空格——我吃过这个亏,有些库编译时会报错
装完后,打开终端(Windows用Anaconda Prompt),输入:
conda --version
看到版本号,说明安装成功。
4.3 配置Jupyter Notebook
Jupyter Notebook是我做量化回测最常用的工具。它支持交互式编程,写一段代码跑一段,非常适合探索性分析。
Anaconda自带Jupyter,但默认配置不够好用。我建议做两件事:
4.3.1 修改工作目录
默认打开Jupyter会进入用户目录,文件乱糟糟的。我习惯把所有量化项目放在一个文件夹里。
生成配置文件:
jupyter notebook --generate-config
找到配置文件(一般在 ~/.jupyter/jupyter_notebook_config.py),修改:
c.NotebookApp.notebook_dir = 'D:/quant_trading' # 改成你的路径
4.3.2 设置密码
如果你在服务器上跑Jupyter,一定要设密码。不然别人能直接访问你的代码和数据。
jupyter notebook password
输入两次密码即可。之后启动Jupyter,浏览器打开 http://localhost:8888,输入密码进入。
4.4 虚拟环境管理
做量化交易,你可能会同时维护多个策略。有的策略依赖pandas 1.3,有的依赖pandas 2.0。如果全装在一个环境里,迟早出问题。
虚拟环境就是解决这个问题的。每个环境独立,互不干扰。
4.4.1 创建虚拟环境
conda create -n quant_env python=3.9
这条命令创建了一个名为 quant_env 的环境,Python版本3.9。
4.4.2 激活与退出
conda activate quant_env # 激活
conda deactivate # 退出
激活后,终端前面会显示 (quant_env),表示你在这个环境里操作。
4.4.3 查看已有环境
conda env list
带星号的是当前激活的环境。
4.4.4 删除环境
conda remove -n quant_env --all
grid_trading_env、arbitrage_env。这样即使某个环境搞坏了,也不影响其他项目。
4.5 安装常用库
激活环境后,开始安装量化交易必备库。
4.5.1 pandas & numpy
这两个是数据处理的基础。pandas处理表格数据,numpy做数值计算。
conda install pandas numpy
用conda安装会自动处理依赖,比pip更稳。
4.5.2 ccxt
ccxt是连接交易所的利器。它封装了100多家交易所的API,写法统一。
pip install ccxt
注意:ccxt更新频繁,建议用pip安装最新版。conda上的版本可能滞后。
4.5.3 其他推荐库
| 库名 | 用途 | 安装命令 |
|---|---|---|
| matplotlib | 画K线图、回测曲线 | conda install matplotlib |
| ta-lib | 技术指标计算 | pip install TA-Lib |
| requests | HTTP请求(抓数据、调API) | conda install requests |
| loguru | 日志记录(比logging好用) | pip install loguru |
4.6 验证安装
写一段简单代码,验证环境是否正常:
import pandas as pd
import numpy as np
import ccxt
print(f"pandas版本: {pd.__version__}")
print(f"numpy版本: {np.__version__}")
print(f"ccxt版本: {ccxt.__version__}")
# 测试连接交易所
exchange = ccxt.binance()
ticker = exchange.fetch_ticker('BTC/USDT')
print(f"BTC当前价格: {ticker['last']}")
如果没报错,说明环境搭建成功。你想想看,从零到能拉交易所实时数据,只用了半小时。
4.7 本章知识体系
下面这张图,帮你理清本章的核心逻辑:
嗯,到这里,你的Python量化环境就搭好了。记住:环境搭建是基本功,别嫌麻烦。我见过太多人因为环境问题浪费大量时间,最后策略没写几行。
下一章,我们开始写真正的网格交易代码。