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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 商品除权数据自动更新的建议

   

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


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

主题:商品除权数据自动更新的建议

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


加好友 发短信
等级:论坛游侠 帖子:292 积分:652 威望:0 精华:0 注册:2012/6/3 11:46:45
商品除权数据自动更新的建议  发帖心情 Post By:2014/7/19 17:56:45 [只看该作者]

前段时间的菜油和焦炭因为金字塔没有及时推送除权数据,导致连续合约在换月的时候大幅跳空,造成空单的无端止损。金字塔技术人员建议采用指数合约,并映射连续合约的方法进行交易,但此方法有2个弊端。
第一:指数合约是金字塔服务器计算后推送给客户端的,而连续合约数据是CTP订阅的,势必在响应速度方面指数合约会慢于连续合约,我初步对照了一下,可能会慢0.5秒到1秒,因此在交易中会造成不必要的滑点.
第二:因为交易的是连续合约,而测试的是指数合约并通过映射连续合约交易,势必会造成回测结果跟实际交易结果的一定误差,虽然可能不大。


初步询问了一下金字塔技术人员,据说除权数据是人工计算好推送的,对技术力量强大的金字塔公司而言,实在难以想象。我个人觉的实现自动计算除权并自动推送的技术应该不难实现。

下面提供一些个人的思路,仅供金字塔技术人员参考。

第一步:开盘获取当月合约,代码如下(以pta为例,其他品种类同)

if  time=090300 and ISLASTBAR then begin


连续量:=CALLSTOCK(STKLABEL,vtVOL,6,-1);
量1:=CALLSTOCK('TA01',vtvol,6,-1);
量3:=CALLSTOCK('TA02',vtvol,6,-1);
量5:=CALLSTOCK('TA03',vtvol,6,-1);
量7:=CALLSTOCK('TA04',vtvol,6,-1);
量9:=CALLSTOCK('TA05',vtvol,6,-1);
量11:=CALLSTOCK('TA06',vtvol,6,-1);
y量1:=CALLSTOCK('TA07',vtvol,6,-1);
y量3:=CALLSTOCK('TA08',vtvol,6,-1);
y量5:=CALLSTOCK('TA09',vtvol,6,-1);
y量7:=CALLSTOCK('TA10',vtvol,6,-1);
y量9:=CALLSTOCK('TA11',vtvol,6,-1);
y量11:=CALLSTOCK('TA12',vtvol,6,-1);

if 连续量=量1 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA01');

if 连续量=量3 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA02');

if 连续量=量5 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA03');

if 连续量=量7 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA04');

if 连续量=量9 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA05');

if 连续量=量11 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA06');
if 连续量=y量1 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA07');

if 连续量=y量3 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA08');

if 连续量=y量5 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA09');

if 连续量=y量7 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA10');

if 连续量=y量9 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA11');

if 连续量=y量11 then WRITEINIFILESTRING('d:\商品.ini','pta','当月','TA12');






end;


第二步:尾盘获取当日换月的合约

换月:=getINIFILE('d:\商品.ini','pta','换月');

 if 换月=0 and CURRENTTIME>145800 and time=150000 and islastbar then BEGIN

量1:=CALLSTOCK('TA01',vtvol,6,0);
量2:=CALLSTOCK('TA02',vtvol,6,0);
量3:=CALLSTOCK('TA03',vtvol,6,0);
量4:=CALLSTOCK('TA04',vtvol,6,0);
量5:=CALLSTOCK('TA05',vtvol,6,0);
量6:=CALLSTOCK('TA06',vtvol,6,0);
量7:=CALLSTOCK('TA07',vtvol,6,0);
量8:=CALLSTOCK('TA08',vtvol,6,0);
量9:=CALLSTOCK('TA09',vtvol,6,0);
量10:=CALLSTOCK('TA10',vtvol,6,0);
量11:=CALLSTOCK('TA11',vtvol,6,0);
量12:=CALLSTOCK('TA12',vtvol,6,0);
连续量:=CALLSTOCK(STKLABEL,vtVOL,6,0);
if 量1>连续量 and valid(连续量) and valid(量1) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA01');
end;
if 量2>连续量 and valid(连续量) and valid(量2) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA02');
end;
if 量3>连续量 and valid(连续量) and valid(量3) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA03');
end;
if 量4>连续量 and valid(连续量) and valid(量4) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA04');
end;
if 量5>连续量 and valid(连续量) and valid(量5) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA05');
end;
if 量6>连续量 and valid(连续量) and valid(量6) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA06');
end;
if 量7>连续量 and valid(连续量) and valid(量7) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA07');
end;
if 量8>连续量 and valid(连续量) and valid(量8) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA08');
end;
if 量9>连续量 and valid(连续量) and valid(量9) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA09');
end;
if 量10>连续量 and valid(连续量) and valid(量10) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA10');
end;
if 量11>连续量 and valid(连续量) and valid(量11) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA11');
end;
if 量12>连续量 and valid(连续量) and valid(量12) then begin
WRITEINIFILE('d:\商品.ini','pta','换月',1);
WRITEINIFILESTRING('d:\商品.ini','pta','下月','TA12');
end;

