什么是行业轮动策略?
行业轮动是利用市场趋势获利的一种主动交易策略,其本质是利用不同投资品种强势时间的错位对行业品种进行切换以达到投资收益最大化的目的。通俗点讲就是根据不同行业的区间表现差异性进行轮动配置,力求能够抓住区间内表现较好的行业、剔除表现不佳的行业,在判断市场不佳的时候,权益类仓位降低,提升债券或货币的比例。
行业轮动的具体内容及特点
我们可以将行业分为以下几类:
周期性:当增长加速时,股票和大宗商品表现好,周期性行业例如汽车、房地产、钢铁股战胜市场;当增长放缓,债券、现金和防守型股票战胜市场。
成长性:当通胀率下降,贴现率下降,金融资产表现好,成长型股票战胜市场;当通胀率上升,大宗商品等实物资产和现金表现最好,定价权变强,价值型股票战胜市场。
利率敏感性:银行和消费类股票是利率敏感型的“早周期”表现者,在衰退和复苏阶段,当中央银行放松政策和经济增长率开始回升时表现最好。
资产类品种:一些行业和其拥有的资产的表现紧密相关,银行保险经常对债券和股票价格敏感,在衰退和复苏阶段表现好;采矿业股票对金属价格敏感,在过热阶段表现好;石油和天然气行业对油价敏感,在滞胀阶段战胜市场。
上图来自“通达信板块地图”界面,结合近几年我国A股市场行业轮动的基本情况来看,周期循环通常是沿着产业链按一定的顺序地依次发生:住房和汽车消费是引领经济景气周期启动的主要和先导动力,这些行业在经济上升阶段(复苏期)的良好表现,将逐步带动机械设备、化工、建材等中游制造业的兴起,并传导到有色、钢铁、煤炭、石油等上游资源品行业,此时经济到达过热期。衰退也是由下游行业开始,逐步传导到上游行业。在经济景气的最高峰,商业一片繁荣,此时的主角就是非必需的消费品,如轿车、高档服装、奢侈品、消费类电子产品和旅游等行业,享受最后的经济周期盛宴。当经济下滑(滞胀期、衰退期),周期性行业业绩受到影响,而医药、必选消费等非周期性行业由于需求弹性小,受宏观经济影响不大,表现相对较好;银行价格相对较稳定,需求波动也较小,且作为利率敏感型的“早周期”表现者,兴起于衰退后期。当然,考虑到历史背景不同,行业周期轮动并非简单的重复,不能直接套用历史经验判断周期拐点,而应根据经验具体情况具体分析。
阶段 | 经济 | 通胀 | 最佳大类资产 | 最佳股票行业 |
---|---|---|---|---|
收缩 | ↓ | ↓ | 债券 | 公共事业 |
复苏 | ↑ | ↓ | 股票 | 金融、有色 |
扩张 | ↑ | ↑ | 商品 | 钢铁 |
滞胀 | ↓ | ↑ | 现金 | 食品饮料、农林牧渔 |
行业轮动策略实现(基于掘金量化平台)
策略思想
-
每隔1个月定时触发计算“300工业”、“300材料”、“300可选”、“300消费”、“300医药”、“300金融”这几个行业指数过去20个交易日的收益率。
-
随后选取了收益率最高的指数的成份股中流通市值最小的5只股票。
-
对不在股票池的股票平仓并等权配置股票池的标的。
策略主要步骤实现
获取当前交易日日期
now = context.now
= context.now
直接调用context.now
函数,返回“datetime.datetime”格式
获取上一交易日日期
last_day = get_previous_trading_date(exchange='SHSE', date=now)
= get_previous_trading_date(exchange='SHSE', date=now)
获取上一交易日可调用get_previous_trading_date
函数,返回值为字符串格式:
-
exchang
需要设置交易市场代码。 -
date
需要设置指定日期。
固定月初调仓
schedule(schedule_func=algo, date_rule='1m', time_rule='09:40:00')
(schedule_func=algo, date_rule='1m', time_rule='09:40:00')
固定时间调仓可使用schedule
函数进行定时任务配置:
-
参数
sched