量化金融研究课程
面向零基础同学的量化金融学习路径,涵盖金融概念、算法原理、Python 实现与历史数据回测,并配套练习、研究规范和可复现性检查。
教学定位:本仓库用于量化金融教学、策略研究和历史数据实验,不提供实盘交易系统,也不保证示例策略具有未来盈利能力。不提供券商、交易所或账户接口;不处理实时行情和订单生命周期;不提供生产级风控、容灾和监控。示例收益不构成投资建议;考虑手续费和滑点不等于可以用于实盘。
学习路线图
模块0:环境配置
↓
模块1:金融基础概念(数学基础、价格收益、风险、市场、概率模拟、GARCH、统计、时序分析、现值、AR过程)
↓
模块2:数据获取与处理(数据源、数据清洗、特征工程)
↓
模块3:技术指标与信号(趋势、动量、波动率、股票池选股、协整与相关性)
↓
模块4:策略回测框架(策略思维、简单回测、backtrader、绩效评估)
↓
模块5:投资组合优化(Markowitz、风险平价)
↓
模块6:机器学习与量化(特征筛选、预测建模)
↓
后续进阶模块:基本面量化(07)、期货与大宗商品(08)、高频交易(09)、数学方法(10)
项目结构
quant-trade-tutorial/
├── README.md # 本文件
├── environment-cpu.yml # 默认 CPU 课程环境
├── environment-gpu.yml # 可选 NVIDIA GPU 环境
├── docs/ # 网站和课程内容
│ ├── 00_setup/ # 模块0:环境配置
│ ├── 01_financial_concepts/ # 模块1:金融基础
│ ├── ...
│ ├── 10_math_methods/ # 模块10:数学方法
│ ├── datasets/ # 固定教学数据
│ ├── exercises/ # 独立习题 Notebook
│ ├── solutions/ # 独立参考答案 Notebook
│ ├── projects/ # 模块项目与 Capstone
│ └── utils/ # 共享工具函数
├── scripts/ # 检查、执行和课程生成脚本
└── tests/ # 工具函数测试
快速开始
conda(推荐)
需要运行 GPU 章节时,改用 environment-gpu.yml 并激活 quant-gpu。常规课程不要求 CUDA。
验证环境
各模块内容概览
| 模块 | 主题 | 核心内容 |
|---|---|---|
| 00 | 环境配置 | Conda 安装、包管理、Jupyter 使用 |
| 01 | 金融基础 | 收益率、波动率、GARCH、概率模拟、统计基础、时序分析、现值估值 |
| 02 | 数据处理 | 常见数据源下载、数据清洗、收益率特征工程 |
| 03 | 技术指标 | 趋势/动量/波动率指标、Universe 选股过滤、协整配对检验 |
| 04 | 策略回测 | 策略思维来源、手写回测框架、backtrader 框架应用 |
| 05 | 组合优化 | Markowitz 均值方差优化 |
| 06 | 机器学习 | 因子库特征选择与降维 |
| 07 | 基本面量化 | 财务报表、价值因子、质量因子挖掘 |
| 08 | 期货策略 | 期货基础、商品动量、期限结构 |
| 09 | 高频交易 | 订单簿底层逻辑、做市商模型基础 |
| 10 | 数学方法 | 蒙特卡洛、线性规划、马尔可夫链 |
主要依赖
| 类别 | 包 |
|---|---|
| 数据处理 | numpy, pandas |
| 可视化 | matplotlib, seaborn |
| 科学计算 | scipy |
| 机器学习 | scikit-learn, xgboost |
| 深度学习 | pytorch;GPU 环境使用 CUDA 12.1 |
| 时序/统计 | statsmodels, arch (GARCH) |
| 数据获取 | yfinance, akshare, adata |
| 回测框架 | backtrader |
| 开发工具 | jupyter, notebook |
学习建议
- 按顺序学习 — 模块之间有强依赖关系,每一个 notebook 的文末都指明了下一步。
- 动手运行代码 — 每个 notebook 都有可交互的示例与
练习。 - 修改参数 — 改变参数观察结果变化,加深理解。
- 做笔记 — 在 notebook 中记录自己的思考。