以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp)
-- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4)
---- 套利问题咨询 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=57005)
|
-- 作者:拉普拉斯之魔
-- 发布时间:2013/9/25 16:28:55
-- 套利问题咨询
以下内容为程序代码:
1 C1:="CU11$CLOSE"; 2 C2:="CU12$CLOSE"; 3 4 A:=C1-C2; 5 6 7 8 IF STRCMP(STKLABEL,\'CU11\') = 0 THEN 9 BEGIN 10 SELL(A >N, 1, LIMITR,C); 11 BUY(A <M AND HOLDING=0,1,LIMITR,C); 12 END 13 14 IF STRCMP(STKLABEL,\'CU12\') = 0 THEN 15 BEGIN 16 BUYSHORT(A <M AND HOLDING = 0, 1, LIMITR,C); 17 SELLSHORT(A >N,1,LIMITR,C); 18 end
你好,这是参照贵论坛做的一个套利模型,我将价差参数化了,但每次都发现开平仓时间不一致,请问这模型有什么问题吗
|
-- 作者:拉普拉斯之魔
-- 发布时间:2013/9/25 16:30:39
--
此主题相关图片如下:9sy_j967e2bl4bkiw(rwkmu.jpg

|
-- 作者:jinzhe
-- 发布时间:2013/9/25 16:41:33
--
代码就这么几句吗?
|
-- 作者:拉普拉斯之魔
-- 发布时间:2013/9/25 16:42:04
--
对啊,根据贵论坛的范例修改的而已
|
-- 作者:拉普拉斯之魔
-- 发布时间:2013/9/25 16:43:49
--
只是做一个基本价差的研究,现在就希望解决开仓时间不一致的问题
|
-- 作者:jinzhe
-- 发布时间:2013/9/25 16:55:57
--
BUYSHORT(A <M AND HOLDING = 0, 1, LIMITR,C); SELLSHORT(A >N,1,LIMITR,C);
把这两句顺序对调一下
|
-- 作者:拉普拉斯之魔
-- 发布时间:2013/9/25 17:04:00
--
OK。好的。谢
|
-- 作者:拉普拉斯之魔
-- 发布时间:2013/9/26 15:36:37
--
你好,版主,重新设置之后数据还是依然有问题,希望得到解答
同时数据好像有些问题
此主题相关图片如下:xa~`s8n4`2botdlu1e6p7k.jpg

此主题相关图片如下:r3`p$dj2ph7l~o3hksh0%@p.jpg

此主题相关图片如下:j)q}zn(3gs6xdh650`uhun.jpg

|
-- 作者:jinzhe
-- 发布时间:2013/9/26 15:57:32
--
首先,你肯定有地方改错了,照着我的方法改不会出现这样的错,所以照着下面改,可以保证交易都是同一天
C1:="CU11$CLOSE"; C2:="CU12$CLOSE"; A:=C1-C2; m:=0; n:=-1500; IF STRCMP(STKLABEL,\'CU11\') = 0 THEN BEGIN SELL(A >N and a<, 1, LIMITR,C); BUY(A <M AND HOLDING=0,1,LIMITR,C); END IF STRCMP(STKLABEL,\'CU12\') = 0 THEN BEGIN SELLSHORT(A >N,1,LIMITR,C); BUYSHORT(A <M AND HOLDING = 0, 1, LIMITR,C);
end
其次,不仅语法问题,逻辑上也有错。。。m=0,n=-1500,那么a>-1500和a<0是可以同时成立的啊
所以按照上面的修改后的代码,可能存在a>n和A<M同时成立,所以会造成在同一个时间按照平多开多平空开空的顺序做4次操作。。。
下面图片里面圈的就是上述情况的发生
此主题相关图片如下:2.png

[此贴子已经被作者于2013/9/26 15:58:11编辑过]
|
-- 作者:拉普拉斯之魔
-- 发布时间:2013/9/26 16:10:37
--
好的,非常感谢,学习了
|