PLUS会员

行业轮动策略

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

一、策略概述

1.1 背景介绍

行业轮动策略是一种量化交易策略,旨在通过在不同行业之间进行资金分配,捕捉市场趋势和行业表现的周期性变化。 从名字即可看出,经济周期导致任何市场状态下可能都会存在股市价格表现较好的行业,因此我们如果能布局这些行业并定期轮动调整,那会取得还不错的投资效果。与单纯持有某个行业或个股相比,行业轮动策略通过分散投资风险,提高了组合的抗风险能力,并且能够在不同的市场环境中寻找最佳的投资机会。

1.2 研究目的

本策略是曾经在社区里的一个策略复现而来,策略链接为:https://bigquant.com/wiki/doc/v10-uKB4qr0ITq。本文在之前的基础上有一些优化,从后文的回测结果上看出,优化后的版本效果更好,盈利水平更高。



本文旨在探讨行业轮动策略的理论基础、实现方法及其在实际投资中的应用。具体目标包括:

  1. 介绍行业轮动策略的基本概念和运作机制。
  2. 分析行业表现之间的关系,以及如何利用这种关系进行投资决策。
  3. 探讨行业轮动策略的实施步骤和关键技术,包括数据分析、模型构建和风险管理。
  4. 通过实证研究和案例分析,验证行业轮动策略的有效性,并探讨其优缺点。

1.3 理论依据

行业轮动策略的理论依据主要来自以下几个方面:

  1. 经济周期理论:经济周期通常分为扩张、顶峰、收缩和谷底四个阶段。在不同的经济周期阶段,不同行业的表现会有所不同。例如,在经济扩张期,消费品和科技类行业可能表现较好;而在经济收缩期,必需消费品和医疗保健类行业可能表现更好。通过识别经济周期的阶段,投资者可以选择在该阶段表现优异的行业进行投资。
  2. 相对强度理论:相对强度理论认为,在一段时间内表现强劲的行业有可能在未来继续表现强劲。因此,通过分析各行业的相对强度,可以筛选出潜在的投资机会。常用的方法包括动量指标、相对强度指标等。
  3. 行业轮动模型:行业轮动模型通常基于统计和机器学习方法,对历史数据进行分析和预测。通过构建和优化模型,可以更准确地预测行业表现和市场趋势,进而指导投资决策。
  4. 分散投资理论:分散投资可以降低个别行业或个股的风险,提高投资组合的稳定性。行业轮动策略通过在不同行业之间进行分散投资,既能捕捉市场机会,又能有效控制投资风险。

通过结合以上理论依据,行业轮动策略可以在不同市场条件下实现较好的投资回报,成为投资者优化投资组合的重要工具。

二、策略逻辑

2.1 股票池

由于行业轮动策略是在不同的行业中进行选股,所以股票池是会变动的。本例子以申万一级行业作为标准,所以需要了解什么是申万行业,以及行业代码和行业指数的对应关系。

申万一级行业是指由申银万国证券研究所制定的行业分类标准中的一级行业分类。这种分类系统是中国金融市场上广泛使用的行业分类方法之一,它将上市公司根据其主营业务进行分类,以便投资者和分析师更好地分析和比较不同公司的业绩。申万一级行业将所有上市公司分为多个不同的行业板块,每个板块代表了中国经济中的一个主要行业。这些一级行业下还有二级行业和三级行业,以提供更详细的分类。这样的层级结构使得对行业的研究可以根据需要进行不同粒度的分析。截至目前,申万一级行业分类包含了十几个行业板块,例如金融、房地产、医药生物、银行、汽车、家用电器、食品饮料等。具体的分类标准可能会随着市场的变化和行业的发展而不时更新。

如果要查看申万一级行业代码和一级行业指数代码的映射关系,可以查看下表:https://bigquant.com/data/datasources/cn_stock_industry_index_mapper



在本策略里,主要的处理逻辑来源于 m1、m2、m3 这三个模块,其中m1是基于财务指标给个股打分,m2基于行业收益率构造动量因子继而选择行业,这两个的主要逻辑会在下一部分“选股因子”中详细阐述。这里,我们详细说明一下m3模型,该模型是将 m1 和 m2 输出的SQL语句进行合并,类似于pandas中的 merge 操作。注意:我们已经在m1和m2模块中将证券代码更名为symbol列,而申万一级行业代码更名为instrument列,所以m3模型进行合并时,我们是按照 [date, instrument] 进行合并的,合并完之后再恢复相关的列名。



\

2.2 选股因子

行业选择用动量因子作为选择依据,行业动量按近期收益率加权合成,三个因子分别代表了,行业近5日、20日、60日收益率,然后我们按0.4、0.3、0.3加权合成一个最终的行业动量。代码如下:



个股选择用基本面得分作为选择依据,具体按照以下三个财务因子等权合成。

  • f1:净资产收益率,升序百分比排名
  • f2:归属母公司股东的净利润单季度环比增长率,升序百分比排名
  • f3:市净率 (LF),降序百分比排名。

因子定义:score = f1+f2+f3,等权合成。之所以市净率是降序排名,是因为该因子是估值因子,越小越好,因此我们排序时选择参数为降序排序。

具体代码如下:



\

2.3 选股条件

  • 根据行业动量因子每日选出动量得分前3的行业;
  • 在已选行业中根据基本面得分选出排名前10的股票

2.4 仓位设置

  • 等权重买入

2.6 调仓规则

  • 定期调仓,该例子的调仓周期为10日,每个调仓日按开盘价撮合

2.7 回测设置

  • 初始资金100万
  • 交易手续费,买入万3,卖出千1.3,最低5元一笔

三、回测与分析

3.1 绩效指标


\

3.2 结果分析

单从回测结果上看,本策略是一个长期正收益系统策略,并且策略原理结合了市场情绪(行业动量)和公司基本面(财务质量)选股,具备坚实的交易盈利逻辑。

代码实现

标签

量化交易投资策略市场趋势风险管理
{link}