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

返回主题列表

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

cufewxy 发布于2018-05-13

回复 52

浏览 17454

154

listen

分享到:

微信

微博

雪球

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

**概述**

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

![QQ图片20180513184147.png][1]

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

**参考价格**

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

![QQ图片20180513184147.png][2]

![QQ图片20180513184147.png][3]

这里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][4]

全市场中性

![QQ图片20180513175210.png][5]

中证800非中性

![中证800非中性.png][6]

中证800中性

![中证800中性.png][7]

中证500非中性

![中证500非中性.png][8]

中证500中性

![中证500中性.png][9]

沪深300非中性

![沪深300非中性.png][10]

沪深300中性

![沪深300中性.png][11]

**需要注意的地方**

与研报不同的地方:

增加剔除机制:剔除前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《处置效应》https://uqer.datayes.com/community/share/5987d4a7bce0050108892cfc

(这篇研究得比较详细,感兴趣的同学可以用聚宽单因子分析来测试CGO的效果https://www.joinquant.net/algorithm/factor/list)

[1]: https://image.joinquant.com/c8cf6e57ddf21b6db0256086a10868e0

[2]: https://image.joinquant.com/d8b690910a267c0e8f84304d2c546750

[3]: https://image.joinquant.com/0e7bcdca2507cc5c26859445c2021140

[4]: https://image.joinquant.com/c7bec65d31b6c9a6b094a52d09d4f35b

[5]: https://image.joinquant.com/8b0284259d4463578f6b438713e65d47

[6]: https://image.joinquant.com/f0e9e7d9aeaebc28410feab1ccb14af6

[7]: https://image.joinquant.com/995b090017d9b5a9fc6dc4a88ae842e4

[8]: https://image.joinquant.com/c682bfb7696118453bda10a7237866eb

[9]: https://image.joinquant.com/699f766cba3cd1e5ab216205f516b617

[10]: https://image.joinquant.com/30870e9ad16a3c995d45f42949a00409

[11]: https://image.joinquant.com/45ee5efd628fcde99fdce64888bc42a5

154

listen

分享到:

微信

微博

雪球

评论

浩南micky

楼主策略运行出错跑不了了能调一下吗感谢

2018-09-13

etrobot

@浩南micky 我刚跑了,没任何问题啊

2018-09-13

柱子嗨翻天

这收益杠杠的啊

2018-09-13

etrobot

@柱子嗨翻天 只测今年的话,亏成狗哈哈

2018-09-14

Guhhhhaa

666,还以为行为金融学是玄学,没想到能实现。

2018-09-14

xjn

手动点赞,真的牛逼,谢谢分享

2018-09-15

kuhn

大神有没有第二篇啊,期待续集

2018-09-17

cufewxy

@etrobot 是啊,我挺喜欢这个因子,但是反转类的不太灵

2018-09-17

cufewxy

@guhhhhaa 有些在期刊里还是有具体量化指标的

2018-09-17

cufewxy

@xjn 感谢支持,之前发出来一直没回应,前几天登录看到大家讨论,挺高兴的

2018-09-17

cufewxy

@kuhn 哈哈,感谢支持,等我有时间再继续研究研究

2018-09-17

柱子嗨翻天

@cufewxy 楼主可以考虑做对冲,做超额收益的部分。

2018-09-17

浩南micky

@etrobot 抱歉抱歉是我在clone的时候出问题了,现在能跑了,另外有个问题想咨询一下您,就是我想用IC检验一下各股票CGO值得有效性问题,但是不知道该如何循环计算得到N天的CGO因子值,所以不知道大神有没有兴趣做续集啊

2018-10-02

蛋炒饭

发现在下跌月份有效,盘整亏成狗啊

2018-10-05

520131499

非常感谢分享

2018-11-18

sharkblue

好贴,不知道在高频数据上能否有效

2018-11-27

浩南micky

您好,不知道您后来有没有用聚宽的单因子分析对CGO因子进行检测?如果有的话还希望能分享一下,感谢!

2019-03-15

财大张继科

请问如何对CGO因子做因子有效性分析?

2019-12-10

suohanyun

非常棒,赞一个

2020-01-22

哦啤酒

真的牛逼,谢谢分享

2020-01-22

首页

上一页

1

2

3

下一页

尾页

您尚未登录,请 登录 或者 注册 聚宽发表回复。

取 消

提 交

关于

关于我们

联系我们

加入我们

数据

指数数据

基金数据

国泰安数据

股票财务数据

金融期货数据

行业概念数据

帮助

常见问题

API文档

Python教程

Python 2 to 3

友情链接

果仁网

关注我们

知乎专栏

雪球

微信公众号

用户协议 | 隐私政策

@2025 @joinquant.com | 京ICP备17068639号-5 | 增值电信业务经营许可证:京B2-20212305

关于

关于我们

加入我们

联系我们

数据

指数数据

基金数据

国泰安数据

股票财务数据

金融期货数据

行业概念数据

帮助

常见问题

API文档

Python教程

@2025 @joinquant.com | 京ICP备17068639号-5 | 增值电信业务经营许可证:京B2-20212305

Copyright © 2088 网络游戏活动中心 - 最新游戏活动汇总 All Rights Reserved.
友情链接