假设你是一位刚拿到启动资金的主厨,准备开一家主打“稳定盈利”的小餐厅。冰箱里堆满各种食材——市盈率、动量、波动率、换手率……每种食材都像一只“候选因子”,据说能提前尝出股票未来涨跌的滋味。但问题来了:怎么知道哪些食材真的管用?会不会只是某位食客的错觉?招牌菜做出来之后,会不会三个月就过气?要不要把几道菜精心配成招牌套餐? 这就是量化交易中“因子挖掘”这门手艺的全部轮廓。它像一位严谨的品控主厨:先挑食材(因子构造),再请试吃打分(显著性检验),人多口杂就提高门槛(多重检验校正),用自动研发机器批量开发新品(遗传规划),从顾客点评里找灵感(NLP因子发现),定时检查菜品是否过气(因子衰减监控),最后把招牌菜配成套餐(因子组合优化)。这篇文章将带你走完这七步,看清量化研究员如何从零到一构建一套可靠有效的因子库。

岗位关联

学会因子挖掘,相当于掌握了量化策略的“食材采购与品控”全流程——这是从凭感觉炒菜升级为系统化经营一家量化餐厅的核心能力,也是 AI 从业者在金融行业落地价值的最佳切入点。

目录
  1. 可视化演示
  2. 因子构造逻辑
  3. 显著性检验
  4. 多重检验校正
  5. 遗传规划挖掘
  6. NLP因子发现
  7. 因子衰减监控
  8. 因子组合优化
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

因子挖掘是量化策略的起点。文章介绍因子构造逻辑、显著性检验与多重检验校正方法,以及基于遗传规划与NLP的自动化... 切换模式查看不同维度。

本节配有交互动效(进入视口后自动加载,约 3KB)。

因子构造逻辑:核心原理 动态展示关键流程与数据流动 交互控件调节参数实时渲染 f(x) = transform(x) 核心概念的可视化呈现

因子构造逻辑

阿良主厨打开冰箱,面对几十种食材,每种都像一只候选因子:市盈率偏“酸”,代表便宜货;动量偏“甜”,代表近期涨得好的股票;波动率偏“辣”,代表大起大落的股票。单独一味料直接下锅是“单因子模型”,几味料配起来炖是“多因子模型”,但无论怎么做,下锅前都得先洗菜切菜——这就是数据预处理。发黄的菜叶要摘掉,对应极端值要剔除;土豆要削皮切块,对应数据要标准化,否则“酸”和“甜”的量纲不一样,根本没法比。

在量化世界里,因子是能影响股票未来收益的“食材属性”,常见类型包括价值、动量、质量、情绪、波动率等。拿到原始行情和财务数据后,第一件事就是预处理:去缺失、去极值、中性化、标准化。这就像把食材去根去泥、统一切成丁,保证每道菜的火候可控。预处理不到位,后面所有检验都会失真,好比一盘夹生饭端上桌,试吃官再专业也救不回来。

构造因子的核心,是把“股票未来收益”拆解成可以解释的几部分。单因子模型假设收益由三块构成:与因子无关的基准收益、因子贡献、以及无法解释的随机噪声。

食材备好、切块完毕、配方写清,接下来就要把菜端给试吃官了——一份新因子到底有没有资格写进菜单,得靠显著性检验说了算。

rt=α+β×ft+εt\displaystyle r_t = \alpha + \beta \times f_t + \varepsilon_t
这个公式像是评价一道菜:α 是餐厅底汤的固定水平,β×f_t 是这味食材带来的调味贡献,ε_t 是偶尔失手的出锅火候。
  1. 收益项 r_t第 t 期该股票的实际收益率,是我们想预测的“目标口味”。
    rtr_t
  2. 基准项 α与因子无关的固定收益部分,相当于餐厅的招牌底汤,不管放什么菜都有这个底味。
    α\alpha
  3. 因子贡献 β×f_t因子暴露 β 乘以因子值 f_t,衡量这味“食材”对收益调味贡献的强弱。
    β×ft\beta \times f_t
  4. 残差 ε_t模型解释不了的部分,是随机扰动,相当于偶尔手抖多撒的那把盐。
    εt\varepsilon_t

