3.1 策略开发的正确流程:先逻辑,后数据
绝大多数新手的错误做法:拿到一堆数据,暴力遍历因子和参数,哪个回测好看就选哪个。本质就是数据窥探,得到大量伪策略。
正确标准化开发流程:逻辑假设提出 → 理论推演 → 定性分析 → 回测验证 → 样本外检验 → 鲁棒性测试 → 模拟盘运行 → 小资金实盘。
逻辑先行,数据后验证。数据只能用来“证伪或者部分证实”,数据不能凭空创造逻辑。如果讲不出策略为什么能赚钱,直接放弃。
3.2 单因子开发:逻辑提出-数据校验-回测-样本外
- 提出逻辑假设:清晰写出因子的盈利逻辑,属于风险溢价 / 行为偏差 / 制度红利哪一类。
- 因子计算公式确定:明确原始数据来源、计算步骤。
- 定性校验:统计因子分层,看分层收益是否单调,分层收益是否有序。好的因子,分层之后净值应该呈现单调区分。
- 回测:训练集回测,计算IC、IR、夏普、卡玛、回撤。
- 样本外验证:完全不参与调参的时间区间,看分层、IC、绩效是否维持。
- 拥挤度检测:估算市场同类因子使用规模,观察IC是否持续下行。
分层测试是单因子最重要的手段。5分层:从因子最低到最高分成5组,每组净值曲线拉开明显梯度,才是合格因子。如果5条曲线搅在一起,说明因子几乎没有预测能力。
3.3 多因子合成:加权、分层、正交化处理
当我们手上拥有多个有效单因子,需要合成多因子得分。
- 简单等权加权:各个标准化之后的因子直接相加。优点简单,缺点不区分各个因子的预测能力强弱。
- IC-IR加权:按照历史IC均值除以IC标准差(IR)作为权重,预测越稳定的因子权重越高。
- 分层打分法:每个因子对标的打分,再汇总总得分,根据总得分选股。适合做选股策略。
正交化(中性化) 很多因子会和行业、市值高度相关。例如很多质量因子天然偏向大市值股票。如果不去除市值、行业暴露,因子收益很大一部分来自市值、行业beta,而不是因子本身。 正交化(残差处理),把因子对市值、行业做回归,取残差作为新因子,剥离已知风格暴露,得到因子纯粹的增量信息。
正交化不是必选项,但做纯Alpha多因子体系几乎是标准操作。
3.4 因子清洗:去极值、标准化
拿到原始因子,不能直接使用,要做预处理清洗。
- 去极值(Winsorize缩尾处理):把因子极大值、极小值按分位数截断,消除异常值对结果的干扰。常用1%-99%分位数截断。防止个别极端样本扭曲整体结果。
- 标准化(Z-score标准化):每个时间截面,因子减去截面均值,除以截面标准差。把因子变换成均值0,标准差1的分布,不同因子量级可以直接相加。
注意:截面标准化,不是全局标准化。每个调仓时间点,在当期股票池内部做标准化,不能用全部历史全局均值方差。
3.5 因子衰减、因子拥挤度检测
因子衰减(因子半衰期):因子的预测能力会随着时间推移衰减。计算不同滞后周期的IC,看IC什么时候衰减到接近0。 例如价格动量因子半衰期大概2-4周;部分基本面因子半衰期可以达到数月。因子衰减周期决定策略合适的调仓频率。衰减快就要调仓频繁,衰减慢可以低频调仓。
因子拥挤度检测方法:
- 跟踪IC时间序列,观察IC均值持续下行;
- 跟踪因子多空组合换手率,大量资金涌入会带来换手率抬升;
- 查看公募、量化产品持仓,观察同类因子的持仓占比。
当因子出现持续IC下行,拥挤度走高,就要降低该因子权重,或者直接暂停使用。
3.6 策略库的管理方法
随着研究推进,会积累大量因子、策略,需要标准化策略库管理。
每一条入库策略/因子必须完整存档下面信息:
- 策略名称、策略类别;
- 完整盈利逻辑、收益来源分类;
- 全部计算公式、参数列表;
- 训练集绩效、样本外绩效;IC、IR、夏普、卡玛、最大回撤;
- 策略适用行情,不适用行情;
- 潜在失效风险、拥挤监控指标;
- 调仓周期、容量估算;
- 入库时间、上次复核时间。
定期(每季度)批量复核全部策略库:复核样本外表现,IC变化,拥挤度。绩效明显恶化的策略标记为降级、观察、移出候选池。
禁止策略库只进不出,只新增不淘汰。
本章实战笔记
- 因子开发:逻辑先行,数据做验证,不能反过来拿数据暴力挖逻辑。
- 单因子优先看5分层单调性,分层混乱的因子直接放弃。
- 因子预处理三件套:去极值、截面标准化,必要做正交化剥离风格暴露。
- 因子有衰减周期,决定调仓频率;拥挤度是必须长期监控指标。
- 策略库要有定期复核淘汰机制,不能无限堆积策略。
本章核心公式卡
Z-score截面标准化: $$z_i=\frac{x_i-mean(x_{cross})}{std(x_{cross})}$$ Winsorize:1%-99%分位数缩尾处理 因子半衰期:不同滞后阶数下IC衰减到接近0的时间周期
本章实战清单
单因子开发全流程清单
- 清晰写出盈利逻辑,归类收益来源 - 明确因子计算公式,数据源 - 5分层测试,检验分层单调性 - 训练集回测,计算IC、IR、夏普、卡玛 - 独立样本外时间区间验证 - 计算因子半衰期,确定合理调仓周期 - 做拥挤度检测
因子预处理清单
- 1%-99%分位数去极值 - 截面Z-score标准化 - 需要纯Alpha则做市值、行业正交化残差处理
策略库管理清单
- 入库策略完整记录全部元信息 - 每季度批量复核全部策略库 - 根据样本外绩效、IC、拥挤度标记正常/观察/降级/移出