请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3365818 新帖:25

行为金融因子(一)-基于处置效应的CGO因子

TRADE12发表于:5 月 10 日 05:13回复(1)

楼主对行为金融因子比较感兴趣,但聚宽社区里对行为金融的研究比较少,本篇参考了广发证券研报《资本利得突出量CGO与风险偏好》,在聚宽实现了该因子。

概述

资本利得突出量(Capital Gain Overhang, CGO)主要利用了前景理论对处置效应的解释,即投资者亏损时风险偏好;而盈利时风险厌恶。用白话讲就是当赚钱的时候倾向于及时获利了结,而亏钱的时候不愿承认失败苦等翻身,甚至补仓
QQ图片20180513184147.png

因此,策略认为在多数投资者亏损时,由于惜售、补仓现象存在,股价很大可能反转,此时是买入的好时机;反之,多数投资者盈利则是卖出的时机。

参考价格

策略的核心就是衡量在某只股票上多数投资者盈利还是亏损。这里需要计算一个大多数投资者的成本价,研报中叫参考价格(Reference Price),将其与最新价对比即可。如何计算这个成本价呢?类似于筹码分布,这里用股票每日均价、换手率来计算。一天的均价相当于当日所有开仓投资者的平均成本。计算方法为:往前推N个交易日,每日成交均价乘以当日换手率并连乘后续日期的“不换手率”,即为当天成本“延续”到现在的比例,把所有"N个交易日延续到现在的成本"根据比例加权平均即为成本价。具体公式为
QQ图片20180513184147.png
QQ图片20180513184147.png

这里RP即为参考价格,k是归一化权重,作用是让权重之和为1,V是换手率,P是价格。
例如某只股票昨天的成交均价是5元,换手率是10%,那么认为有10%的资金开仓成本价是5元。前天成交均价是6元,换手率是20%,那么前天有20%的资金成本价是6元,(而昨日换手率是10%,说明有10%的部分卖出去了,剩下90%不动),进而延续到今天的部分是20%*(1-10%)=18%,每一天都以此类推。最后把权重归一化,对均价求加权平均,即为所有投资者平均的成本价。

这里的参数N从直觉上来讲不敏感,因为越往前延续到今天的比例越低,权重不断递减。研报里N=100。正是因为N不敏感,所以研报里只剔除停牌日在50%以上的个股(停牌日换手率为0不影响计算)。这里也是这么处理的。
这里回测了全市场、中证800、中证500、沪深300的风险中性、不中性情况,调仓周期为5日。风险中性是行业、市值中性,使用的是回归取残差的方法。全市场回测时剔除1年新股和ST情形。

策略回测结果

回测时间为2007年2月1日-2018年5月7日,手续费、滑点均为默认。每次等权买入十只。调仓周期为5日。
全市场非中性
QQ图片20180513175210.png
全市场中性
QQ图片20180513175210.png
中证800非中性
中证800非中性.png
中证800中性
中证800中性.png
中证500非中性
中证500非中性.png
中证500中性
中证500中性.png
沪深300非中性
沪深300非中性.png
沪深300中性
沪深300中性.png

需要注意的地方

与研报不同的地方:
增加剔除机制:剔除前10个交易日有跌停情况的个股。个股发生跌停的时候,换手率可能比较低,导致多数投资者成本价依然较高,因此很容易被策略选出。此时的换手率不能正常反映投资者的风险处置,计算出来的参考价格包括了想卖但没法卖的交易者成本,因此剔除。

几个可以优化的地方:

  1. 逻辑优化1:用分钟数据计算参考价格。
    从上述分析可以看到策略建立在比较强的假设上,例如均价代表当天所有交易的成交价,以及假设不同开仓日的交易者换手率相同。前者可以用分钟数据减小假设强度,即每个分钟的均价代替该分钟的开仓成本价(不过要注意T 1限制),后者可以引入衰减系数。

  2. 逻辑优化2:考虑成本分布的其他统计量。
    计算参考价格时实际计算的是成本分布的平均值,还可以计算中位数,甚至考虑标准差等。

  3. 逻辑优化3:考虑CGO的大小而非次序。
    策略是每次选择CGO最小的10只交易,没考虑CGO本身值的大小。但是如果CGO大于0就失去处置效应的意义了。如果考虑CGO本身值(例如每次选CGO小于某个阈值)说不定有自带择时的效果。研报最后有个步骤是先对CGO按大小分层,不同层再用不同因子加强,说明CGO本身的大小是有特殊意义的。大家可以简单地先筛选CGO小于0,再选10只,在股票池是中证500且不风险中性情况下好像效果更好。

  4. 逻辑优化4:加入止损,纳入其他因子。

  5. 逻辑优化5:技术类因子调仓比较快,增大成本。可以减少调仓

  6. 代码优化。 代码中每次交易都重新取前100个交易日均价、换手率数据,耗时较长。改进方法是保存数据,每次增量取(不过注意要用后复权价格)。

风险:

  1. 模型失效风险,尤其是反转类模型失效风险(见参考资料2)。从回测看确实最近一年的表现不尽人意。

  2. 代码错误风险

  3. 极端市场冲击

参考资料:

  1. 广发证券《行为金融因子研究之一——资本利得突出量 CGO 与风险偏好》

  2. 东方证券《因子选股系列研究之二十三——反转因子失效市场下的量化策略应对》

  3. Lei《处置效应
    (这篇研究得比较详细,感兴趣的同学可以用聚宽单因子分析来测试CGO的效果

全部回复

0/140

量化课程

    移动端课程