第一章:因子发现导论

大家好,我是这门课的主讲人。今天咱们聊聊因子发现这件事。

说实话,我刚入行那会儿,对「因子」这个词特别懵。总觉得是某种玄学,跟算命差不多。后来做了几年量化,踩了不少坑,才慢慢摸到门道。

这一章,我就把最基础的东西讲清楚。什么是因子?它到底有什么用?自动发现因子又是什么鬼?

1.1 什么是因子

因子,说白了就是一个能预测股票涨跌的指标。

举个例子。你发现「昨天涨得多的股票,今天容易跌」。这个「昨天涨跌幅」就是一个因子。再比如「市盈率低的股票,长期收益更好」——市盈率也是一个因子。

因子的本质,是某种规律或模式。它把市场里杂乱无章的数据,提炼成有预测能力的信息。

核心定义:因子 = 可计算的、有预测能力的、可复用的市场特征。

我个人习惯把因子分成三类:

  • 基本面因子:比如市盈率、市净率、营收增长率。这些来自财务报表。
  • 技术面因子:比如动量、反转、波动率。这些来自价格和成交量。
  • 另类因子:比如新闻情绪、搜索热度、卫星图像。这些来自非传统数据源。

你想想看,如果能把这三类因子组合起来,预测能力会强很多。我在项目中遇到过,单用技术面因子,回测曲线漂亮得不行,一上实盘就崩。后来加了基本面因子,才稳住。

1.2 因子在量化交易中的作用

因子是量化交易的基石。没有因子,策略就是空中楼阁。

具体来说,因子干三件事:

  1. 选股:用因子给股票打分,选分数高的买,分数低的卖。
  2. 择时:用因子判断市场状态,决定加仓还是减仓。
  3. 风控:用因子识别风险暴露,避免踩雷。

举个例子。你构建了一个「低波动率因子」。选股时,你只买波动率最低的100只股票。这就是因子在选股中的应用。

再比如,你发现「市场波动率飙升时,后市往往下跌」。于是你根据波动率调整仓位。这就是因子在择时中的应用。

我的经验:因子不是越多越好。我见过有人用200个因子做策略,结果过拟合得一塌糊涂。关键是要理解每个因子背后的逻辑。

为什么会这样?因为因子之间会互相干扰。有些因子其实是同一个东西的不同表现形式。比如「5日动量」和「10日动量」,相关性很高,同时用就是冗余。

1.3 自动因子发现的价值

传统做法是人工挖因子。研究员盯着数据,拍脑袋想公式,然后回测验证。这个过程很慢,而且容易有偏见。

自动因子发现,就是用算法自动生成和筛选因子。它的价值体现在三个方面:

维度 人工挖掘 自动发现
效率 一周挖3-5个 一天生成上万个
覆盖面 依赖研究员经验 探索所有数学组合
客观性 容易有确认偏误 纯数据驱动

说白了,自动发现能帮你找到那些「人脑想不到」的因子。我曾经用遗传编程自动挖因子,发现了一个「开盘价与昨日收盘价的比值,再乘以成交量变化率」的因子。这个组合,我打死也想不出来。

注意:自动发现不是万能药。它生成的大量因子中,99%都是噪音。你需要一套严格的筛选流程,否则就是垃圾进垃圾出。

1.4 自动因子发现的挑战

这条路不好走。我踩过的坑,列出来给你看:

  • 过拟合:自动生成的因子很容易拟合历史数据,但未来失效。我曾经有一个因子,回测夏普比率3.5,实盘直接变成负数。嗯,那叫一个惨。
  • 计算成本:生成上万个因子,需要大量计算资源。尤其是高频数据,处理起来很头疼。
  • 可解释性:有些自动发现的因子,数学上很漂亮,但逻辑上说不通。你敢用吗?我不敢。
  • 数据质量:因子质量取决于数据质量。数据有误,因子全废。

怎么应对这些挑战?我后面会详细讲。这里先给个总纲:

  1. 用交叉验证控制过拟合
  2. 用分布式计算降低成本
  3. 用逻辑约束保证可解释性
  4. 用数据清洗保证质量

1.5 本章知识体系

下面这张图,概括了本章的核心内容。我建议你保存下来,后面学完再回来看,会有更深的理解。

因子发现导论:知识体系 什么是因子 可计算的预测特征 因子分类 基本面/技术面/另类 因子作用 选股/择时/风控 自动因子发现 用算法自动生成和筛选因子 价值 高效率 · 广覆盖 · 客观性 发现人脑想不到的因子 挑战 过拟合 · 计算成本 · 可解释性 数据质量 · 逻辑验证

这张图把本章内容串起来了。从因子定义出发,到分类和作用,再到自动发现的价值和挑战。你学完这一章,应该能回答三个问题:因子是什么?为什么需要自动发现?会遇到哪些坑?

避坑指南:我曾经犯过一个错误——拿到自动发现的因子就直接用,没做逻辑验证。结果实盘亏得很惨。后来我养成了习惯:每个因子必须能讲出「为什么有效」的故事。讲不出来,就扔掉。

好了,第一章就到这里。内容不多,但都是基础。后面我们会一步步深入,从因子生成到回测,再到上线。每一步我都会把踩过的坑、总结的经验分享给你。


蓝海数据掘金营,专注资料整理