面向零基础同学的量化金融学习路径,涵盖金融概念、算法原理、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 Conda 环境
├── environment-gpu.yml # 可选 CUDA 12.1 Conda 环境
├── start.bat # 一键启动 Jupyter(Windows)
├── docs/ # 网站内容、Notebook、数据和教学工具
│ ├── 00_setup/ … 10_math_methods/
│ ├── datasets/ # 固定示例数据及 manifest.yml
│ └── utils/ # 共享工具函数
├── tests/ # 工具函数测试
└── .github/workflows/ # 质量检查与文档部署
conda env create -f environment-cpu.yml
conda activate quant-cpu
jupyter notebook或直接双击 start.bat(Windows)。
python docs/00_setup/check_env.py| 模块 | 主题 | 核心内容 |
|---|---|---|
| 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(CPU 默认;GPU 可选 CUDA 12.1) |
| 时序/统计 | statsmodels, arch (GARCH) |
| 数据获取 | 固定 CSV 默认;yfinance、akshare、adata 为可选扩展 |
| 回测框架 | backtrader |
| 开发工具 | jupyter, notebook |
- 按顺序学习 — 模块之间有强依赖关系,每一个 notebook 的文末都指明了下一步。
- 动手运行代码 — 每个 notebook 都有可交互的示例与
🎯 练习。 - 修改参数 — 改变参数观察结果变化,加深理解。
- 做笔记 — 在 notebook 中记录自己的思考。