您现在的位置:程序化交易>> 程序化交易>> 程序化新手>>正文内容

文华模型回测时能否每月自动对资金重新初始化?[程序化新手]

模型回测时能否每月自动对资金重新初始化?

答:可以,例如,每月进行一次总结,盈利则将利润拿出使账户资金恢复到月初首次入金状态;亏损则对账户资金进行补充同样使之恢复到月初状态,对这种策略进行回测时,软件中提供了一类函数可以对这种段落交易的方式进行回测,更具有实盘参考价值。
例:初始资金100000,以月为周期进行交易,每月第一个交易日资金和信号重新初始化在模型中加入MONTHTRADE函数来实现想法。
  HH:=HHV(HIGH,N);
  LL:=LLV(LOW,N);
  HH1:=BARSLAST((HH > REF(HH,1)));
  LL1:=BARSLAST((LL < REF(LL,1)));
  HH1>LL1,SPK;
  HH1<LL1,BPK;
  CLOSEMINUTE<=1,CLOSEOUT;
  AUTOFILTER;
  MONTHTRADE;//使用每月数据计算

我们可以将上面编写好的源码加载到合约上进行回测,回测过程中软件会自动将每个交易阶段区分开来,在每月第一个交易日时重新初始化资金和信号,如下图所示,是回测报告的成交明细,通过该明细我们可以看出,每当新一月的交易日开始,权益都会变为我们所设定的100000。这样一来,及时是这种段落式交易的想法也可以实现历史数据回测了。( www.cxh99.com )

相应的,在回测报告中,我们也可以通过查看调整后的权益,来了解模型在历史回测中的变现。

如下图所示:

最终权益=最终权益 = 初始资金 + 入金 - 出金 + 净利润。也就是初始资金+最后阶段的盈亏
(例如:使用DAYTRAD函数,是初始资金+最后一天的盈亏值)之后的指标均由“调整后的权益”计算得来的。 
调整后的权益=初始资金+净利润(即交易明细中各平仓盈亏之和) 
出金=当上一阶段交易结束,且获利时,开始下一阶段交易前所出金额总和 
入金=当上一阶段交易结束,且亏损时,开始下一阶段交易前所入金额总和 
其他同类函数:
DAYTRADE:使用每日数据计算。
WEEKTRADE:使用每周数据计算。 
MONTHTRADE:使用每月数据计算。 
QUARTERTRADE:使用每季度数据计算。 
YEARTRADE:使用每年数据计算。

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198   点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容