end;

第三:此上面两步已经获取了当月合约和下月合约的代码,只要在第二天开盘时候处理好前一天当月合约和下月合约收盘价差,就可以自动计算除权数据 :代码如下


换月:=getINIFILE('d:\商品.ini','pta','换月');

if 换月 then BEGIN

当月:=getINIFILESTRING('d:\商品.ini','pta','当月');
下月:=getINIFILESTRING('d:\商品.ini','pta','下月');

当月收:=CALLSTOCKEX(当月,vtclose,6,-1,5);

下月收:=CALLSTOCKEX(下月,vtclose,6,-1,5);



除权价差:=下月收-当月收;

end;


以上是个人的一点愚见,希望金字塔技术人员为用户着想,早日实现自动推送除权数据。祝金字塔越来越强大。




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


加好友 发短信
等级:论坛游民 帖子:390 积分:557 威望:0 精华:0 注册:2012/8/9 10:24:59
  发帖心情 Post By:2014/7/19 21:14:09 [只看该作者]

这个必须顶
图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

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


加好友 发短信
等级:论坛游侠 帖子:292 积分:652 威望:0 精华:0 注册:2012/6/3 11:46:45
  发帖心情 Post By:2014/7/21 8:43:28 [只看该作者]

图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:5960 积分:0 威望:0 精华:2 注册:2014/6/12 11:29:04
  发帖心情 Post By:2014/7/21 9:06:46 [只看该作者]


初步询问了一下金字塔技术人员,据说除权数据是人工计算好推送的,对技术力量强大的金字塔公司而言,实在难以想象。我个人觉的实现自动计算除权并自动推送的技术应该不难实现。

 

 

1,除权数据一直是自动生成然后每日自动推送至用户本地

2,人工核实是指历史的除权数据处理,自动处理后再次人工对照。确保其正确性

3,上次除权数据没有正常推送,是服务器推送存在问题,已经修正

 



金字塔—专业程序化交易量化投资平台

产品部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
raidsan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:60 积分:40 威望:0 精华:0 注册:2013/1/1 1:23:33
  发帖心情 Post By:2014/7/21 10:34:46 [只看该作者]

请问今天的橡胶连续 除权 正常吗? 
今天启动后看到有引入除权, 但是后来程序崩溃, 再次进来看到橡胶连续没有除权 (不确定未崩溃前除权是否正常)

手动删除 setting\option.ini 里的updatepower 
或者手动导入除权文件: temp\power.pwr  
都未能正确除权

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


加好友 发短信
等级:论坛游侠 帖子:292 积分:652 威望:0 精华:0 注册:2012/6/3 11:46:45
  发帖心情 Post By:2014/7/21 10:41:54 [只看该作者]

橡胶数据又出错了

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


加好友 发短信
等级:超级版主 帖子:5960 积分:0 威望:0 精华:2 注册:2014/6/12 11:29:04
  发帖心情 Post By:2014/7/21 10:50:40 [只看该作者]

1,查看了下服务器后台数据,除权数据都是存在的

2,除权数据是走的HTTP协议,同一文件推送那边有限制,有时自动下载上次的传送状态,我们这边处理下。给大家带来的不便深感歉意



金字塔—专业程序化交易量化投资平台

产品部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com
 回到顶部