精华帖子

资本利得突出量(CGO)

由small_q创建,最终由small_q 被浏览 3 用户

在行为金融学里有种心理叫处置效应(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 因子计算

核心算法说明

对于第 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

\

{link}