将技术分析进行到底
提供专业的程序化交易解决方案

自适应参数与参数优化

如何选择更合适参数是程序化交易绕不过去的一步。参数优化的结果或许只是皇帝的那件新装,而自适应参数可能是更现实的出路。


参数优化

参数优化的逻辑基础是,如果行情特征未改变,最优参数组合也保持不变。

由于无法明确的知道参数反映的是行情的哪些特征,所以要想基于这些特征对行情分类是非常困难的。即便参数优化前先对行情分类,如果用到的特征与参数反应的特征不一致,那么参数优化的逻辑基础仍然不成立。

对于某段历史行情(假设行情特征未变化),筛选最优参数组合的标准通常是累计交易结果,而不是行情自身的特征。这种情况下,用于测试的历史数据只是一个单一样本,得到的最优参数组合必定掺杂了随机因素的影响。也就是说,把反应行情特征的最优组合应用到具体某个特定数据样本中,结果并不一定是最优的。

所以说,很大程度上,事后以累计交易结果为标准优化得到的最优组合只是皇帝的那件新装。

 

自适应参数

与参数优化不同,自适应参数是根据行情特征,例如波动率,实时调整参数,而不是根据事后的累计交易结果。

自适应参数必定没有事后最优参数好,但是前者或许比后者更实际。

下面是两种自适应参数思路供大家参考:

考夫曼自适应均线

OHLC:=C;
N:=10;
P:=2;
Q:=30;
DIRECTION:=ABS(OHLC-REF(OHLC,N));
VOLATILITY:=SUM(ABS((OHLC-REF(OHLC,1))),N);
ER:=DIRECTION/VOLATILITY;
FASTSC:=2/(P+1);
SLOWSC:=2/(Q+1);
SSC:=ER*(FASTSC-SLOWSC)+SLOWSC;
CONSTANT:=SQUARE(SSC);
AMAOHLC:REF(EMA(OHLC,N),1)+CONSTANT*(OHLC- REF(EMA(OHLC,N),1)),RGB(255,255,0),LINETHICK3;

The Dynamic Breader Out II Strategy

N:=20;
CEILINGAMT:=60;
FLOORAMT:=20;
BOLBANDTRIG:=2;
TODAYVOLATILITY:=STD(C,30);
YESTERDAYVOLATILITY:=STD(REF(C,1),30);
DELTAVOLATILITY:=(TODAYVOLATILITY-YESTERDAYVOLATILITY)/TODAYVOLATILITY;
LOOKBACKDAYS2:=N*(1+DELTAVOLATILITY);
LOOKBACKDAYS1:=INTPART(LOOKBACKDAYS2);
LOOKBACKDAYS0:=MIN(LOOKBACKDAYS1,CEILINGAMT);
LOOKBACKDAYS:MAX(LOOKBACKDAYS0,FLOORAMT),NODRAW;//自适应N的范围是20-60
MIDLINE:=MA(C,LOOKBACKDAYS);
BAND:=STD(C,LOOKBACKDAYS);
UPBAND:=MIDLINE+BOLBANDTRIG*BAND;
DNBAND:=MIDLINE-BOLBANDTRIG*BAND;
BUYPOINT:=HHV(REF(H,1),LOOKBACKDAYS);
SELLPOINT:=LLV(REF(L,1),LOOKBACKDAYS);
LONGLIQPOINT:=MA(REF(C,1),LOOKBACKDAYS);
SHORTLIQPOINT:=MA(REF(C,1),LOOKBACKDAYS);
C>UPBAND && REF(CROSS(C,BUYPOINT),1),BK;
CROSS(LONGLIQPOINT,C),SP;
C<DNBAND && REF(CROSS(SELLPOINT,C),1),SK;
CROSS(C,SHORTLIQPOINT),BP;
AUTOFILTER;

 

参数优化与自适应参数结果的对比

MA1:MA(CLOSE,N1);
MA2:MA(CLOSE,N2);
CROSS(MA1,MA2),BPK;
CROSS(MA2,MA1),SPK;
AUTOFILTER;
TRADE_OTHER(‘AUTO’);

我用一个简单的均线交易策略在螺纹主连的15分钟周期上做了一个对比。

参数优化 自适应参数

前者验证的是参数组合的收益率。后者验证的是针对于不同行情特征选择参数组合的规则。

前者的结果固然更好,但是后者的规则是事前确定的。

将不同的规则的回测结果进行对比,选择出最优规则。虽然也会存在上述关于参数优化的问题,但是规则会比单一参数组合更稳定。

 

最后一句话

如果一块表走的不准,那它每一秒都是错的,但如果这表停了,那它起码每天有两次是对的。

 

 

 

未经允许不得转载:文华程序化 » 自适应参数与参数优化
分享到: (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

横冲直撞 一直到最远方