学习检查清单
📋 学习目标检查
✅ 交易策略理论
-
理解交易策略的核心组成
- 能解释信号生成、仓位管理、风险控制、执行规则
- 能画出完整的策略工作流程图
-
掌握IC、换手率、回撤等基础概念
- 能计算IC和信息比率
- 能计算换手率和回撤
- 理解各指标的含义
-
理解Top-K策略原理
- 能实现Top-K均等权重策略
- 了解K值选择的影响
- 知道Top-K策略的优缺点
-
理解IC权重策略
- 能计算滚动IC
- 能实现IC权重分配
- 了解IC权重策略的适用场景
-
了解均值-方差优化(MVO)
- 理解马科维茨理论
- 能使用CVXPY求解MV优化
- 了解有效前沿的概念
✅ 投资组合构建方法
-
能实现Top-K均等权重
- 能编写完整的策略代码
- 能分析K值敏感性
- 能优化调仓频率
-
能实现IC权重分配
- 能计算历史IC
- 能实现权重平滑
- 能限制单股权重
-
能实现MV优化
- 能估计期望收益和协方差矩阵
- 能添加约束条件
- 能进行正则化处理
-
能对比三种方法
- 能从性能、复杂度、风险等维度对比
- 能选择合适的方法
- 能结合多种方法
✅ Executor与成本模型
-
理解Executor机制
- 能解释Executor的工作原理
- 能实现简单的Executor
- 能管理持仓和交易
-
掌握交易成本模型
- 能计算手续费
- 能计算滑点成本
- 能计算市场冲击
-
能进行成本敏感性分析
- 能测试不同成本参数的影响
- 能分析换手率与成本的关系
- 能优化策略降低成本
✅ 绩效评估指标
-
能计算收益率指标
- 能计算总收益率
- 能计算年化收益率
- 能计算超额收益率
-
能计算风险指标
- 能计算波动率
- 能计算最大回撤
- 能计算VaR
-
能计算风险调整收益指标
- 能计算夏普比率
- 能计算信息比率
- 能计算卡尔马比率
-
能计算交易相关指标
- 能计算换手率
- 能计算胜率
- 能计算盈亏比
✅ 实验分析方法
-
能进行参数敏感性分析
- 能实现单参数敏感性分析
- 能实现多参数敏感性分析
- 能绘制敏感性热力图
-
能进行持仓周期研究
- 能测试不同调仓频率
- 能分析持仓周期的影响
- 能选择最优调仓频率
-
能进行样本外验证
- 能实现滚动窗口验证
- 能实现扩展窗口验证
- 能进行时间序列交叉验证
✅ 回测流程与实践
-
能使用Qlib框架
- 能初始化Qlib
- 能加载数据
- 能进行特征工程
-
能完成完整回测
- 能训练模型
- 能定义策略
- 能配置Executor
- 能执行回测
- 能分析结果
-
能避免常见错误
- 能避免未来函数
- 能正确处理成本
- 能防止过拟合
🎯 实践能力检查
✅ 能独立完成的项目
-
项目1: Top-K策略回测
- 实现Top-K策略
- 完成完整回测
- 分析策略表现
-
项目2: IC权重策略
- 计算历史IC
- 实现IC权重策略
- 对比Top-K策略
-
项目3: MV优化策略
- 估计收益和风险
- 求解MV优化
- 分析组合特征
-
项目4: 参数优化
- 进行参数敏感性分析
- 寻找最优参数组合
- 验证参数稳定性
-
项目5: 成本分析
- 进行成本敏感性测试
- 优化策略降低成本
- 分析成本对收益的影响
✅ 能回答的问题
-
为什么需要回测?
- 验证策略有效性
- 评估策略风险
- 优化策略参数
-
Top-K、IC权重、MV优化,哪个更好?
- 没有绝对最好的方法
- 根据实际情况选择
- 都需要学习和理解
-
交易成本有多大影响?
- 影响可能非常大
- 高换手率策略对成本更敏感
- 务必做成本敏感性分析
-
如何避免过拟合?
- 使用样本外验证
- 限制参数数量
- 简化策略逻辑
-
哪些指标最重要?
- 夏普比率:风险调整后收益
- 最大回撤:最大损失
- IC:预测能力
- 换手率:交易活跃度
📚 学习路径
🟢 初学者路径
1. 交易策略理论
↓
2. Top-K策略实现
↓
3. 绩效评估指标
↓
4. 简单回测
🟡 进阶路径
1. IC权重策略
↓
2. MV优化方法
↓
3. 参数敏感性分析
↓
4. 样本外验证
🔴 实战路径
1. 完整Qlib回测
↓
2. 策略优化
↓
3. 成本控制
↓
4. 实盘验证
🔧 工具箱
必备 Python 库
import qlib # 量化投资框架
import pandas as pd # 数据处理
import numpy as np # 数值计算
import lightgbm as lgb # 梯度提升树
import cvxpy as cp # 凸优化
import matplotlib.pyplot as plt # 可视化
import seaborn as sns # 统计绘图常用代码片段
1. Top-K策略
def topk_strategy(predictions, k=20):
sorted_pred = predictions.sort_values(ascending=False)
topk = sorted_pred[:k]
weight = 1.0 / k
weights = pd.Series(0, index=predictions.index)
weights[topk.index] = weight
return weights2. IC计算
from scipy.stats import spearmanr
def calculate_ic(predictions, returns):
ic, _ = spearmanr(predictions, returns)
return ic3. MV优化
def mv_optimization(returns, risk_aversion=1.0, max_weight=0.1):
n = len(returns.columns)
w = cp.Variable(n)
mu = returns.mean().values
sigma = returns.cov().values
sigma_reg = sigma + 1e-6 * np.eye(n)
objective = cp.Maximize(mu @ w - risk_aversion * cp.quad_form(w, sigma_reg))
constraints = [cp.sum(w) == 1, w >= 0, w <= max_weight]
problem = cp.Problem(objective, constraints)
problem.solve()
return pd.Series(w.value, index=returns.columns)4. 绩效评估
def evaluate_portfolio(returns, benchmark_returns=None):
cumulative_returns = returns.cumsum()
metrics = {}
metrics['total_return'] = cumulative_returns.iloc[-1]
metrics['volatility'] = returns.std() * np.sqrt(252)
_, max_drawdown = calculate_max_drawdown(cumulative_returns)
metrics['max_drawdown'] = max_drawdown
sharpe = returns.mean() / returns.std() * np.sqrt(252)
metrics['sharpe_ratio'] = sharpe
return metrics🚀 下一步学习
完成 Week 4 后,你已经掌握了:
✅ 交易策略理论 ✅ 投资组合构建方法 ✅ Executor与成本模型 ✅ 绩效评估指标 ✅ 实验分析方法 ✅ 完整回测流程
下一步:实战应用
你将学习:
- 完整策略开发
- 实盘风险管理
- 策略监控系统
- 持续优化改进
祝学习顺利! 🎉