资本利得突出量(CGO)
由small_q创建,最终由small_q 被浏览 6 用户
在行为金融学里有种心理叫处置效应(Disposition Effect)——人们倾向于过早卖出盈利的股票,过晚卖出亏损的股票。
资本利得突出量(Capital Gains Overhang,CGO) 就是把这个心理量化出来的因子。它试图回答一个问题:当前市场上持有这只股票的投资者,平均处于盈利还是亏损状态?盈亏幅度有多大?
因子定义
$RP_t = \frac{1}{k} \sum_{n=1}^{T} \left( V_{t-n} \prod_{\tau=1}^{n-1} (1 - V_{t-n+\tau}) \right) P_{t-n}$
$CGO_t = \frac{P_{t-1} - RP_t}{P_{t-1}}$
变量说明:
- $V_t$:第 t 周换手率(小数形式)
- $P_t$:第 t 周末收盘价(复权)
- $T = 260$:回溯周数(约5年)
- $k$:归一化系数(权重之和)
- $RP_t$:参考价格(当前持仓者的平均成本)
经济含义: CGO 衡量当前投资者的平均盈亏状况。CGO 越大,投资者平均盈利越高,卖出意愿越强,对股价形成压力,未来收益反而更低(A股负向因子)。
参考文献: Grinblatt & Han (2005), "Prospect Theory, Mental Accounting, and Momentum"
\
import dai
import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings('ignore')
print('环境加载完成')
1. 数据获取
从日线数据聚合为周线数据(每周最后一个交易日的收盘价 + 当周换手率之和)
2. CGO 因子表现
-
CGO 因子呈现显著的非对称有效性
因子 Alpha 主要来自多头端的 "套牢盘反弹" 效应,适合构建纯多头选股策略,在近年结构性行情中表现尤为突出。
IC 分析
| 指标 | 数值 |
|---|---|
| 全样本 IC 均值 | +0.0094 |
| IR(IC/IC 标准差) | +0.10 |
| |IC| > 0.02 占比 | 84.5% |
IC 均值为正,与 -CGO 的正向因子方向一致。绝对值偏小,说明这是一个弱信号因子,单独使用效果有限,更适合作为多因子模型的组成部分。
将股票按截面市值三等分为大/中/小盘,分别计算 IC:
| 市值组 | IC 均值 | IR | IC 显著比例 |
|---|---|---|---|
| 小盘 | -0.021 | -0.186 | 85.2% |
| 中盘 | -0.020 | -0.149 | 87.1% |
| 大盘 | -0.004 | -0.024 | 90.8% |
结论非常清晰:CGO 是一个明显偏向中小盘的因子。小盘和中盘的 IC 均值约为大盘的 5 倍,IR 也远高于大盘。
背后的逻辑不难理解:大盘股的机构持仓比例高,机构投资者的交易行为更理性,处置效应相对较弱;而中小盘股以散户和游资为主,处置效应更为显著,CGO 的预测力也更强。
这意味着在实际使用中,CGO 因子更适合用于中小盘股票池(如中证 1000、中证 2000 成分股),在沪深 300 等大盘股池中效果会大打折扣。如果策略以大盘股为主,建议降低 CGO 的权重或寻找替代因子。
3. CGO 因子计算
核心算法说明
对于第 t 周,权重 $w_n$ 的含义是:n 周前买入且至今仍未卖出的概率
$w_n = \underbrace{V_{t-n}}{\text{n周前买入}} \times \underbrace{\prod{\tau=1}^{n-1}(1-V_{t-n+\tau})}_{\text{此后每周均未卖出}}$
向量化实现:令 $q_j = 1 - V_{t-j}$,则
- $w_1 = V_{t-1}$
- $w_2 = V_{t-2} \cdot q_1$
- $w_n = V_{t-n} \cdot \prod_{j=1}^{n-1} q_j$(累积乘积,O(T) 复杂度)
因子代码
https://bigquant.com/codesharev3/85c5899e-f28f-4116-b122-48f2b17d9ce4
\