欢迎光临
专业期货策略平台

期货程序化交易之突破策略篇

程序化交易近年来越发越来越多的人投身其中开发各种的程序策略。并且这已成趋势。就不在多说,我们开始将策略开发过程及策略的核心代码写出来。

突破策略一直是古董级的方法。我们现采用一家商业平台来写这个策略。

一, 突破的原理:如果close向上突破openD(0)+atr/2 则做多;

如果close向下突破openD(0)-atr/2 则做空;

openD(0)是指当天期货品种的开盘价,atr算法如下:

tr[i]=maxlist(value1,value2,value3);// tr[i]为二维数组。

if i=atrlen-1 then begin

for i=0 to (atrlen-1) begin

trx=trx+tr[j];

end;

atr=trx/atrlen;//atrlen是个数值型参数,一般笔者也就是在1到200之间。

end;

如果你照抄上面几句运行,会发现有问题,i,有的软件比如TB ,MC, python ,matlab等对有些关键词已定义,如果发现有问题可以将i改写成j或其它你喜欢的字符。所以我是全改成了j,如下:

图1

二,过滤,上面几句简单的写完,你会发现跟没打理的菜地一个样,无效成交很多,一回测绩效亏得很大,心情很郁闷,很失望,这很正常,我们还要将过滤添加上去,你可以理解成菜地的日常打理除草。韭菜边上长棵小麦,将小麦炒了吃,味道应当不会太好。过滤常见的有那么几种ADX,布林线等。读者可以去做个归纳。当然,我们这里呢还对K线进行了数据处理。

核心语句就下面几句:

图2

buy:做多

sellshort:做空

上述各condition语句是各种过滤条件等。

以上写完编绎代码看有无语法上的问题bug什么的。编绎成功后说明语法是没问题了。

下面我进入下一步,对样本内数值进行优化参数:

我们选个品种,最近油很是火热,商品期货我们用燃油(5分钟周期)。先看2018年4月到2019年4月经过优化后的测试结果:

图3

图4

图5

样本内数据看起来很普通,年化64%,回撤17%,胜率43.9%,盈亏比1.8:1;

没关系,我们看下样本外数据(2019年4月到2020年4月)如何:

图6

图7

图8

我们看下主要指标,年化150%,平仓交易最大亏损17%,平均每月盈利12.7%,全年成交71次,平均每周成交1次半,胜率46.48%,盈亏比2.97:1,这些数据都相当不错。注意,是样本外数据。而且我们代码中没有任何的未来函数(程序中交易要么是限价,要么就是next bar )

限价的意思,如上菜场买菜(笔者经常去买),商家规定排骨50一斤,摆出爱买不买样子,小编我也无奈,按这价买吧。

next bar :就是下个K线要成交。接上句,如果50块一斤不买,就去下个商家,结果这家没排骨了,只有小白菜,无奈,买点回去炒了再说。必须在这里成交,不管是什么价什么东西。没有下一个商家。

这个突破策略还是相当可以的,至少满足了目前的热点。成交语句也少,而且相关语句我是有在实盘的,只是稍做修改。实盘问题不大,当然,我们还是要走个仿真测试的流程,万一出了bug呢。

0 0 vote
Article Rating
Click to rate this post!
[Total: 0 Average: 0]
赞(0) 打赏
未经允许不得转载:A期客 » 期货程序化交易之突破策略篇
订阅
提醒
guest
0 评论
Inline Feedbacks
View all comments

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

0
Would love your thoughts, please comment.x
()
x