欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → [分享]滑点的有效控制

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有15027人关注过本帖树形打印复制链接

主题:[分享]滑点的有效控制

帅哥哟,离线,有人找我吗?
qwer123
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1966 积分:0 威望:0 精华:1 注册:2013/6/15 21:56:35
[分享]滑点的有效控制  发帖心情 Post By:2014/6/20 10:20:47 [只看该作者]


[此贴子已经被作者于2014/6/20 10:21:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
qwer123
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1966 积分:0 威望:0 精华:1 注册:2013/6/15 21:56:35
  发帖心情 Post By:2014/6/20 10:53:27 [只看该作者]

对于交易次数多的策略来说,滑点是一个非常重要的因素。
对于触发价发单的交易方法,我花费了很多时间和代价都没有找到可以实用的降低滑点的下单方法。
而对于以k线结束价发单的交易方法,我现在的滑点基本上可以控制在-0.03-0.05点之间,也就是说交易一次的滑点成本在15元以内。可能很多人的策略如果按这个成本设置,其收益曲线就很漂亮。
这个方法的根本点就下面两点:
1.提前下单;根据结束前价格走势确定提前下单的时间;
2.根据盘口的信息确定下单的位置(点位);
把这两点综合到一起,就可以有效地降低交易的滑点成本。

滑点的评估方法。
滑点我一般取20日的平均滑点;
每日滑点计算:
在公式编辑器中将交易费设置为“0”;滑点也设置为“0”;
日内滑点=(图表日内收益-实盘平仓收益)/交易次数;
20日滑点=(20天的“日内滑点”之和)/20;

滑点包括:1.挂单不成交,追单引起的损失;2.提前下单就有可能出现信号消失的问题,由此因为“持仓同步”引起的损失也包含在“滑点”之内;
不包括由于触发价的交易引起的滑点;
交易次数的计算方法:交易次数是指图表上显示的交易次数,持仓同步引起的多余交易次数不算。平仓1手算1次,开仓1手算1次,平仓2手算2次。。。。。

我这个程序只适应股指期货,商品没有研究,不建议使用!

为了减少滑点交易环境必须是“健康”的;我认为的健康环境如下:
1.任意一核的cpu占用<50%;总cpu占用<20%;
2.以市价单发出的单子,从发现信号到成交回报之间的时间小于50毫秒;

下面是我使用 滑点控制模块的例子:
//调用hdkzh程序中的5个参数
xdd:=stkindiex('','hdkzh.xdtd',0,21,1,0);//21,1 你使用的周期;
xdk:=stkindiex('','hdkzh.xdtk',0,21,1,0);//k线数量根据自己的模型确定;
hd1:=stkindiex('','hdkzh.hd1',0,21,1,0);
hdk:=stkindiex('','hdkzh.hdk',0,21,1,0);
hdd:=stkindiex('','hdkzh.hdd',0,21,1,0);

jgs:=if(islastbar,dynainfo(21),c);
jgx:=if(islastbar,dynainfo(20),c);

//交易时间区间
p1:=time>091700 and time<=150000;
p2:=if(islastbar,dynainfo(207),time);
p3:=time0-timetot0(p2),linethick0;

//以上部分要在程序加入。
r1:=todaybar-1;

r5:=ma(c,10);
r6:=ma(c,20);

if cross(r5,r6) and p3<=min(xdd,7) and p1 then
begin
sellshort(holding<0,abs(holding),limitr,jgx+hd1+hdd);
buy(holding=0,1,limitr,jgx+hd1+hdd);
end
if cross(r6,r5) and p3<=min(xdk,7) and p1 then
begin
sell(holding>0,holding,limitr,jgs-hd1-hdk);
buyshort(holding=0,1,limitr,jgs-hd1-hdk);
end

//收盘前清仓
if (p2>=151000 or (date=1140117 and time>145700)) and holding>0 and p3<=xdk then
begin
js5:sell(holding>0,holding,limitr,jgs-hd1-hdk);
end
if (p2>=151000 or (date=1140117 and time>145700)) and holding<0 and p3<=xdd then
begin
js6:sellshort(holding<0,abs(holding),limitr,jgx+hd1+hdd);
end

//**************************
日盈亏:asset-ref(asset,r1+1),noaxis,colorred,linethick1;
//1.追单:4秒不成交,在30个范围内市价追单;
//2.程序不能使用未来函数或者数据,否则可能频繁交易;
//3.使用固定轮询,高频;
//4.持仓同步时间,设置为10秒。如果是单窗口运行,持仓同步设为“走完k线以后”;
//5.程序中不允许使用"orderqueue"指令;


这个东西说简单也简单,但是你要花很多时间去统计,和实盘测试,有时可能还要浪费不少人民币。所以程序模块"hdkzh",不会免费提供,我做了一个2014年8月30号到期的加密“hdkzh”,大家可以自由使用。

有哪位朋友帮忙把“hdkzh”这个程序挂到一个地方,其他人可以下载,程序不大,不到100行;

有事加我QQ2313936161



版主评定:好评,获得20个金币奖励好评,获得20个金币奖励
(理由:奖励)
 回到顶部
帅哥哟,离线,有人找我吗?
tradersky
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:36 积分:0 威望:0 精华:0 注册:2014/2/8 12:13:47
  发帖心情 Post By:2014/6/22 22:39:11 [只看该作者]

感谢qwer123兄的分享,有兴趣的塔友可以到我的网盘下载(百度云盘)

http://pan.baidu.com/s/1mgC3Ufm

 回到顶部
帅哥哟,离线,有人找我吗?
djphilips
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/6/5 13:49:50
  发帖心情 Post By:2014/6/25 17:34:45 [只看该作者]

触发价发单减少滑点最有效的方法,是提前下stop单到服务器(比如快期等),这样除了价格出现跳空(这种属于硬伤,任何程序都无法解决),基本都是最快成交无滑点,甚至有时候是有利滑点。可惜的是,金字塔没有自动提前下stop单的功能。

 

如,最简单的ref(hhv(h,20),1)这样的一个上轨,那么在通道刚发生新变化之后的20个周期内上轨价格是不会变化的,在上轨变化的第一时间就挂条件单x>=n到服务器,那么如果后面价格到了自然第一时间成交,而无需再等触发后发单。


 回到顶部
帅哥哟,离线,有人找我吗?
qwer123
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1966 积分:0 威望:0 精华:1 注册:2013/6/15 21:56:35
  发帖心情 Post By:2014/6/26 8:20:42 [只看该作者]

回楼上:
我的理解和你的不一样,不管是什么软件,其交易过程都是,本地服务器----券商前置交易服务器-----交易所服务器。你说的比如快期的把单子挂到服务器,是把单子挂到快期的服务器上,同样是本地服务器,也是要触发后才发到券商的前置交易服务器。这和金字塔触发发单一样的,没有任何区别。有差别的只是你的本地服务器的网速可能没有快期的好,但这个不是问题,现在真正做期货交易的都是在专业机房租服务器或者将自己的服务器托管在专业机房,其网络延迟可以达到1毫秒以下(比如天翼云,如果是上海资源池,其对金字塔数据服务器和券商的前置交易服务器的延迟都是"0"毫秒。我和中国电信没有关系,不是帮他们拉客户,我恨死他们了,可是还得使用他们的产品)。
触发价的滑点我认为主要是数据延迟造成的。交易所每500毫秒才发一个快照数据,500毫秒的时间可能会发生很多的事。一般情况下是可以在触发价成交,但10次总有那么一两次是可能离触发价比较远(我的最大记录是7点(股指期货))。有人说我可以在触发价位置等一段时间,不成交再追单,我仔细测试过,这样做还不如直接成交的好,当然由于是500毫秒一个数据,测试可能和实盘又一定的差别。
尽管我现在的交易服务器是“0”毫秒延迟,可是我还是不敢使用触发价发单的策略,滑点的问题我解决不了,这和我的习惯有关,平均日交易次数低于5次的策略我基本不用,交易次数越多的策略我使用起来才放心。因为我无法预测价格的走势,只能是出现一点苗头就转向。这样必然导致交易次数的增加。
欢迎对“滑点控制”有心得的朋友交流。我现在走完k线交易模式的平均滑点可以控制在0.05点以下,如果触发价发单的交易也可以控制在这个水平,那么我的一些我认为比较优秀的策略就可以使用了,我可以和你共享。

 回到顶部
帅哥哟,离线,有人找我吗?
djphilips
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:61 积分:0 威望:0 精华:0 注册:2013/6/5 13:49:50
  发帖心情 Post By:2014/6/27 11:26:38 [只看该作者]

哈,我和楼主刚好相反,正因为不能很有效的控制滑点,所以日交易次数超过2次的策略基本不用。考虑到手续费+滑点的交易成本,交易次数越多,等于是在原始资金曲线上叠加的那条向下的负面曲线越陡峭。

 

而且资金量到了一定级别,过小周期的交易根本行不通,滑点的严重情况会呈现指数化的增长,很多时候根本不是反应的问题,而是在你下单的那一刻位置经常没有足够的单子给你成交。


 回到顶部
帅哥哟,离线,有人找我吗?
qwer123
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1966 积分:0 威望:0 精华:1 注册:2013/6/15 21:56:35
  发帖心情 Post By:2014/6/27 21:30:36 [只看该作者]

在做策略测试时肯定要把成本考虑进去的,如果不考虑滑点很多程序的收益曲线会很漂亮。这个是虚假的。所以策略通过了你自己的测试,根本就没有必要考虑交易次数多成本多的问题,也可能你交易次数多收益也大啊,这些都取决于你的策略。
资金大小与使用小周期没有关系吧!比如我有一个程序叫QQ25,是根据2分钟周期写的。那么我可以在80秒周期跑1手81秒周期跑1手。。。。到130秒周期跑1手。如果我从70秒到500秒每隔1秒周期跑1手,得要多少资金啊。再一个你还可以采用k线偏移的方法,一个2分钟周期程序你可以跑120手(偏移量1秒)每个2分钟的周期的k线只交易1手。
我没有大资金,只是平直觉可以这样做。

 回到顶部
帅哥哟,离线,有人找我吗?
AI无敌
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:524 积分:200 威望:0 精华:1 注册:2013/3/5 23:07:19
  发帖心情 Post By:2014/6/28 0:09:18 [只看该作者]

以下是引用qwer123在2014/6/27 21:30:36的发言:
在做策略测试时肯定要把成本考虑进去的,如果不考虑滑点很多程序的收益曲线会很漂亮。这个是虚假的。所以策略通过了你自己的测试,根本就没有必要考虑交易次数多成本多的问题,也可能你交易次数多收益也大啊,这些都取决于你的策略。
资金大小与使用小周期没有关系吧!比如我有一个程序叫QQ25,是根据2分钟周期写的。那么我可以在80秒周期跑1手81秒周期跑1手。。。。到130秒周期跑1手。如果我从70秒到500秒每隔1秒周期跑1手,得要多少资金啊。再一个你还可以采用k线偏移的方法,一个2分钟周期程序你可以跑120手(偏移量1秒)每个2分钟的周期的k线只交易1手。
我没有大资金,只是平直觉可以这样做。

目前我做商品,测试的时候都默认设置一年600次交易的滑点+手续费+意外损失=本金一年的50%,也就是说,一个模型如果年交易600次盈利不超过50%,实盘就要亏损

 回到顶部
帅哥哟,离线,有人找我吗?
qwer123
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1966 积分:0 威望:0 精华:1 注册:2013/6/15 21:56:35
  发帖心情 Post By:2014/7/11 11:17:38 [只看该作者]

开始商品交易,在这里打一个记号。
       一直在做股指期货,对商品没有什么了解,最近由于交易比较顺畅(不是赚钱顺畅,是交易顺畅)。这要感谢金字塔的技术人员,我是星期5下午退出金字塔,星期天晚上启动金字塔,一直运行很平稳。再加上晚上资金也是闲置的,就想看看能不能做一下商品的夜盘。
       夜盘可选的品种不多,看了看就选择了白银。看了两天白银的盘口情况,我觉的用挂单交易可能不错;写了一个程序一测试,他NND的,用不了多长时间就可以变成大富翁了,调准到5分钟成交一次,10分钟成交一次,15分钟成交一次,效益都相当不错。不过我没有太当真,这种测试不准的东西,我肯定不会用的,只是自娱自乐一下而已。
        从以前写的股指期货的程序中找了几个加载在白银上(并限定在夜盘交易),只有一两个我认为还算可以。咨询了一下其他做商品的朋友,收益和回撤还可以。大概情况是这样的:
1号模型.k线结束价交易(2013.7.1---2014.7.5)(45手)(只考虑了手续费,没有考虑滑点);
周期:1分钟;收益:113万 ;回撤:5.78万;年内收益/年内最大回撤=19.5;
2号模型.k线结束价+k线中突破价交易
周期1分钟;收益142万,回撤4.75万;年内收益/年内最大回撤=29.9;
交易次数都在580左右,1号和2号模型的原理一样;

由于现在写程序还是有一定的功底,所以程序再不经过模拟交易测试了,直接把信号看一遍,看看信号是不是符合预期,之后就可以实盘了,由于在股指期货交易时对触发价交易的滑点有点恐惧,所以就用1号模型于7月9号实盘。
结果不错,第二天早晨一起来,打开计算机一看赚了6660(这个数字不错);然后就检查交易信号和实际成交时间,结果完全一致;统计滑点,这一天的平均滑点0.37跳。滑点的结果还是很满意(用了一点我在股指期货交易的滑点控制方法);不知道其他朋友的交易滑点怎么样。
        昨天1天我都在犹豫来犹豫去,是用1号模型还是用2号模型?尽管我对触发价交易有点恐惧,但是“年内收益/年内最大回撤=29.9”实在是太诱人了。最后还是决定试一下,并且把服务器换成上海天翼云的服务器,这里我说一下,我租的服务器配置都比较高比如这个服务器是4核4G的并且只跑一个金字塔,其他什么都不做,CPU最高只有15%,网络延迟都是“0”毫秒。
        晚上8:50散步回来(这里是西部,8:50天还是亮的),由于是第一次使用这个程序,所以还是老老实实地坐在计算机旁进行监控。白银跳空开盘,之后就往上冲,我的妈呀,交易量好大,4400点程序触发做多交易,45手瞬间成交,悲剧了,成交价最低4408,最高4410;平均滑点9.4点,一下子损失45*9.5*15=6400;好在价格一直往上冲,我就果断停止了交易,然后平仓出来了。然后重新加载了1号程序继续交易。总算还好,今天早晨看了一下手机邮件,盈利了1005。统计的交易滑点0.46点(是指2号程序的)。
       股指期货交易我就对触发价交易非常恐惧,基本上不再使用这种交易方法。实在避不开(如止损)我就直接在程序中加10跳做为滑点,现在我估计也不会使用触发价交易的方法交易白银了。

最后我要真诚感谢“AI无敌”老弟的无私指导!
请原谅贴图太麻烦,就不贴了。





[此贴子已经被作者于2014/7/11 11:18:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
beldon
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:102 积分:0 威望:0 精华:0 注册:2015/7/29 23:53:28
  发帖心情 Post By:2016/1/18 15:17:28 [只看该作者]

触发价害死人不偿命啊

 回到顶部