市净率因子
由small_q创建,最终由small_q 被浏览 12 用户
因子原理
市净率,简称PB,是衡量股票价格相对于公司净资产的比率。简单来说,它告诉我们投资者愿意为每单位净资产支付多少价格。
市净率计算公式为:市净率 = 股价 / 每股净资产
举个例子,你正在考虑购买一家书店,这家书店的净资产(包括书籍、家具等)价值10000元,现在卖家想要以15000元的价格出售。市净率(PB)就像是你在决定是否购买这家书店时,用来衡量价格是否合理的一个‘价值秤’。这个书店的市净率就是:PB = 15000元 / 10000元 = 1.5。这意味着,你愿意为书店每1元的净资产支付1.5元。
【市净率作用】市净率因子在量化投资中扮演着重要角色,它帮助我们评估股票的估值水平。一般来说,市净率较低可能意味着股票被低估,而较高则可能意味着被高估。
【低市净率】通俗来说,市净率低意味着你用较少的钱买到了更多的公司资产。这通常发生在市场低估了公司价值时,可能是由于暂时的财务问题或市场情绪不佳。通过选择市净率低的股票,你有机会以折扣价买入实际价值更高的公司,从而可能获得更好的投资回报。
【合理的市净率范围】市净率的合理性范围一般在2至10之间,但这会随公司净资产和股价变动而变化。我们在评估投资项目时,可以利用市净率来衡量公司的盈利能力、投资价值以及风险。
因子构建与分析
因子构建
在BigQuant上可以直接调用“市净率”这个因子:
sql ="""
SELECT date, instrument, pb AS factor
FROM cn_stock_prefactors
"""
因子分析
为了验证市净率因子对于投资回报率的影响,我们可以进行因子分析:
1.构建市净率因子:在bigquant上可以调用这个因子数据
2.将因子按照值从小到大进行排序、分组,0为最小的一组,9为最大的一组。
3.最后通过因子分析框架,进行因子的分组统计累计收益。
从因子分层结果来看,除了第0组,第1到9组明显呈现出“因子值越小,累计收益越高”的趋势,也可以证明“公司被低估时,可以以较低的价格买入,从而获得较高的投资回报率”。
但,我们也可以从另一组指标——IC,来看出因子与未来收益的相关性(IC为负,为负相关,即因子值越小,累计收益越高;IC为正,为正相关,即因子值越大,累计收益越高)。
累计IC计算方式与累计收益(单利)计算方式一致,我们可以看看累计IC,如图中的黄色曲线:
如果市净率是一个好因子,那么其IC值要么恒为负,或者恒为正。
如果恒为负,其累计IC曲线应该是45度向下的曲线。从图中,可以看到市净率累计IC向下,但是前期下降较为平缓、后期下降较快。
我们再来看看因子换手率:
由于累计IC是向下的曲线,所以这里的long(多头)指的是第零组、short(空头)指的是第九组。我们可以发现多头组换手率不足3%,证明市净率是一个很稳定的因子。
策略构建
根据因子分析结果,市净率与未来收益是负相关,但是第零组的累计收益并没有如预期一样表现为最高收益,可以认为是“暴露在低市净率的策略发生了拥挤”,因为累计IC曲线是一条完美的向下曲线,整体来说市净率可以作为一个稳定的因子构建策略。
所以根据因子分析结果按照如下步骤构建策略:
-
获取全市场股票的市净率,剔除市净率排名前10%的股票,剔除是因为最小值市净率发生拥挤,收益表现未达预期,所以需要排除
-
按照处理后的市净率因子值进行从小到大排序;
-
选择剩下票池中市净率最小的5只票进行调仓,调仓周期为5个交易日。
整体回测曲线和因子分析走势不一样,主要是加入了调仓周期和手续费计算,后续有话可以加入止盈止损、大盘风控等完成一个可实盘的策略优化。
策略与因子分析源码
https://bigquant.com/codesharev3/9c2812c8-4bc2-4499-8bc0-c4c6d2362bc7
因子分析代码
https://bigquant.com/codesharev3/9b45481d-2ec2-4d23-959f-bedc0a3350f9
\