显著性检验

阿良每做一道新菜,都要请一群试吃官连续打分。一位试吃官说好吃不算数,要一群人、连续很多天都稳定给高分,这道菜才敢写进菜单。量化里的“信息系数(IC)”就是这个打分:每个月,把股票的因子值排名和未来收益排名做相关,得到一个在 -1 到 1 之间的分数。IC 越大,说明这味食材和股票涨跌的口味越匹配。

但光看平均分还不够。如果试吃官今天打 9 分、明天打 2 分,这道菜的口味就太不稳定了。统计学上,我们关心“平均分相对于分数的波动有多突出”,这正是 t 统计量解决的问题:把平均 IC 除以它的标准误,得到的是一个“信噪比”。

试吃通过了,阿良很高兴。但等等——他今天一口气试了 100 道创新菜,会不会有 5 道纯属碰巧被夸?试得越多,这种“碰巧通过”的问题就越严重,这正是下一节多重检验要解决的坑。

t=IC‾σIC/N\displaystyle t = \frac{\overline{IC}}{\sigma_{IC} / \sqrt{N}}
通俗地说,t 值就是“平均好吃程度”比上“试吃打分的抖动幅度”,t 越大,这道菜是稳定好吃而不是碰巧被夸的概率就越高。
  1. 平均 IC(\overline{IC})N 个月内因子与未来收益排名相关的平均分,代表食材的“平均口味水平”。
    IC‾=1N∑i=1NICi\overline{IC} = \frac{1}{N}\sum_{i=1}^{N} IC_i
  2. IC 标准差(σ_{IC})每个月打分的波动程度,波动越大,说明这道菜时好时坏、越可疑。
    σIC\sigma_{IC}
  3. 标准误(σ_{IC}/√N)把评分波动分摊到 N 次试吃后得到的“平均误差”,试吃次数越多,误差越小。
    σICN\frac{\sigma_{IC}}{\sqrt{N}}
  4. t 统计量平均分相对于平均误差的倍数,经验上超过 2(近似 1.96)就认为显著。
    t=IC‾σIC/Nt = \frac{\overline{IC}}{\sigma_{IC}/\sqrt{N}}

多重检验校正

阿良的研发节奏越来越快,一周内让试吃官尝了 100 道创新菜。按照“5% 概率碰巧说好吃”来算,100 道里总会有大约 5 道是纯粹的运气产物。在统计学里,这种“假阳性”会随着检验次数增加而膨胀:你挖的因子越多,总有几个会“假装”有效。这就是为什么很多研究员回测时发现因子一抓一大把,实盘却集体失效。

最简单粗暴的解法是 Bonferroni 校正:既然碰巧的概率会随次数翻倍,那就把门槛按次数摊薄。原本 5% 的容忍度,做了 100 次检验,就除以 100,变成 0.05%。相当于把“说好吃”的标准从 9 分提高到 9.95 分——只有真正惊艳的菜才能通过。

门槛抬高后,能进菜单的都是真正经得起考验的菜。但靠主厨人工研发菜谱实在太慢,一年也出不了几道招牌菜。于是阿良买了一台“自动研发机器”——遗传规划,让机器自己批量进化出新菜谱。

αadj=αm\displaystyle \alpha_{adj} = \frac{\alpha}{m}
Bonferroni 像把一次试吃的误判风险平均分配到每次试吃上。除了它之外,FDR(错误发现率控制)是更温和的替代方案,允许一小部分假阳性存在,从而保留更多真因子。
  1. 名义显著性水平(α)单次检验中容忍“碰巧通过”的概率,行业惯例通常取 0.05。
    α=0.05\alpha = 0.05
  2. 检验次数(m)同时试吃的候选因子总数,也就是独立的检验数量。
    mm
  3. 校正后门槛(α_adj)把容忍度按检验次数摊薄后得到的新门槛,m 越大门槛越苛刻。
    αadj=αm\alpha_{adj} = \frac{\alpha}{m}

