市场风格变化时策略如何自动切换
由small_q创建,最终由qxiao 被浏览 429 用户
旧版声明
本文为旧版实现,仅供学习参考。
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个模型融合,形成一个策略。
策略思路
- 构建2个不同市场行情下的量化模型。
- 因选股模型中加入了市场环境特征,只有当前市场环境符合选股模型中的市场环境时,才会选出该模型对应的股票。
- 当前市场环境如果匹配到多个适应它的选股模型,采用按选股模型的历史回测 效果进行排序,更好的模型选出来的票优先购买。
因子举例
量化因子:
#当天是否涨停
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)
......
指数下跌向上反转
指数下跌向上反转时,选择低位强势启动个股进行交易。
指数小幅度调整
涨停后跟随市场情绪小幅调整,再度布局拉升
从回测结果可以看出,2种模型单独使用时适应的市场行情不多,所以大部分时间模型处于空仓状态。而市场不是一成不变的,如果把这两种模型融合成一个策略,那么策略是否能更灵活地适应多个市场行情,并且尽量多地增加收益?
融合策略
低位启动模型+涨停后调整追击模型融合策略,融合两种不同风格的策略后,可以发现:空仓时间减少、收益增加。
本次主要分享多个选股模型融合的方法,只例举2个选股模型。融合后,还是会存在较多的空仓时间,需要后续去构建自己的选股模型进行补充, 关于如何构建及调优选股模型的思路及方法,作者在下期内容进行分享。
讲解视频
https://www.bilibili.com/video/BV1uL411A7cC?spm%5Fid%5Ffrom=333.999.0.0
\