第一章:因子发现导论
大家好,我是这门课的主讲人。今天咱们聊聊因子发现这件事。
说实话,我刚入行那会儿,对「因子」这个词特别懵。总觉得是某种玄学,跟算命差不多。后来做了几年量化,踩了不少坑,才慢慢摸到门道。
这一章,我就把最基础的东西讲清楚。什么是因子?它到底有什么用?自动发现因子又是什么鬼?
1.1 什么是因子
因子,说白了就是一个能预测股票涨跌的指标。
举个例子。你发现「昨天涨得多的股票,今天容易跌」。这个「昨天涨跌幅」就是一个因子。再比如「市盈率低的股票,长期收益更好」——市盈率也是一个因子。
因子的本质,是某种规律或模式。它把市场里杂乱无章的数据,提炼成有预测能力的信息。
核心定义:因子 = 可计算的、有预测能力的、可复用的市场特征。
我个人习惯把因子分成三类:
- 基本面因子:比如市盈率、市净率、营收增长率。这些来自财务报表。
- 技术面因子:比如动量、反转、波动率。这些来自价格和成交量。
- 另类因子:比如新闻情绪、搜索热度、卫星图像。这些来自非传统数据源。
你想想看,如果能把这三类因子组合起来,预测能力会强很多。我在项目中遇到过,单用技术面因子,回测曲线漂亮得不行,一上实盘就崩。后来加了基本面因子,才稳住。
1.2 因子在量化交易中的作用
因子是量化交易的基石。没有因子,策略就是空中楼阁。
具体来说,因子干三件事:
- 选股:用因子给股票打分,选分数高的买,分数低的卖。
- 择时:用因子判断市场状态,决定加仓还是减仓。
- 风控:用因子识别风险暴露,避免踩雷。
举个例子。你构建了一个「低波动率因子」。选股时,你只买波动率最低的100只股票。这就是因子在选股中的应用。
再比如,你发现「市场波动率飙升时,后市往往下跌」。于是你根据波动率调整仓位。这就是因子在择时中的应用。
我的经验:因子不是越多越好。我见过有人用200个因子做策略,结果过拟合得一塌糊涂。关键是要理解每个因子背后的逻辑。
为什么会这样?因为因子之间会互相干扰。有些因子其实是同一个东西的不同表现形式。比如「5日动量」和「10日动量」,相关性很高,同时用就是冗余。
1.3 自动因子发现的价值
传统做法是人工挖因子。研究员盯着数据,拍脑袋想公式,然后回测验证。这个过程很慢,而且容易有偏见。
自动因子发现,就是用算法自动生成和筛选因子。它的价值体现在三个方面:
| 维度 | 人工挖掘 | 自动发现 |
|---|---|---|
| 效率 | 一周挖3-5个 | 一天生成上万个 |
| 覆盖面 | 依赖研究员经验 | 探索所有数学组合 |
| 客观性 | 容易有确认偏误 | 纯数据驱动 |
说白了,自动发现能帮你找到那些「人脑想不到」的因子。我曾经用遗传编程自动挖因子,发现了一个「开盘价与昨日收盘价的比值,再乘以成交量变化率」的因子。这个组合,我打死也想不出来。
注意:自动发现不是万能药。它生成的大量因子中,99%都是噪音。你需要一套严格的筛选流程,否则就是垃圾进垃圾出。
1.4 自动因子发现的挑战
这条路不好走。我踩过的坑,列出来给你看:
- 过拟合:自动生成的因子很容易拟合历史数据,但未来失效。我曾经有一个因子,回测夏普比率3.5,实盘直接变成负数。嗯,那叫一个惨。
- 计算成本:生成上万个因子,需要大量计算资源。尤其是高频数据,处理起来很头疼。
- 可解释性:有些自动发现的因子,数学上很漂亮,但逻辑上说不通。你敢用吗?我不敢。
- 数据质量:因子质量取决于数据质量。数据有误,因子全废。
怎么应对这些挑战?我后面会详细讲。这里先给个总纲:
- 用交叉验证控制过拟合
- 用分布式计算降低成本
- 用逻辑约束保证可解释性
- 用数据清洗保证质量
1.5 本章知识体系
下面这张图,概括了本章的核心内容。我建议你保存下来,后面学完再回来看,会有更深的理解。
这张图把本章内容串起来了。从因子定义出发,到分类和作用,再到自动发现的价值和挑战。你学完这一章,应该能回答三个问题:因子是什么?为什么需要自动发现?会遇到哪些坑?
避坑指南:我曾经犯过一个错误——拿到自动发现的因子就直接用,没做逻辑验证。结果实盘亏得很惨。后来我养成了习惯:每个因子必须能讲出「为什么有效」的故事。讲不出来,就扔掉。
好了,第一章就到这里。内容不多,但都是基础。后面我们会一步步深入,从因子生成到回测,再到上线。每一步我都会把踩过的坑、总结的经验分享给你。