遗传规划挖掘

这台自动研发机器很像一档选秀节目:先随机生成一批“菜谱表达式”作为选手种群,有的选手是“市盈率 + 动量”,有的是“波动率 × 换手率”。评委用适应度函数给每位选手打分,得分高的晋级,得分低的淘汰。晋级的选手两两“交叉”(交换菜谱片段),偶尔“变异”(随机修改调料比例),生成下一代更优秀的菜谱。如此反复迭代几十代,就能从一堆随机表达式里进化出极具预测力的新因子。

适应度函数不能只看“味道好”——如果只奖励 IC 高,机器就会学会把菜谱写成一长串复杂的多项式去死记历史数据,这就是过拟合。所以打分时要惩罚复杂度:公式越冗长,扣分越多。

机器连夜产出上千个候选因子,再经过显著性检验和多重检验校正的筛选,研发效率大大提升。但机器再聪明,也只会从已有食材中组合,缺的是外部灵感。于是阿良把耳朵贴向顾客的闲聊——NLP 因子发现开始登场。

fitness=∣IC‾∣σIC−λ×complexity\displaystyle \text{fitness} = \frac{|\overline{IC}|}{\sigma_{IC}} - \lambda \times \text{complexity}
这个适应度函数是“既要好吃、又要稳定、还要简单”的综合评分。前面那项是风险调整后的预测力,后面那项是对又臭又长菜谱的扣分,λ 是扣分的力度。
  1. 风险调整预测力(|IC̄|/σ_IC)排除波动干扰后的稳定预测力,等价于信息比率的思想。
    ∣IC‾∣σIC\frac{|\overline{IC}|}{\sigma_{IC}}
  2. 复杂度(complexity)菜谱表达式的节点数量,越复杂的公式越容易死记历史。
    complexity\text{complexity}
  3. 惩罚系数(λ)克制复杂度的力度旋钮,λ 越大,机器越倾向于生成简单配方。
    λ\lambda
  4. 适应度(fitness)两部分相减得到总分,选秀评委按这个分数决定谁晋级。
    fitness=∣IC‾∣σIC−λ×complexity\text{fitness} = \frac{|\overline{IC}|}{\sigma_{IC}} - \lambda \times \text{complexity}

NLP因子发现

阿良发现,很多新口味灵感来自食客的闲聊:有人抱怨“这家店上菜太慢”,有人夸“今天的汤特别鲜”。把成千上万条点评汇总起来,就能发现新的菜品改进方向。量化世界里,新闻、研报、社交媒体就是食客的闲谈。NLP(自然语言处理)先把这些文本拆成句子和关键词,判断每句话的情绪是正面还是负面,再按新闻的权威性和时效性加权,聚合出一个“舆情因子”。

情绪因子的价值在于“事件驱动”:一家公司突然爆出质量丑闻,相关新闻情绪分骤降,股价往往在几小时内承压。传统的财务因子反应太慢,而 NLP 因子能抢在别人前面捕捉情绪拐点。把新闻情绪分加总平均,就得到该股票当日的综合情绪信号。

情绪来得快去得也快,上周还人人夸赞的“网红菜”,这周就可能门可罗雀。这就引出一个残酷的事实:任何因子都会衰减,招牌菜也有过气的一天。

S=1n∑i=1nwi×si\displaystyle S = \frac{1}{n}\sum_{i=1}^{n} w_i \times s_i
S 相当于把所有食客评价(s_i)按重要程度(w_i)加权平均后的“大众口碑分”,分数越高,市场情绪越乐观。
  1. 单条情绪分(s_i)第 i 条新闻或评论的情感得分,正面为正、负面为负。
    sis_i
  2. 新闻权重(w_i)根据媒体权威性、发布时效赋予的权重,权威媒体和新鲜消息权重更高。
    wiw_i
  3. 平均聚合(\frac{1}{n}\sum)对 n 条文本的情绪做加权平均,把零散闲谈汇成一个数。
    1n∑i=1nwisi\frac{1}{n}\sum_{i=1}^{n} w_i s_i
  4. 情绪因子(S)最终输出到选股模型中的综合舆情信号。
    SS

