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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 结算价,比较科学合理的算法

   

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


  共有11942人关注过本帖平板打印复制链接

主题:结算价,比较科学合理的算法

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


加好友 发短信 原leevolvo
等级:版主 帖子:2160 积分:10563 威望:0 精华:11 注册:2010/11/3 11:21:19
结算价,比较科学合理的算法  发帖心情 Post By:2010/12/22 22:56:02    Post IP:58.22.138.156[只看该作者]

看到好几个帖子在探讨结算价的算法,或者要求保留历史结算价等问题。能保留固然最好,但我们依然可以得到比较精确的结算价

这是常见问题汇总里提供的结算价的算法:

{今日结算价}
 ZQ:=IF(LLV(DAY,0)=HHV(DAY,0),0,BARSLAST(DAY<>REF(DAY,1))+1),LINETHICK0;
 结算价:IF(SUM(VOL,ZQ)=0,(HIGH+LOW+OPEN+CLOSE)/4,SUM((HIGH+LOW+OPEN+CLOSE)/4*VOL,ZQ)/SUM(VOL,ZQ)) ;
但偏差大了些。

 

股指期货的结算价是最后一个小时所有价格按成交量的加权平均,跟商品期货不一样。但是均价的算法跟商品期货的结算价算法是一样的。

 

商品期货结算价的定义:所有成交价格按成交量的加权平均价。

换一种说法,就是=sum(每个价格*成交量)/sum(成交量)

                      =sum(每个价格*成交量*单位)/sum(成交量*单位)

                      =成交总额/(成交总量*单位)

 

于是比较精确的结算价算法如下:

cond:=day<>ref(day,1) or barpos=1;

n:=barpos-valuewhen(cond,barpos)+1;

jsj:sum(amount,n)/sum(vol,n)/multiplier;//适用日线及日线以下周期的K线,大家可以试试

 

那么,如何计算股指期货的结算价呢(主力合约)?1分钟K线图的话,把n用min(n,60)代替即可。

或者,按以下算法计算:

a1:=callstock(stklabel,vtamount,5,0);

v1:=callstock(stklabel,vtvol,5,0);

jsj:a1/v1/multiplier;//适用日线及以下所有K线图,取得股指期货当日收盘时的结算价

 

其他的用法类似,可以根据自己的需求更改

 

[此贴子已经被作者于2010-12-22 23:25:07编辑过]

 回到顶部