实用多因子策略框架指标

Viewed 9

{ 实用多因子策略框架 }
{ ========== 基本因子 ========== }

{ 1. 趋势因子 }
趋势强度:=(CLOSE-MA(CLOSE,20))/MA(CLOSE,20)*100;

{ 2. 动量因子 }
动量强度:=EMA(CLOSE,5)-EMA(CLOSE,10);

{ 3. 成交量因子 }
量能强度:=VOL/MA(VOL,20)-1;

{ 4. 价格位置因子 }
价格位置:=(CLOSE-LLV(LOW,20))/(HHV(HIGH,20)-LLV(LOW,20))*100;

{ 5. 波动率因子 }
波动率:=STD(CLOSE,20)/MA(CLOSE,20)*100;

{ ========== 因子标准化 ========== }
标准化趋势:=趋势强度/STD(趋势强度,20);
标准化动量:=动量强度/STD(动量强度,20);
标准化量能:=量能强度/STD(量能强度,20);
标准化位置:=价格位置/50-1; { 0-100转为-1到1 }

{ ========== 多因子组合策略 ========== }

{ 策略1:趋势跟踪策略 }
趋势跟踪信号:=IF(标准化趋势>1 AND 标准化动量>0.5,1,
IF(标准化趋势<-1 AND 标准化动量<-0.5,-1,0));

{ 策略2:均值回归策略 }
均值回归信号:=IF(标准化位置>1.5 AND 标准化动量<0,1,
IF(标准化位置<-1.5 AND 标准化动量>0,-1,0));

{ 策略3:突破策略 }
突破信号:=IF(CLOSE>HHV(HIGH,20) AND 标准化量能>1,1,
IF(CLOSE<LLV(LOW,20) AND 标准化量能>1,-1,0));

{ ========== 策略组合 ========== }
综合信号:=趋势跟踪信号0.4 + 均值回归信号0.3 + 突破信号*0.3;

{ ========== 信号显示 ========== }
做多:=综合信号>0.5;
做空:=综合信号<-0.5;

STICKLINE(做多,0,20,5,0),COLORRED;
STICKLINE(做空,80,100,5,0),COLORGREEN;

DRAWICON(做多,10,1);
DRAWICON(做空,90,2);

DRAWTEXT(做多,25,'多因子做多'),COLORRED;
DRAWTEXT(做空,75,'多因子做空'),COLORGREEN;

{ ========== 因子状态 ========== }
DRAWTEXT_FIX(1,0.02,0.05,0,'? 趋势:'+IF(标准化趋势>0,'强','弱')),IF(标准化趋势>0,COLORRED,COLORGREEN);
DRAWTEXT_FIX(1,0.02,0.10,0,'? 动量:'+IF(标准化动量>0,'强','弱')),IF(标准化动量>0,COLORRED,COLORGREEN);
DRAWTEXT_FIX(1,0.02,0.15,0,'? 量能:'+IF(标准化量能>0,'放量','缩量')),IF(标准化量能>0,COLORRED,COLORGREEN);
DRAWTEXT_FIX(1,0.02,0.20,0,'? 综合信号:'+NUMTOSTR(综合信号,2)),IF(综合信号>0,COLORRED,IF(综合信号<0,COLORGREEN,COLORWHITE));
0 Answers