以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  关于回测价格偏差的问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=159869)

--  作者:simonxj
--  发布时间:2017/11/26 22:09:17
--  关于回测价格偏差的问题
策略中,按一个收盘价格突破上下限价触发进出场条件,并且下单价格为这根生效K线的收盘价,也就是说,收盘价在上限价格之上,按收盘价入场多单,收盘价在下限价格之下,按收盘价格入场空单。

//交易条件
开多条件:=C>上限;
开空条件:=C<下限;

平空:sellshort(开多条件 and holding<0 AND CYC>1, HOLDING(),THISCLOSE);
平多:sell(开空条件 and holding>0 AND CYC>1,HOLDING(),THISCLOSE);
开空:buyshort(开空条件 and holding=0 AND CYC>1,手数,THISCLOSE);
开多:buy(开多条件 and holding=0 AND CYC>1, 手数,THISCLOSE);

图形上,可以看到多空单进出场的标志,也是正确的,但是在回测的下单记录中,成交价格却不同,不是该根k线的收盘价,请问是什么问题?
谢谢!


--  作者:wenarm
--  发布时间:2017/11/27 8:22:43
--  

你这个用图表和回测对比,建议将图表和回测时段保持一致,否者因为数据量的不同则会影响到历史信号的计算。


--  作者:simonxj
--  发布时间:2017/11/27 10:21:49
--  
谢谢,应该不是这个原因,触发的k线时间是一致的,但是按道理应该是收盘价下单,但是在回测的交易记录里面的价格却不是收盘价,也不是前后k线的收盘价,很多时候,还是一个相差很大的价格。这个就会导致回测的结果和实际完全不同。
--  作者:wenarm
--  发布时间:2017/11/27 12:14:38
--  

你自己看下,你回测中和图标中是不是一个使用了复权一个没有。


--  作者:simonxj
--  发布时间:2017/11/27 23:10:21
--  
好像问题出在连续合约上,我用的是500股指连续合约进行测试,数字老是对不上,不知道这是什么原因。如果用500股指1712好像数字就对。
--  作者:wenarm
--  发布时间:2017/11/28 8:22:10
--  

什么叫数字对不上?能具体说明下吗,连续合约是所有主力合约的集合。

麻烦把你说的有异议的地方截图说明下。(包括回测中的一些设置)


--  作者:simonxj
--  发布时间:2017/11/28 22:00:12
--  
IC00,就是股指连续合约


图片点击可在新窗口打开查看此主题相关图片如下:捕获1.gif
图片点击可在新窗口打开查看

你看倒数第二条交易,2017-11-14 14:05,下单金额6546.7。但实际上,IC00的那根k线收盘价是,6596.2。其他的价格也不同。

--  作者:simonxj
--  发布时间:2017/11/28 22:24:40
--  
或者这么问吧,如果交易条件是,当前K线收盘价高于上限或者下限就进场,或者反手,以该根K线收盘价下单入场进行回测,然后交易系统就是以收盘时的市价入场,分别该怎么写,谢谢了!
//交易条件
开多条件:=C>上限;
开空条件:=C<下限;

--  作者:wenarm
--  发布时间:2017/11/28 23:44:26
--  
你的策略回测设置中使用了复权数据,
而你在图表中用到的是非复权数据。你按F11,在k线图的左上角有一个红色的S标记。然后在对比。

--  作者:simonxj
--  发布时间:2017/11/29 12:00:46
--  
回测页面的第一页里面,有个选项,价格复权,我没有打钩。