量化机器学习数学基础模块

模块概述

本模块系统性地介绍量化机器学习所需的数学基础知识。数学不仅是理解机器学习算法的基础,更是构建稳健量化交易系统的核心能力。在量化投资中,数学帮助我们:

  • 量化不确定性:用概率论描述市场的不确定性,评估策略的统计显著性
  • 建模时间依赖:用时间序列分析捕捉价格的动态特征和规律
  • 优化组合配置:用线性代数和优化理论求解最优投资组合
  • 控制风险暴露:用统计学方法识别和管理尾部风险

学习目标

完成本模块学习后,你将能够:

概率论与统计学

  • 理解并应用常用概率分布描述金融变量
  • 掌握贝叶斯推断在因子预测中的应用
  • 独立进行假设检验,正确解读 p 值和显著性
  • 使用 Bootstrap 方法构建置信区间
  • 理解极值理论在尾部风险建模中的应用

时间序列分析

  • 判断时间序列的平稳性并进行相应检验
  • 使用 ARIMA/GARCH 模型拟合和预测金融时间序列
  • 应用协整理论进行配对交易
  • 使用 Kalman 滤波器估计时变参数
  • 用 HMM 识别市场状态转换

线性代数与优化

  • 熟练使用 NumPy 进行矩阵运算
  • 理解 PCA 的原理并在因子降维中应用
  • 估计和优化协方差矩阵
  • 使用凸优化方法求解投资组合问题
  • 从优化视角理解正则化的作用

前置知识

领域要求说明
Python中级熟悉 Python 语法、函数、类
NumPy入门了解数组创建和基本操作
微积分入门理解导数、偏导数、积分的概念
基础统计入门了解均值、方差、标准差的概念

不需要你是数学专业或统计学背景。本模块采用”先直觉后严谨”的方式,每个概念都会用金融场景解释,再给出数学推导和代码实现。

文件导航

文件内容预计时间
01-概率论与统计学.md概率分布、贝叶斯推断、假设检验、Bootstrap、极值理论3-4 小时
02-时间序列分析.md平稳性、ARIMA、GARCH、协整、Kalman滤波、HMM3-4 小时
03-线性代数与优化.md矩阵运算、PCA、协方差矩阵、凸优化、梯度下降2-3 小时

总计学习时间: 约 8-10 小时

学习建议

推荐学习路径

  1. 第一次阅读:按顺序阅读,专注于理解”是什么”和”为什么”,不要陷入数学推导细节
  2. 动手实践:运行每个代码示例,修改参数观察结果变化
  3. 第二遍阅读:关注公式推导,理解数学原理
  4. 项目应用:选择一个自己的量化项目,尝试应用所学知识

学习技巧

  • 关注金融解释:每个数学概念都有对应的金融场景,理解这种对应关系比记住公式更重要
  • 运行代码:所有代码都是可运行的,用模拟数据演示,不需要外部数据源
  • 画图思考:可视化是理解数学直觉的好工具,尝试自己修改代码画图
  • 建立联系:思考不同模块之间的联系,比如 GARCH 和波动率、PCA 和因子正交化

数学基础在量化 ML 中的位置

                    ┌─────────────────────────────────────┐
                    │      量化机器学习完整知识体系        │
                    └─────────────────────────────────────┘
                                      │
        ┌─────────────────────────────┼─────────────────────────────┐
        │                             │                             │
        ▼                             ▼                             ▼
┌───────────────┐           ┌───────────────┐           ┌───────────────┐
│   数学基础     │           │   机器学习     │           │   量化应用     │
│   (本模块)     │──────────▶│   算法原理     │──────────▶│   策略开发     │
│               │           │               │           │               │
│ • 概率统计     │           │ • 监督学习     │           │ • 因子挖掘     │
│ • 时间序列     │           │ • 无监督学习   │           │ • 组合优化     │
│ • 线性代数     │           │ • 深度学习     │           │ • 风险管理     │
│ • 优化理论     │           │ • 强化学习     │           │ • 回测评估     │
└───────────────┘           └───────────────┘           └───────────────┘
        │                             ▲                             │
        └─────────────────────────────┼─────────────────────────────┘
                                      │
                            数学基础支撑上层
                            机器学习算法和应用

核心知识点速查

概率论与统计学

概念金融应用关键公式/方法
正态分布收益率建模、VaR 计算
t 分布厚尾收益、IC 显著性检验比 ND 有更厚的尾部
贝叶斯定理因子预测、概率更新$P(A
中心极限定理IC 统计推断基础样本均值趋于正态分布
t 检验IC 显著性判断
BootstrapIC 置信区间重采样方法
EVT尾部风险建模POT/GPD 方法

时间序列分析

概念金融应用关键方法
平稳性确保统计推断有效ADF 检验
ACF/PACF识别 ARIMA 阶数自相关函数图
ARIMA收益率预测Box-Jenkins 方法
GARCH波动率建模/预测条件异方差建模
协整配对交易、统计套利Engle-Granger 检验
Granger 因果因子领先滞后关系分析格兰杰因果检验
Kalman 滤波时变 Beta、状态估计状态空间模型
HMM市场状态识别隐马尔可夫模型

线性代数与优化

概念金融应用关键方法
矩阵运算投资组合计算NumPy 线性代数
特征分解PCA、因子分析np.linalg.eig
SVD降维、去噪np.linalg.svd
PCA因子正交化、降维sklearn.decomposition.PCA
协方差矩阵风险建模LW 压缩、EWM
二次规划均值方差优化cvxpyscipy.optimize
梯度下降神经网络训练SGD、Adam
正则化防止过拟合L1/L2 惩罚

常用 Python 库

本模块使用的 Python 库:

# 数值计算
import numpy as np
import scipy.stats as stats
from scipy import optimize
from scipy.optimize import minimize
 
# 时间序列分析
from statsmodels.tsa.stattools import adfuller, acf, pacf, grangercausalitytests
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.tsa.statespace.kalman_filter import KalmanFilter
 
# 优化
import cvxpy as cp
 
# 机器学习
from sklearn.decomposition import PCA
from sklearn.covariance import LedoitWolf
from sklearn.linear_model import Lasso, Ridge
 
# 绘图
import matplotlib.pyplot as plt
import seaborn as sns

本模块特点

1. 零依赖 qlib

所有示例使用纯 Python + NumPy/SciPy,不依赖 qlib 或其他量化框架,便于理解底层原理。

2. 模拟数据

所有代码使用模拟数据演示,不需要外部数据源,即学即练。

3. 金融场景导向

每个数学概念都对应量化金融的具体应用场景,避免抽象空谈。

4. 完整代码示例

每个方法都有完整的 Python 实现,可以运行、修改、实验。

5. 中文化

所有内容用中文撰写,包括代码注释,降低学习门槛。

下一步

开始学习 01-概率论与统计学.md,建立量化 ML 的统计学思维基础。

此文件夹下有3条笔记。