第一章:课程导论与预备知识

1.1 强化学习在量化择时中的价值

量化择时,说白了就是预测市场什么时候该买、什么时候该卖。传统方法用统计模型、技术指标,但市场这东西,说白了是个动态博弈的过程。你想想看,当所有人都用同一个均线策略时,这个策略就失效了。

我刚开始做量化那会儿,也迷信过各种指标。MACD金叉死叉、布林带突破,回测时漂亮得很,一上实盘就吃瘪。为什么?因为市场环境在变,波动率在变,投资者的情绪也在变。静态的策略,说白了就是刻舟求剑。

强化学习不一样。它不依赖固定的规则,而是让智能体在环境中不断试错,自己学会什么时候该激进、什么时候该保守。我在项目中遇到过这样一个场景:用DQN做股指期货的择时,模型在震荡市里学会了低买高卖,在趋势市里学会了追涨杀跌——它自己悟出来的,我没写任何规则。

核心价值一句话总结:强化学习让择时策略从「死规则」变成「活策略」,能自适应市场变化。

1.2 课程目标与学习路径

这门课的目标很明确:让你能亲手写出一套基于强化学习的择时系统。不是那种调个库就跑的demo,而是能上实盘、能赚钱的工程级代码。

具体来说,学完这门课,你应该能做到:

  • 理解强化学习在金融时序中的核心难点(非平稳性、信噪比低、过拟合)
  • 掌握至少3种强化学习算法(DQN、PPO、SAC)在择时场景下的实现
  • 能自己设计状态空间、动作空间和奖励函数
  • 会做回测、会做风险控制、会做策略评估

学习路径我建议这样走:先打好基础(就是本章),然后从最简单的DQN入手,再过渡到策略梯度方法,最后挑战连续动作空间的SAC。每一步我都会给出完整的代码和踩坑记录。

我的建议:别急着跑复杂模型。先把单只股票的择时用DQN跑通,再扩展到多标的、多周期。我曾经一上来就想做全市场选股+择时,结果调了两个月bug,得不偿失。

1.3 Python与PyTorch环境配置

工欲善其事,必先利其器。环境配置这块,我踩过的坑比走过的路还多。这里直接给出一套经过验证的配置方案。

1.3.1 Python环境

我个人习惯用Anaconda管理环境,干净、隔离、好回滚。建议创建一个专用环境:

conda create -n rl_trading python=3.9
conda activate rl_trading

然后安装核心依赖:

pip install numpy pandas matplotlib
pip install gymnasium  # 强化学习标准环境接口
pip install stable-baselines3  # 强化学习算法库(我们后面会手写,但先装来对比)
pip install ta  # 技术指标库
pip install backtrader  # 回测框架

1.3.2 PyTorch安装

PyTorch的安装要特别注意CUDA版本。我的建议是:先看显卡驱动支持的CUDA版本,再装对应的PyTorch。

# 查看CUDA版本
nvidia-smi

# 以CUDA 11.8为例
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# 如果没显卡,装CPU版
pip install torch torchvision torchaudio

避坑指南:我曾经因为CUDA版本不匹配,训练了三天模型才发现根本没用到GPU。建议装完后跑一行代码验证:

import torch
print(torch.cuda.is_available())  # 输出True才算成功

1.3.3 验证安装

写个简单的脚本测试一下整个环境是否通顺:

import numpy as np
import torch
import gymnasium as gym

# 测试PyTorch
x = torch.randn(3, 4)
print(f"PyTorch张量: {x.shape}")

# 测试Gym环境
env = gym.make("CartPole-v1")
obs, info = env.reset()
print(f"Gym环境状态维度: {obs.shape}")

# 测试技术指标库
import ta
print("所有库加载成功!")

1.4 知识体系总览

下面这张图是我自己画的,把整个课程的知识结构串起来了。你保存好,后面每学一章都可以回来对照着看。

强化学习动态择时 - 知识体系 基础理论 MDP / 值函数 / 策略 金融数据 OHLCV / 因子 / 特征工程 工具链 PyTorch / Gym / Backtrader 核心算法 DQN → Double DQN → Dueling DQN → PPO → SAC 环境构建 状态空间 / 动作空间 / 奖励函数 训练与回测 经验回放 / 策略评估 / 风险控制 实盘部署与持续优化

1.5 本章小结

这一章我们聊了三件事:强化学习为什么适合做择时、这门课能带你走到哪、以及怎么把环境搭好。嗯,看起来都是准备工作,但说实话,环境配置这块我当年至少浪费了一周时间。你现在照着做,半小时搞定。

下一章开始,我们就要动手写代码了。我会从最简单的DQN开始,一步步带你实现一个完整的择时智能体。到时候你会发现,原来强化学习也没那么神秘。

记住:量化交易的核心不是模型多复杂,而是你能不能稳定地赚钱。强化学习只是工具,别为了用RL而用RL。


专注资料整理