三种构建大盘风控指标的方法 (副本)
由small_q创建,最终由small_q 被浏览 9 用户
作者:woshisilvo
导语
在以往的分享中,很多朋友们问到如何设置大盘风控?在之前的分享中,我们讲过可以采用指数的涨跌幅以及Macd指标作为大盘风控的思路,通过特征列表 构造指数特征macd表达式,再通过指数特征抽取来进行风控的设置。
bm_0=where(ta_macd_dif(close,2,4,4)-ta_macd_dea(close,2,4,4)<0,1,0)
本次我们对该思路进行改造,从以下三个方面进行优化:
- 构造指数的MAAMT指标作为指数风控的指标
- 用指数的成交量(3.5日ma线死叉)作为风控依据
- LSTM神经网络模型预测涨跌来作为大盘风控的依据
原理
为何我们要用指数来作为风控标的,而不采用个股?
指数衡量的是大部分股票涨跌的平均水平,他的收益曲线会比较平滑,很少大涨大跌,指标不容易失真,所以传统的一些 择时指标在指数上的择时效果要远远好于个股。
可惜的是,不少同学反应:简单的涨跌幅和传统指标,择时效果不太好。现在是盘后做T+1的交易方式,用前一天的数据预测后一天的结果,指标会有滞后性。那么,是否可以对指标做一些调整,达到提升效果?
为此,对研报中的指标进行复现,发现:对于个股择时或指数,价格动量类以及成交量类指标,对指数的择时效果最好。
得此结论,我们尝试仅通过指数的成交额/成交量重新构造一个大盘择时的指标,看效果是否提升?下图为无风控的策略收益表现:
MAAMT指标
指标描述
指标名称:成交量(金额)类,这个指标应该是在研报中所有择时效果中最好的几个之一。
指标来源:《金融工程:125 个经典技术指标择时分析》。
指标公式及表现:
指标构建
指标思路
-
求成交额的移动平均线。
MAAMT=MA(amount,N)
N=40
-
信号产生方式 如果成交额上穿 MAAMT,则产生买入信号;如果成交额下穿 MAAMT,则产生卖出信号。
构造特征表达式
-
MAAMT=MA(amount,40)
-
风控= where(amount<MAAMT,1,0)
-
采用研报中的构造方式可能效果会有点滞后,我们对指标进行改写。我们只需要 5日<10日MA 线就触发风控即可
bm_1=where(mean(amount, 5)-mean(amount, 10)<0,1,0)
策略表现如下:
指数成交量指标
指标描述:指数的成交量(3.5日ma线死叉)作为全仓卖出风控的依据。
bm_0=where(mean(volume, 5)-mean(volume, 10)<0,1,0)
发现:用成交量的5日均线 <10日均线比用成交额更好。
LSTM+CNN指标
指标描述
构建一个LSTM+CNN的模型预测股价涨跌,并将此作为风控指标
指标构建
-
先利用LSTM+CNN的模板构建一个策略
-
模型预测结果result列:是lstm模型预测未来10天要下跌的概率,若低于某个数值,则不开仓。
-
将预测结果和stockRanker模型的预测结果进行合并。
-
在回测模块中写入择时控制逻辑的代码
#大盘风控模块,读取深度学习模型预测涨跌的风控数据
benckmark_risk=ranker_prediction['result'].values[0]
# 若预测涨跌的概率小于0.49则不开仓 全仓风控
讲解视频
https://www.bilibili.com/video/BV1UL4y1j7og/
策略源码1
https://bigquant.com/experimentshare/a90c46900e6b45d39b1e3d4dbe8803c3
策略源码2
https://bigquant.com/experimentshare/44452d90ed9f4bd1bbbab0f98cf68e99
\