因子衰减监控

阿良的招牌菜“动量炖牛腩”刚推出时天天排长队,可三个月后顾客就腻了。因子也一样:当一个因子被全市场发现,大量资金涌入套利,它的预测力就会被“吃干抹净”。尤其是高频低换手的因子,拥挤之后迅速失效。因此,量化研究员绝不能把因子当成一劳永逸的传家宝。

监控衰减最直观的工具是“半衰期”和“滚动 IC”。半衰期指 IC 衰减到最初一半所花的时间,半衰期越短,因子的保鲜期越差。研究员会滚动计算最近 60 个月的 IC,观察它是稳定横盘还是持续下滑,同时盯住换手率与交易成本——如果因子带来的收益已经cover不住交易摩擦,就该触发失效预警,把这道菜从菜单上撤下来。

监控发现问题后,就要及时替换食材。但单道菜再好吃,也撑不起一家餐厅的完整菜单。最后一步,是把几道仍然有效的招牌菜配成一套均衡的套餐——这就是因子组合优化。

ICt=IC0×0.5t/h\displaystyle IC_t = IC_0 \times 0.5^{t/h}
这个公式像一道菜的“过气曲线”:IC₀ 是刚上市时的人气,每过一个半衰期 h,人气就减半。t 越大,剩余预测力越少。
  1. 初始 IC(IC_0)因子刚上线时的原始预测力,相当于网红菜开业第一周的火爆程度。
    IC0IC_0
  2. 衰减率(0.5^{t/h})时间每推进一个半衰期,预测力就乘以 0.5。
    0.5t/h0.5^{t/h}
  3. 半衰期(h)预测力衰减到一半所需的时间长度,是衡量因子保鲜期的核心指标。
    hh
  4. 当前 IC(IC_t)t 时刻剩余的预测力,用来判断是继续保留还是触发失效预警。
    ICt=IC0×0.5t/hIC_t = IC_0 \times 0.5^{t/h}

因子组合优化

套餐不是简单地把几道菜堆在一起:酸辣和甜腻强行拼盘会翻车,两道高度相似的菜同时上桌等于浪费名额。因子组合优化要解决两个问题:一是给每只因子分配多少权重,二是如何避免因子之间“重复贡献”。如果两个因子相关性高达 0.9,它们其实在说同一件事,同时重仓等于把鸡蛋放在同一个篮子里。

实际操作中,研究员会先对每只因子做标准化打分,然后设定目标函数:让组合的加权 IC 最大,同时对权重施加约束——权重之和必须为 1,单个因子权重不能超过上限,组合对某些风格(如行业、市值)的风险暴露也要受控。求解这个优化问题,就得到一套“均衡套餐”。

至此,阿良的“量化餐厅”完成了从选材、品控、自动研发、舆情洞察到保鲜监控和套餐设计的全链路。一套可靠的因子库,正是这样一步一步系统化搭建出来的。

Fport=∑i=1kwi×ICis.t.∑i=1kwi=1\displaystyle F_{port} = \sum_{i=1}^{k} w_i \times IC_i \quad \text{s.t.} \quad \sum_{i=1}^{k} w_i = 1
组合因子 F_port 是各因子得分的加权和,约束条件保证权重预算刚好用完。相关性控制则体现在约束里:高度相关的因子会被分散权重,避免重复押注。
  1. 因子得分(IC_i)第 i 只因子经过标准化后的预测力评分。
    ICiIC_i
  2. 权重(w_i)组合中分配给第 i 只因子的比重,权重越大,这道菜在套餐里的地位越高。
    wiw_i
  3. 预算约束(\sum w_i = 1)所有权重加起来必须等于 1,相当于套餐预算不能超支。
    ∑i=1kwi=1\sum_{i=1}^{k} w_i = 1
  4. 组合因子(F_port)加权汇总后的综合选股信号,也是最终写进交易系统的“套餐配方”。
    Fport=∑i=1kwi×ICiF_{port} = \sum_{i=1}^{k} w_i \times IC_i

