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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 关于套利问题

   

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


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

主题:关于套利问题

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


加好友 发短信
等级:新手上路 帖子:68 积分:442 威望:0 精华:0 注册:2012/7/19 13:16:41
关于套利问题  发帖心情 Post By:2012/8/12 21:50:15    Post IP:121.33.90.68[显示全部帖子]

我想写一个大豆-豆粕的差价套利策略,要求是当达到开仓条件时,就用20%的资金下单,每个品种(大豆和豆粕都下相同手数),当达到平仓条件时,就全部平仓。
以下是我写的代码:
input:M(1450,1000,1600,50),N(1250,1000,1300,50),ratio(0.2,0.1,1,0.1);
runmode:0;
AX09:=callstock('DQAX09',VTCLOSE);
M09:=callstock('DQM09',VTCLOSE);
diff:=AX09-M09;
TJ1:=CROSS(diff,M);
TJ2:=CROSS(N,diff);
ZIJIN:asset,linethick0;
KCS:=ntpart(ZIJIN*ratio/(AX09*multiplier*0.09+M09*multiplier*0.09)),linethick0;
if TJ2 then
begin
if strcmp(stklabel,'M09')=0 then sell(holding>0,0,limitr,C);
if strcmp(stklabel,'AX09')=0 then sellshort(holding<0,0,limitr,C);
end
if TJ1 then
begin
if strcmp(stklabel,'M09')=0 then buy(holding=0,KCS,limitr,C);
if strcmp(stklabel,'AX09')=0 then buyshort(holding=0,KCS,limitr,C);
  end

现在的问题就是:
1.我用20%的资金下单,例如我有100万,当达到开仓条件时,我就用20万开仓,因为每个品种都要下相同手数,所以我计算手数的方法是:KCS:=intpart(ZIJIN*ratio/(AX09*multiplier*0.09+M09*multiplier*0.09)) 不知道是否正确。

2.我的测试时间段是2011.07.01-2012.07.01,日线周期,然后公式测评,第一次交易开仓手数是相同的,但第二次交易大豆和豆粕的交易手数就不同了(如图所示),于是我发现了是asset的问题,当监控不同品种时asset的值是不一样的,现在就请问如何解决这个问题,或者有什么方法可以使每次开仓都可以开仓相同的手数。

3.然后我看了论坛的帖子,有说套利策略无法在图表交易中实现,不知道是不是这样?我知道在后台是可以实现的,但想在后台实现之前先在图表实现,然后看看测评效果。
图片点击可在新窗口打开查看此主题相关图片如下:pic.jpg
图片点击可在新窗口打开查看

我是新手,请老师们多多指教,谢谢。
[此贴子已经被作者于2012-8-12 21:57:13编辑过]

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


加好友 发短信
等级:新手上路 帖子:68 积分:442 威望:0 精华:0 注册:2012/7/19 13:16:41
  发帖心情 Post By:2012/8/12 22:02:55    Post IP:121.33.90.68[显示全部帖子]

以下是引用RogarZ在2012-8-12 21:56:34的发言:

你要了解图表的原理 ,每个都是品种的asset都是独立的
专业版很容易做到(套利功能) 你的想法在图表上实现不了。有高人能做到的话,期待在之后回复


//嗯,测评完后我就明白了原理了,不过现在就想问有没有办法把asset弄成一个“全局变量”,又或者函数列表里有没有另外的资金函数有这个“功能”。

想您所说的,如果在图表实现不了,那么在后台里实现的话,至少也要有测评看下策略的结果啊,不然怎么调参呢。


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


加好友 发短信
等级:新手上路 帖子:68 积分:442 威望:0 精华:0 注册:2012/7/19 13:16:41
  发帖心情 Post By:2012/8/13 0:40:22    Post IP:121.33.82.110[显示全部帖子]

以下是引用RogarZ在2012-8-12 22:23:31的发言:

专业版很容易做到(套利功能)

专业版可以自己做套利价差合约   测试用直接用套利合约就行了 直接对价差图下单

不需要在图表中指定品种 以及你说的种种很麻烦的设置


//有类似 图表交易中的 测评报告结果吗?并且,可以按资金百分比下单吗?


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


加好友 发短信
等级:新手上路 帖子:68 积分:442 威望:0 精华:0 注册:2012/7/19 13:16:41
  发帖心情 Post By:2012/8/13 10:06:16    Post IP:183.2.43.168[显示全部帖子]

以下是引用admin在2012-8-13 9:17:33的发言:

委托下单手数里,直接填写下单数量不就完了。

你用资金百分比下单,当然下单数量会随着资金的变化而变化了


//我意思就是想下单数量随资金变化而变化,根据资金状况控制下单手数,每次开仓就用资金的20%下单。可以实现吗?


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


加好友 发短信
等级:新手上路 帖子:68 积分:442 威望:0 精华:0 注册:2012/7/19 13:16:41
  发帖心情 Post By:2012/8/13 11:21:50    Post IP:183.2.43.168[显示全部帖子]

以下是引用王锋在2012-8-13 10:49:38的发言:

这个在图表交易中无法实现,只能在实盘里根据实际的可用资金量来搞。

建议你测试时,使用固定手数来实现!

//嗯,那我明白了,如果我新建一个套利合约,新建的套利合约能不能像一般品种那样,编写策略,然后再测评呢?


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


加好友 发短信
等级:新手上路 帖子:68 积分:442 威望:0 精华:0 注册:2012/7/19 13:16:41
  发帖心情 Post By:2012/8/13 11:23:03    Post IP:183.2.43.168[显示全部帖子]

以下是引用just在2012-8-13 10:49:59的发言:

当然可以的。

buy(1,20%,market);

//这个知道,但是在图表的时候每个品种开仓的手数就不一样了,并且在后台就不能用百分比,所以我就想去计算下单数量


 回到顶部