2. 因子体系构建:常见因子分类与计算逻辑

做量化这几年,我最大的体会就是:因子体系就像盖房子的地基。地基没打好,后面再漂亮的策略也是空中楼阁。今天咱们就来聊聊这个地基怎么搭。

2.1 因子分类:四大主流门派

市场上因子成百上千,但说白了,大部分都能归到这几类里。我个人习惯把它们分成四大类:动量、价值、质量、波动率。你想想看,这四类基本覆盖了股票收益的绝大部分来源。

因子类别 核心逻辑 典型指标 适用场景
动量因子 强者恒强,弱者恒弱 过去N个月收益率 趋势行情
价值因子 便宜才是硬道理 PE、PB、PS 估值修复行情
质量因子 好公司才能走得远 ROE、毛利率、负债率 熊市防御
波动率因子 低波动≠低收益 历史波动率、最大回撤 震荡市

2.2 动量因子:趋势是你的朋友

动量因子是我最早接触的因子之一。它的逻辑很简单:过去涨得好的股票,未来一段时间大概率还会继续涨。嗯,这里要注意,动量因子在A股的有效期通常偏短,3-6个月的效果最好。

定义与计算逻辑:

  • 价格动量:过去N日的累计收益率。比如过去60个交易日的涨幅。
  • 成交量动量:过去N日的平均成交量变化率。量在价先,这个我深有体会。
  • 标准化动量:用收益率除以波动率,剔除噪音干扰。

核心公式:

# 价格动量计算
price_momentum = (close_price[-1] / close_price[-N-1]) - 1

# 标准化动量
std_momentum = price_momentum / rolling_std(returns, window=N)

我的经验: 我在项目中遇到过动量因子在急涨急跌行情下频繁失效的情况。后来我加了一个过滤条件——只在大盘趋势向上的时候启用动量因子,效果好了不少。

2.3 价值因子:便宜没好货?不一定

价值因子是经典中的经典。说白了就是找那些被市场低估的股票。但这里有个坑——便宜不一定有价值,可能是真烂。

常见指标:

  • 市盈率(PE):股价/每股收益。PE越低越便宜,但要小心亏损股。
  • 市净率(PB):股价/每股净资产。适合银行、地产等重资产行业。
  • 市销率(PS):股价/每股销售额。适合成长型公司,尤其是还没盈利的。
  • 股息率:每股分红/股价。稳定分红的公司通常质地不错。

避坑指南: 我曾经用PE选股,结果选到了一堆周期股的高点。后来才明白,PE要在行业内部对比,跨行业比PE基本没意义。你想想看,银行股PE常年个位数,科技股PE动辄几十倍,能放一起比吗?

2.4 质量因子:好公司自带光环

质量因子关注的是公司基本面。我个人的经验是,质量因子在熊市里特别管用。市场不好的时候,资金会往好公司里扎堆。

核心指标:

  1. ROE(净资产收益率):净利润/净资产。连续3年ROE>15%的公司,基本不会太差。
  2. 毛利率:(收入-成本)/收入。毛利率高的公司有定价权。
  3. 资产负债率:总负债/总资产。负债率太高,风险就大。
  4. 现金流质量:经营活动现金流/净利润。这个指标能看出利润是不是真金白银。

质量因子综合打分示例:

# 质量因子打分
def quality_score(df):
    score = 0
    # ROE打分
    if df['ROE'] > 0.15:
        score += 1
    # 毛利率打分
    if df['gross_margin'] > 0.4:
        score += 1
    # 负债率打分
    if df['debt_ratio'] < 0.5:
        score += 1
    # 现金流打分
    if df['cashflow_ratio'] > 0.8:
        score += 1
    return score

2.5 波动率因子:低波动≠低收益

这个因子很有意思。很多人觉得波动大的股票收益高,但实际数据告诉我们——低波动率的股票长期收益反而更好。为什么会这样?因为低波动股票往往被低估,而且持有体验好,拿得住。

计算方式:

  • 历史波动率:过去N日收益率的标准差。N通常取20或60。
  • 最大回撤:从最高点到最低点的最大跌幅。这个指标能看出风险有多大。
  • 贝塔系数:股票与大盘的相关性。贝塔>1说明波动比大盘大。

我的小技巧: 我习惯把波动率因子和其他因子组合使用。比如低波动+高质量,或者低波动+高股息。这种组合在震荡市里特别稳。

2.6 因子体系结构图

下面这张图是我自己整理的因子体系框架。你可以看到,四大因子下面还有细分,而且它们之间会有交叉。比如高质量+低波动的组合,就是经典的防御型策略。

因子体系 动量因子 价值因子 质量因子 波动率因子 价格动量 成交量动量 PE/PB PS/股息率 ROE 毛利率 历史波动率 最大回撤 因子体系结构图 常见组合:高质量+低波动 | 低估值+高动量

2.7 因子计算的注意事项

最后聊几个实战中容易踩的坑。嗯,这些可都是真金白银换来的教训。

避坑指南:

  • 数据对齐:计算因子时一定要用前复权价格。我曾经用后复权算动量,结果全是错的。
  • 极端值处理:因子数据里经常有异常值。我习惯用MAD(中位数绝对偏差)来剔除,比用标准差更稳健。
  • 行业中性化:不同行业的因子分布差异很大。做多因子模型时,一定要做行业中性化处理。
  • 频率匹配:日频因子配日频收益,周频因子配周频收益。混着用会出问题。

我的习惯: 每次构建新因子,我都会先跑一遍回测,看看因子IC(信息系数)的稳定性。IC均值低于0.02的因子,我基本不会用。你想想看,一个因子连预测能力都没有,用它干嘛?

好了,因子体系这块就聊到这儿。记住,因子不是越多越好,关键是理解每个因子背后的逻辑。下一章咱们聊聊怎么把这些因子组合起来,构建真正的多因子模型。


公众号:蓝海资料掘金营,微信deep3321