AI 应用场景

私募量化基金的“因子工厂”

阶段:因子研发与筛选

解决的问题:传统人工挖因子一年只能产出十几个,且研究员凭经验拍脑袋,容易陷入低水平重复。AI 因子工厂用遗传规划自动生成大量候选因子,再用显著性检验和 Bonferroni 校正统一筛选,把“研发-检验-入库”变成流水线。

具体案例:某私募搭建了“因子工厂”平台,每天晚上从行情和财报数据中进化出 2000 个新表达式,经过 IC 检验、多重检验校正和复杂度惩罚后,只有约 30 个能通过严苛门槛进入因子库,实盘组合的夏普比率比纯人工时代提升了约 40%。

券商研报的 NLP 情绪因子

阶段:另类数据因子挖掘

解决的问题:财报因子更新频率低,无法捕捉突发事件。NLP 因子用新闻、研报和社交媒体的情绪打分,把定性信息变成可量化的因子,抢在价格反应前发现拐点。

具体案例:一家资管机构每日抓取 5 万条财经新闻,用预训练语言模型做情绪打分,聚合出“舆情温度计”因子。在行业利空事件集中爆发时,该因子提前 1-2 天发出规避信号,显著降低了组合的回撤。

因子失效预警仪表盘

阶段:因子运维与监控

解决的问题:因子衰减是常态,人工盯报表效率低、易漏判。构建监控仪表盘后,系统滚动计算每个因子的 IC、半衰期、换手成本,一旦指标跌破阈值自动预警并建议下架。

具体案例:某量化团队上线了因子健康度看板,每周对库存 200 个因子做“体检”,自动标注半衰期小于 3 个月的高危因子。一次动量因子拥挤度飙升,系统提前两周发出预警,团队及时调仓,避免了后续的大幅回撤。

Python 演示

python37 行
import numpy as npfrom scipy.stats import spearmanr, t as t_dist rng = np.random.default_rng(42)T, N, K = 120, 100, 8 true_beta = np.array([1.0, 0.8, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0])factors = rng.standard_normal((K, T, N))noise = rng.standard_normal((T, N)) * 0.8ret = np.zeros((T, N))for k in range(K):    ret += true_beta[k] * factors[k]ret = ret / K + noise def factor_ic(k):    ics = []    for t in range(T):        ics.append(spearmanr(factors[k, t], ret[t]).correlation)    return np.array(ics) def t_stat(ics):    return np.mean(ics) / (np.std(ics, ddof=1) / np.sqrt(len(ics))) alphas = []for k in range(K):    ics = factor_ic(k)    alphas.append(t_stat(ics)) alpha = 0.05m = Kalpha_bonf = alpha / mcrit = t_dist.ppf(1 - alpha_bonf / 2, T - 1) print('Bonferroni 校正后 t 门槛: %.3f' % crit)for k in range(K):    mark = '通过' if abs(alphas[k]) > crit else '淘汰'    print('因子 %d: t = %+.3f -> %s' % (k, alphas[k], mark))
目的:演示因子 IC 计算、t 显著性检验与 Bonferroni 多重检验校正的完整流程,帮助理解为什么“挖得越多越要小心假阳性”。
  1. ret = np.zeros((T, N))初始化收益矩阵,T 期 × N 只股票,作为“目标口味”的容器。
  2. for k in range(K): ret += true_beta[k] * factors[k]把每个因子的贡献按真实强度叠加进收益,前 3 个因子是真的“食材”。
  3. ret = ret / K + noise归一化并加入噪声,模拟真实市场中大量的随机扰动,噪声比信号强得多。
  4. ics.append(spearmanr(factors[k, t], ret[t]).correlation)每月横截面上做因子值与收益的秩相关,得到该月的 IC 打分。
  5. return np.mean(ics) / (np.std(ics, ddof=1) / np.sqrt(len(ics)))平均 IC 除以标准误,得到 t 统计量,衡量打分是否稳定显著。
  6. alpha_bonf = alpha / mBonferroni 校正:把 5% 的门槛分摊到 8 次检验上。
  7. crit = t_dist.ppf(1 - alpha_bonf / 2, T - 1)查 t 分布表得到校正后的临界值,门槛从约 1.98 抬高到约 2.69。
  8. mark = '通过' if abs(alphas[k]) > crit else '淘汰'用校正后门槛为每个候选因子发“录取通知”。

