124-行业轮动的基本面选股策略
由qxiao创建,最终由small_q 被浏览 304 用户
策略原理
行业轮动策略是一种量化交易策略,它依赖于在不同行业之间进行资金分配,以期捕捉市场趋势和行业表现的周期性变化。 从名字即可看出,经济周期导致任何市场状态下可能都会存在股市价格表现较好的行业,因此我们如果能布局这些行业并定期轮动调整,那会取得还不错的投资效果。
本策略是曾经在社区里的一个策略复现而来,策略链接为:
https://bigquant.com/wiki/doc/v10-uKB4qr0ITq
本文在之前的基础上有一些优化,从后文的回测结果上看出,优化后的版本效果更好,盈利水平更高。
交易规则
-
选出动量得分前3的大行业
-
行业动量按近期收益率加权合成
-
选出每个行业基本面得分排名前10的股票
-
基本面得分按三个财务因子等权合成
-
买入并持有股票,定期调仓,本例为10日
-
等权重买入
-
初始资金100万,调仓是按开盘价撮合
-
交易手续费,买入万3,卖出千1.3,最低5元一笔
\
因子抽取
其中,行业动量合成细则如下:
三个因子分别代表了,行业近5日、20日、60日收益率,然后我们按0.4、0.3、0.3加权合成一个最终的行业动量。
其中,基本面得分构建细则如下:
因子定义:score = f1+f2+f3,等权合成
- f1:净资产收益率,升序百分比排名
- f2:归属母公司股东的净利润单季度环比增长率,升序百分比排名
- f3:市净率 (LF),降序百分比排名
之所以市净率是降序排名,是因为该因子是估值因子,越小越好,因此我们排序时选择参数为降序排序。
行业代码
在使用本代码之前,我们需要了解什么是申万行业,以及行业代码和行业指数的对应关系。
申万一级行业是指由申银万国证券研究所制定的行业分类标准中的一级行业分类。这种分类系统是中国金融市场上广泛使用的行业分类方法之一,它将上市公司根据其主营业务进行分类,以便投资者和分析师更好地分析和比较不同公司的业绩。
申万一级行业将所有上市公司分为多个不同的行业板块,每个板块代表了中国经济中的一个主要行业。这些一级行业下还有二级行业和三级行业,以提供更详细的分类。这样的层级结构使得对行业的研究可以根据需要进行不同粒度的分析。
截至目前,申万一级行业分类包含了十几个行业板块,例如金融、房地产、医药生物、银行、汽车、家用电器、食品饮料等。具体的分类标准可能会随着市场的变化和行业的发展而不时更新。
下表是申万一级行业的行业代码和指数代码的对应映射关系。之所以要知道对应关系是因为,股票预计算因子表抽取基本面因子用的是行业代码,计算行业动量的行情表又使用的是指数代码,因此为对齐,我们需要将其映射一下。
画布里,m10模块就是映射:
\
回测结果
单从回测结果上看,本策略是一个长期正收益系统策略,并且策略原理结合了市场情绪(行业动量)和公司基本面(财务质量)选股,具备坚实的交易盈利逻辑。
\
代码链接
https://bigquant.com/codesharev3/97fc3fbe-7080-4e72-a80e-d092eac1a6b8
\