因子评估会把因子 DataFrame 解释为截面分数,分数越高代表越好。

IC 和 ICIR

对每个日期,bagelquant-bt 计算 t 日因子分数与 t 到 t+1 资产收益之间的截面相关性。

因子评估会在 result.ic 中同时输出 Pearson 相关和 Spearman 秩相关:

result.ic.select("time", "pearson_ic", "spearman_ic")

result.ic_summary 包含每种方法的均值、标准差和 ICIR。兼容字段 ic_meanic_stdicir 使用 Spearman IC。

icir 定义为:

mean(IC) / standard_deviation(IC)

分位数组合收益

每天按因子分数从高到低排序资产,并切分为若干分位数组:q1 为最高分数组,qN 为最低分数组。每个分位数组合收益是组内资产前向收益的等权平均。

spread 为:

q1 收益 - qN 收益

TOP N 回测

TOP N 回测会把因子分数转换成长-only 等权组合:

每天前 N 个资产 -> 每个资产 1 / N 权重

生成的权重表会进入与普通权重回测相同的引擎,包括交易成本计算。

Spread 和滞后分析

因子评估还会构造 spread 组合:做多 q1、做空 qN,并通过同一个含交易成本的回测引擎计算结果。

lag_analysis 会评估 TOP N 和 spread 组合在因子信号滞后 0、1、2、3、4、5、10、20、30、60 个观测后的累计收益和 Sharpe。

lag_returns 包含相同组合和滞后下的 gross/net 累计收益时间序列。

ic_decay 会在相同滞后上报告 Pearson 和 Spearman 的平均 IC,并以 IC decay 折线图展示。