常见误区

误区我写了个因子,回测 IC 有 0.35,样本期好几年都稳定,这肯定是稳赚的圣杯,赶紧上实盘。

正解回测高 IC 可能来自多重检验假阳性、过拟合或幸存者偏差。好比一道菜只给三位熟客试吃,他们碍于情面都说好吃,不能代表大众口味。必须做样本外验证、多重检验校正,并考察 IC 的稳定性与换手成本,才能下结论。

为何常见:人类天生喜欢“事后找规律”,回测是事后视角,很容易从历史数据中翻出看似完美实则侥幸的模式。

误区因子库里有 500 个因子,听起来很专业很全面,反正多一个因子多一份预测力,总比少强。

正解同时检验的次数越多,假阳性概率膨胀得越厉害。按 5% 的显著性水平,检验 500 个纯噪声因子也会捞出约 25 个“假明星”。而且因子之间高度相关会带来冗余和风险集中,套餐里十道都是酸菜鱼,不如一荤一素搭配合理。

为何常见:人容易把“数量”当成“质量”,忽略了统计检验中“试吃次数越多、碰巧说好吃的人越多”这个朴素道理。

误区这个因子通过了 t 检验和 Bonferroni 校正,可以永远写进模型,不用再管它。

正解市场是动态博弈场,因子一旦被广泛使用就会拥挤,预测力随资金涌入而衰减。必须用滚动 IC、半衰期、换手成本持续监控,就像网红菜也会过气,招牌菜需要定期复评。

为何常见:回测展示的是历史切片,容易让人误以为“过去成立=未来成立”,忽略了套利行为会自我消灭。

误区我把遗传规划机器打开,输入历史数据,第二天早上就能收获一大把完美因子,躺着赚钱。

正解遗传规划是搜索工具,不是预言机。它会拼命拟合历史数据中的噪声,如果适应度函数里没有复杂度惩罚和样本外验证,产出的往往是“背题机器”——回测惊艳、实盘翻车。评委标准定不好,选秀选出来的只会是应试高手。

为何常见:自动化给人“省心又强大”的错觉,忽略了搜索算法同样会过拟合,甚至因为没有人工干预而过拟合得更彻底。

面试题

Q1. 下列哪项属于因子构造中的“数据预处理”步骤?

单选题 · easy

  • A.去极值并标准化数据← 正确答案
  • B.直接买入高收益股票
  • C.关闭交易系统电源
  • D.删除全部历史行情数据

答案:A。数据预处理相当于洗菜切菜,去极值、去缺失、标准化都是为后续检验做准备。买入股票是策略执行,关电源和删数据更是荒谬选项。原始数据不干净,因子检验就会像夹生饭一样失真。

Q2. t 统计量公式 $\displaystyle t = \frac{\overline{IC}}{\sigma_{IC}/\sqrt{N}}$ 中,分母代表什么?

单选题 · mid

  • A.因子的IC均值大小
  • B.因子IC的标准误← 正确答案
  • C.股票收益率的方差
  • D.样本股票的总数量

答案:B。分母是 IC 的标准误,即 σ_IC 除以样本期数的平方根。它衡量的是“试吃打分”的平均误差,N 越大误差越小。IC 均值是分子,股票收益方差与样本股数量都不是这个公式的分母。

