2、环境准备与工具链:Python环境、Jupyter Notebook、Pandas、Scikit-learn、TensorFlow/PyTorch安装与验证
做量化金融,尤其是汇率预测,说白了就是和数据、模型打交道。你想想看,如果工具链没搭好,后面写代码、调参数、跑实验,每一步都可能踩坑。我个人习惯是,开工前先把环境收拾利索,后面能省下大把时间。
这一章,我就带你从头捋一遍。咱们要装的东西不少,但别怕,我按顺序来,保证你跟着做就能跑起来。
2.1 Python环境:选对版本,少走弯路
Python版本这事儿,我吃过亏。以前有个项目,图新鲜装了Python 3.12,结果TensorFlow死活装不上,折腾了两天。后来发现,很多金融库对最新版支持并不好。
我的建议是:用Python 3.9或3.10。这两个版本稳定,主流库都兼容。
推荐版本:Python 3.9.13 或 3.10.11
下载地址:python.org 直接下载安装包就行
安装时记得勾选「Add Python to PATH」。嗯,这一步很重要,不然你后面在命令行敲python会找不到命令。
2.2 虚拟环境:隔离项目,避免冲突
做机器学习项目,不同项目依赖的库版本可能不一样。比如项目A用TensorFlow 2.10,项目B用2.15,混在一起就乱套了。
我建议用 venv 或 conda 创建虚拟环境。我个人更倾向 conda,因为它管理包更方便,尤其是安装一些科学计算库时。
# 创建虚拟环境
conda create -n forex_ml python=3.9
# 激活环境
conda activate forex_ml
小技巧:环境名取个有意义的,比如 forex_ml,一看就知道是干嘛的。
2.3 Jupyter Notebook:交互式开发的利器
做数据分析,Jupyter Notebook几乎是标配。你可以边写代码边看结果,还能加注释、画图表,特别适合探索性分析。
安装很简单:
pip install jupyter notebook
启动也方便:
jupyter notebook
浏览器会自动打开一个页面,点「New」就能新建一个笔记本。我在项目中经常用它来快速验证想法,比如看看汇率数据长什么样,或者测试一个模型能不能跑通。
注意:Jupyter Notebook默认在当前目录启动。建议在项目根目录下启动,方便管理文件。
2.4 Pandas:数据处理的核心工具
做汇率预测,数据清洗、处理、分析是家常便饭。Pandas就是干这个的。它提供了DataFrame这种数据结构,操作起来非常直观。
安装:
pip install pandas
验证是否装好:
import pandas as pd
print(pd.__version__)
如果输出版本号,比如 2.0.3,那就说明装好了。
我记得有一次,从外汇平台拿到的数据时间戳格式乱七八糟,用Pandas的 to_datetime() 一行代码就搞定了。嗯,这就是Pandas的魅力。
2.5 Scikit-learn:传统机器学习库
虽然深度学习很火,但传统机器学习方法在汇率预测中依然有用。比如用随机森林做特征重要性分析,或者用SVM做分类。Scikit-learn提供了大量现成的算法,接口统一,用起来很顺手。
安装:
pip install scikit-learn
验证:
from sklearn.ensemble import RandomForestRegressor
print("Scikit-learn 安装成功")
核心模块:
sklearn.preprocessing:数据标准化、归一化sklearn.model_selection:训练集/测试集划分、交叉验证sklearn.ensemble:随机森林、梯度提升等集成方法sklearn.metrics:评估指标,如MSE、MAE
2.6 TensorFlow / PyTorch:深度学习框架
这两个是深度学习的两大主流框架。做汇率预测,尤其是用LSTM、Transformer这类模型时,它们必不可少。
选哪个? 我个人觉得,PyTorch更灵活,调试方便,学术界用得也多。TensorFlow在工业部署上更有优势。咱们课程里两个都会用到,但建议你先装好PyTorch。
安装PyTorch(CPU版):
pip install torch torchvision torchaudio
验证:
import torch
print(torch.__version__)
print("CUDA可用:" if torch.cuda.is_available() else "CUDA不可用")
如果你有NVIDIA显卡,可以装GPU版,训练速度快很多。具体命令去PyTorch官网查,它会根据你的系统生成对应的安装命令。
避坑指南:我曾经在Windows上装PyTorch GPU版,折腾了半天发现是CUDA版本不匹配。建议先查清楚你的显卡驱动支持哪个CUDA版本,再装对应的PyTorch。
2.7 验证环境:跑一个简单的例子
装完所有库后,我建议跑一个完整的例子,验证整个工具链是否通畅。下面这个代码,用LSTM预测一个简单的正弦波,算是汇率预测的简化版。
import numpy as np
import pandas as pd
import torch
import torch.nn as nn
from sklearn.preprocessing import MinMaxScaler
# 生成数据
x = np.linspace(0, 100, 1000)
y = np.sin(x)
# 数据预处理
scaler = MinMaxScaler()
y_scaled = scaler.fit_transform(y.reshape(-1, 1))
# 构建LSTM模型
class LSTMPredictor(nn.Module):
def __init__(self):
super().__init__()
self.lstm = nn.LSTM(input_size=1, hidden_size=50, num_layers=2, batch_first=True)
self.fc = nn.Linear(50, 1)
def forward(self, x):
out, _ = self.lstm(x)
out = self.fc(out[:, -1, :])
return out
model = LSTMPredictor()
print("模型创建成功!")
print(f"参数数量:{sum(p.numel() for p in model.parameters())}")
如果这段代码能顺利跑完,说明你的环境已经准备好了。
2.8 知识体系总览
下面这张图,把本章涉及的工具和它们之间的关系梳理了一下。你可以把它当作一个路线图,心里有个数。
2.9 常见问题与解决方案
| 问题 | 原因 | 解决方法 |
|---|---|---|
| pip安装慢 | 默认源在国外 | 用国内镜像:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名 |
| conda创建环境失败 | 网络问题或源配置 | 换清华源:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ |
| Jupyter无法启动 | 端口被占用 | 指定端口:jupyter notebook --port 8889 |
| PyTorch GPU版装不上 | CUDA版本不匹配 | 先运行 nvidia-smi 查看CUDA版本,再去官网选对应版本 |
我的经验:装环境时,别一次性装太多包。先装核心的几个,跑通了再慢慢加。这样出了问题容易定位。
好了,环境准备就到这里。工具链搭好了,后面咱们就可以专心搞模型了。记住,环境问题虽然烦人,但一次搞定,后面就顺畅了。