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,混在一起就乱套了。

我建议用 venvconda 创建虚拟环境。我个人更倾向 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 知识体系总览

下面这张图,把本章涉及的工具和它们之间的关系梳理了一下。你可以把它当作一个路线图,心里有个数。

汇率预测工具链架构 Python 3.9/3.10 虚拟环境 (conda/venv) Jupyter Notebook Pandas (数据清洗与分析) Scikit-learn (传统ML) TensorFlow / PyTorch LSTM / Transformer 模型

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版本,再去官网选对应版本

我的经验:装环境时,别一次性装太多包。先装核心的几个,跑通了再慢慢加。这样出了问题容易定位。

好了,环境准备就到这里。工具链搭好了,后面咱们就可以专心搞模型了。记住,环境问题虽然烦人,但一次搞定,后面就顺畅了。


专注资料整理