以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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,就是股指连续合约 你看倒数第二条交易,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 -- 回测页面的第一页里面,有个选项,价格复权,我没有打钩。 |