Q3. 多重检验校正主要解决的问题是什么?

单选题 · mid

  • A.因子数据缺失问题
  • B.假阳性概率膨胀← 正确答案
  • C.交易成本过高问题
  • D.模型训练速度慢

答案:B。检验次数越多,纯噪声因子碰巧通过显著性门槛的概率越大,这就是假阳性膨胀。校正的本质是把门槛按检验次数抬高,像试吃 100 道菜时把“说好吃”的标准从 9 分提到 9.95 分。

Q4. 遗传规划中“适应度函数”的作用相当于什么?

单选题 · hard

  • A.选秀节目的评委打分← 正确答案
  • B.菜市场摊位的租金
  • C.烹饪锅具的品牌
  • D.餐厅桌椅的颜色

答案:A。适应度函数给每个候选“菜谱表达式”评分,决定谁晋级、谁淘汰,正是选秀评委的角色。租金、锅具、桌椅颜色都不参与对因子预测力的评价。评委标准定得好,进化才不跑偏。

Q5. NLP 因子通常从哪里提炼情绪信号?

单选题 · easy

  • A.证券公司新闻研报← 正确答案
  • B.交易所交易手续费
  • C.上市公司分红记录
  • D.央行公开市场操作

答案:A。NLP 因子处理的是文本数据,新闻、研报、社交媒体评论是主要来源,先解析文本再打情绪分。手续费、分红记录、央行操作都是结构化数据,不需要 NLP 做情感分析。

Q6. 因子的“半衰期”指的是什么?

单选题 · mid

  • A.IC衰减到一半所需时间← 正确答案
  • B.因子数量减少一半
  • C.股票价格减半的时间
  • D.交易佣金减半的时间

答案:A。半衰期是预测力衰减速度的度量:IC 从初始值衰减到一半需要多久。半衰期越短,因子保鲜期越差,越需要频繁监控与替换,和因子数量、股价、佣金无关。

Q7. 因子组合优化中“相关性控制”的目的是什么?

单选题 · mid

  • A.避免重复贡献降低冗余← 正确答案
  • B.让每个因子都立刻失效
  • C.增加更多未知风险暴露
  • D.减少数据下载的次数

答案:A。两个相关性高达 0.9 的因子其实在说同一件事,同时重仓等于重复押注。相关性控制让套餐里的菜尽量互补,避免冗余和风险集中,而不是让因子失效、增加风险或减少数据下载。

Q8. 因子衰减监控通常考察哪些指标?

多选题 · hard

  • A.滚动IC与半衰期指标← 正确答案
  • B.换手率与交易成本← 正确答案
  • C.单次回测最大收益
  • D.因子的失效预警机制← 正确答案

答案:ABD。衰减监控关注预测力和交易摩擦的动态变化:滚动 IC 看近期是否下滑、半衰期看衰减速度、换手与成本看收益能否覆盖摩擦、失效预警是最终动作。单次回测的最大收益是静态峰值,不能反映衰减趋势。

Q9. 常见的多重检验校正方法包括哪些?

多选题 · mid

  • A.邦费罗尼校正法← 正确答案
  • B.FDR错误率控制← 正确答案
  • C.随机森林特征筛选
  • D.主成分分析降维法

答案:AB。Bonferroni 校正把门槛按检验次数分摊,FDR 控制允许少量假阳性存在,两者都是多重检验校正的标准方法。随机森林特征筛选和主成分降维是机器学习里的特征处理方法,不解决“假阳性膨胀”这一统计问题。

Q10. 以下哪些属于常见的因子类型?

多选题 · easy

  • A.价值类与动量类因子← 正确答案
  • B.餐厅筷子颜色类因子
  • C.质量类与情绪类因子← 正确答案
  • D.波动率流动性类因子← 正确答案

答案:ACD。价值、动量、质量、情绪、波动率、流动性都是业界常用的因子类型,分别对应便宜、趋势、盈利、舆情、风险、交易活跃度等维度。筷子颜色不是影响股票收益的食材属性,属于干扰项。