一、因子初探:从零认识量化世界的“基因”
说实话,因子这个词,在量化圈里被说得有点玄乎了。
我第一次接触因子时,以为是什么高深的数学模型。后来做多了才发现——因子,其实就是能解释股票涨跌的某种特征。就像医生看病要看体温、血压一样,我们做量化交易,也要看股票的“体温”和“血压”。
1.1 什么是因子?一个接地气的解释
我习惯这样跟新人讲:
假设你要判断一个人是不是学霸。你会看什么?
- 考试成绩(这是最直接的)
- 每天学习时长(这是行为特征)
- 智商测试分数(这是先天属性)
这些判断依据,就是“因子”。
在股票市场里,因子就是能帮助我们预测股价未来走势的某种数据特征。比如:
- 市盈率(PE)—— 股票贵不贵?
- 过去一个月的涨幅 —— 最近涨多了还是跌多了?
- 成交量变化 —— 资金在关注吗?
核心定义:因子 = 能区分股票未来表现差异的某种可量化特征。
1.2 因子在量化交易中的角色
我在项目中遇到过很多新手,上来就问:“给我一个能赚钱的因子就行。” 这种想法其实很危险。
因子不是万能钥匙。它在量化交易中扮演的角色,更像是一个信号兵:
- 筛选工具:从几千只股票里,快速找出有潜力的候选者
- 排序依据:把股票按因子值从高到低排列,做多高的、做空低的
- 风险控制:识别哪些股票暴露在某种风险下(比如高杠杆风险)
你想想看,如果没有因子,我们怎么选股?靠抛硬币吗?
我的经验:一个好的因子,不一定每次都对。但只要它能在60%以上的时间里给出正确信号,长期下来就能创造巨大价值。这就是量化交易的魅力——靠概率取胜。
1.3 Alpha因子 vs 风险因子
这里有个关键区分,我当年花了很长时间才真正搞明白。
| 类型 | 目的 | 举例 | 我的理解 |
|---|---|---|---|
| Alpha因子 | 预测超额收益 | 动量因子、反转因子 | “赚钱的武器” |
| 风险因子 | 解释收益来源、控制风险 | 市场因子、规模因子、价值因子 | “解释为什么涨跌” |
Alpha因子,说白了就是能帮你赚钱的因子。比如我发现:过去5天跌幅最大的股票,接下来3天往往会反弹。这就是一个反转Alpha因子。
风险因子则不同。它不直接帮你赚钱,但能告诉你:你的收益到底来自哪里?
我曾经犯过一个错误:回测时收益很高,结果发现是因为我重仓了小盘股。当时市场正好在炒小盘股,所以收益全是市场风格给的,跟我的因子没关系。这就是风险因子没控制好的后果。
避坑指南:千万不要把风险因子当Alpha因子用。我曾经见过有人把“市值”当Alpha因子,结果市场风格一转,亏得底朝天。记住:市值是风险因子,不是Alpha因子。
1.4 因子的数学表达
嗯,这里要上点硬货了。不过别怕,我会用最直白的方式讲。
因子的数学表达,其实就是一个映射函数:
因子值 = f(股票数据, 时间窗口, 参数)
举个例子,一个简单的5日动量因子:
Momentum_5d = (close_price_today - close_price_5days_ago) / close_price_5days_ago
翻译成人话:今天的收盘价比5天前涨了多少百分比?
更正式一点,我们用数学符号表示:
对于股票 i 在时间 t:
Factor_i(t) = f( X_i(t), X_i(t-1), ..., X_i(t-n) )
其中:
- X_i(t) 是股票 i 在时间 t 的某种数据(价格、成交量、财务数据等)
- n 是回溯窗口
- f 是某种变换函数(可以是简单的加减乘除,也可以是复杂的机器学习模型)
我个人习惯把因子分为三个层次:
- 基础因子:直接计算,比如涨跌幅、换手率
- 衍生因子:对基础因子做组合,比如(涨跌幅 × 换手率)
- 合成因子:把多个因子加权组合成一个
重要提醒:因子的数学表达越复杂,不一定越好。我在项目中见过最赚钱的因子,往往就是简单的价格动量或成交量异常。别为了炫技而过度复杂化。
1.5 本章知识体系总览
为了让你对本章内容有个整体印象,我画了张图:
1.6 本章小结
好了,我们来捋一捋这一章的核心:
- 因子是什么?—— 能预测股票涨跌的量化特征
- 因子有什么用?—— 选股、排序、风控
- 因子分几类?—— Alpha因子(赚钱)和风险因子(解释风险)
- 因子怎么表达?—— 数学函数:因子值 = f(数据, 时间, 参数)
我个人觉得,学因子挖掘最忌讳的就是一上来就追求复杂。先把手里的简单因子用明白,比什么都强。
记住:因子不是越多越好,能稳定赚钱的因子,一个就够了。
给新手的建议:学完这一章,你可以去下载一些股票数据,试着计算一下最简单的“5日涨跌幅”因子。看看高因子值的股票和低因子值的股票,后续表现有没有差异?这就是因子挖掘的第一步。