4. Python环境搭建:Anaconda安装、Jupyter Notebook配置、必备库安装
说实话,很多做量化交易的朋友,一开始就栽在环境搭建上。
我记得有个学员,策略逻辑写得挺好,结果因为库版本冲突,折腾了两天没跑起来。后来我帮他一看,就是Anaconda没装对。
所以这一章,咱们把环境彻底搞定。一步到位,后面写代码才不闹心。
4.1 为什么选Anaconda?
你可能会问:直接用Python官网装不行吗?
行是行,但麻烦。做TWAP策略,我们要处理数据、画图、对接交易所API。这些库一个一个手动装,版本冲突能让你崩溃。
Anaconda的好处就是——全家桶。它自带Python、包管理器conda、还有Jupyter Notebook。说白了,装一个Anaconda,后面90%的库都不用愁了。
核心优势:
- 自带Python 3.x(我建议用3.8或3.9,稳定)
- conda包管理器,解决依赖冲突
- 预装200+常用科学计算库
- 支持创建虚拟环境,项目隔离
4.2 Anaconda安装实战
咱们直接上手。我习惯用Windows演示,Mac和Linux流程差不多。
4.2.1 下载与安装
- 打开Anaconda官网(https://www.anaconda.com/products/individual)
- 下载对应系统的安装包(64位)
- 双击安装,一路默认就行
注意:安装时有个选项「Add Anaconda to my PATH environment variable」,我建议勾上。虽然官方说不推荐,但咱们做量化交易,命令行用得频繁,勾上省事。
4.2.2 验证安装
打开终端(Windows用cmd或PowerShell),输入:
conda --version
如果看到版本号,比如 conda 23.7.4,就说明装好了。
再输入:
python --version
嗯,这里要注意。如果显示的是系统自带的Python版本,说明环境变量没配好。我曾经遇到过这种情况,折腾了半小时才发现是安装时没勾PATH选项。
避坑指南:如果python命令没指向Anaconda,手动把 C:\Users\你的用户名\anaconda3 和 C:\Users\你的用户名\anaconda3\Scripts 加到系统环境变量PATH里。
4.3 Jupyter Notebook配置
Jupyter Notebook是我做量化策略最常用的工具。为什么?因为它能边写代码边看结果,还能加注释、画图。TWAP策略的回测、可视化,用它再合适不过。
4.3.1 启动Jupyter
终端输入:
jupyter notebook
浏览器会自动打开一个页面,默认地址是 http://localhost:8888。
我第一次用的时候,觉得这玩意儿就是个高级记事本。后来发现,它其实是量化交易的瑞士军刀。
4.3.2 常用配置
我个人习惯改几个配置,让体验更好:
- 修改默认目录:找到配置文件
jupyter_notebook_config.py(在C:\Users\你的用户名\.jupyter\下),修改c.NotebookApp.notebook_dir为你放策略的文件夹 - 设置密码:终端运行
jupyter notebook password,按提示设置 - 安装插件:用
pip install jupyter_contrib_nbextensions,然后启用代码折叠、目录生成等插件
小技巧:在Jupyter里按 Tab 键可以自动补全代码,按 Shift+Tab 查看函数文档。写TWAP策略时,这两个快捷键能省一半时间。
4.4 必备库安装
做TWAP策略,核心就四个库:pandas、numpy、matplotlib、ccxt。咱们一个一个来。
4.4.1 pandas(数据处理核心)
pandas是量化交易的基础。处理行情数据、计算统计指标、合并数据框,全靠它。
conda install pandas
或者用pip:
pip install pandas
安装后验证:
python -c "import pandas; print(pandas.__version__)"
我建议装1.5.x版本,稳定。2.0以上有些API变了,老代码可能报错。
4.4.2 numpy(数值计算引擎)
numpy是pandas的底层支撑。做TWAP策略时,计算均价、标准差、协方差,都离不开它。
conda install numpy
验证:
python -c "import numpy; print(numpy.__version__)"
4.4.3 matplotlib(可视化利器)
画K线图、成交分布图、策略收益曲线,matplotlib是标配。
conda install matplotlib
验证:
python -c "import matplotlib; print(matplotlib.__version__)"
个人经验:我习惯在Jupyter里加一行 %matplotlib inline,这样图表直接显示在代码下方,不用弹窗。做TWAP回测时,边跑边看图,特别直观。
4.4.4 ccxt(交易所API统一接口)
ccxt是连接交易所的桥梁。它支持100多家交易所,API接口统一。做TWAP策略,要对接币安、OKX这些交易所,ccxt是首选。
pip install ccxt
注意:ccxt更新频繁,建议用pip安装,保持最新版。
验证:
python -c "import ccxt; print(ccxt.__version__)"
我曾经踩过一个坑:用conda装的ccxt版本太老,连不上币安的WebSocket。后来换成pip装最新版,问题就解决了。
4.5 一键安装脚本
为了省事,我写了个脚本,把上面四个库一次性装好:
# install_twap_env.py
import subprocess
import sys
def install_package(package):
subprocess.check_call([sys.executable, "-m", "pip", "install", package])
packages = ['pandas', 'numpy', 'matplotlib', 'ccxt']
for pkg in packages:
print(f"正在安装 {pkg}...")
install_package(pkg)
print(f"{pkg} 安装完成")
print("所有库安装完毕!")
保存为 install_twap_env.py,终端运行 python install_twap_env.py 就行。
4.6 环境验证与测试
装完别急着走。咱们跑个测试,确保所有库能协同工作。
# test_env.py
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import ccxt
print("pandas版本:", pd.__version__)
print("numpy版本:", np.__version__)
print("matplotlib版本:", plt.matplotlib.__version__)
print("ccxt版本:", ccxt.__version__)
# 简单测试:生成随机价格数据并画图
np.random.seed(42)
dates = pd.date_range('2024-01-01', periods=100, freq='1min')
prices = 50000 + np.cumsum(np.random.randn(100) * 10)
df = pd.DataFrame({'time': dates, 'price': prices})
df.set_index('time', inplace=True)
plt.figure(figsize=(10, 5))
plt.plot(df.index, df['price'], label='模拟价格')
plt.title('TWAP环境测试 - 随机价格序列')
plt.xlabel('时间')
plt.ylabel('价格')
plt.legend()
plt.grid(True)
plt.show()
print("环境测试通过!")
如果能看到一张折线图,说明环境搭建成功。
核心要点总结:
- Anaconda是量化交易的标准环境,省心省力
- Jupyter Notebook适合策略开发和回测
- pandas、numpy、matplotlib、ccxt是TWAP策略的四大基石
- 用pip安装ccxt,用conda安装其他三个,避免版本冲突
我的建议:环境搭建别图快。花半小时把这一步做好,后面写TWAP策略时,你会感谢现在的自己。