PLUS会员-不公开

市场风格变化时策略如何自动切换

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

旧版声明

本文为旧版实现,仅供学习参考。

https://bigquant.com/wiki/doc/demos-ecdRvuM1TU


预计算因子表[数据平台] https://bigquant.com/data/datasources/cn_stock_prefactors

https://bigquant.com/wiki/doc/dai-PLSbc1SbZX

https://bigquant.com/wiki/doc/dai-sql-Rceb2JQBdS

\

策略简介

市场行情总是在变化,而一个模型一般只能适应一种市场,如果市场在多种行情中急剧切换,如何将多个选股模型融入到一个策略,并且根据当前行情自动切换模型进行量化选股?

本次以两种行情举例:

  • 指数下跌向上反转时
  • 指数小幅度调整时

行情风格多样,本次以此 2 种风格分别构建2个不同的模型,并且将这2个模型融合,形成一个策略。

策略思路

  1. 构建2个不同市场行情下的量化模型。
  2. 因选股模型中加入了市场环境特征,只有当前市场环境符合选股模型中的市场环境时,才会选出该模型对应的股票。
  3. 当前市场环境如果匹配到多个适应它的选股模型,采用按选股模型的历史回测 效果进行排序,更好的模型选出来的票优先购买。

因子举例

量化因子:
#当天是否涨停

isZhangtToday=where((return_0>1.09)&(close_0==high_0),1,0)

#横盘判断因子
ts_max(close_0,10)/ts_min(close_0,10) 

#近期是否出现过高收益

where(ts_max(return_3,120)>0.2,1,0)
#当天 A 股涨停数
zt_num=group_sum(date, isZhangtToday) 

#涨停票第二天收盘平均收益

zt_shouyi=where(shift(isZhangtToday,1)==1,return_0,0) mean_ztShouyi=group_sum(date, zt_shouyi)/shift(zt_num,1) 

......

指数下跌向上反转

指数下跌向上反转时,选择低位强势启动个股进行交易。

{w:100}{w:100}{w:100}{w:100}指数小幅度调整

涨停后跟随市场情绪小幅调整,再度布局拉升

{w:100}{w:100}{w:100}{w:100}从回测结果可以看出,2种模型单独使用时适应的市场行情不多,所以大部分时间模型处于空仓状态。而市场不是一成不变的,如果把这两种模型融合成一个策略,那么策略是否能更灵活地适应多个市场行情,并且尽量多地增加收益?

融合策略

低位启动模型+涨停后调整追击模型融合策略,融合两种不同风格的策略后,可以发现:空仓时间减少、收益增加。

{w:100}{w:100}{w:100}{w:100}本次主要分享多个选股模型融合的方法,只例举2个选股模型。融合后,还是会存在较多的空仓时间,需要后续去构建自己的选股模型进行补充, 关于如何构建及调优选股模型的思路及方法,作者在下期内容进行分享。

讲解视频

https://www.bilibili.com/video/BV1uL411A7cC?spm%5Fid%5Ffrom=333.999.0.0

\

策略源码

标签

量化选股
评论
  • [点此开通PLUS会员](https://bigquant.com/plus?invitation_code=it5amj),享全站课程及课程源码!
{link}