以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  结算价,比较科学合理的算法  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=4550)

--  作者:阿火
--  发布时间:2010/12/22 22:56:02
--  结算价,比较科学合理的算法

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

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

{今日结算价}
 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编辑过]

--  作者:阿火
--  发布时间:2010/12/22 23:27:43
--  
自己给自己顶一个,图片点击可在新窗口打开查看 ,睡觉去了。
--  作者:z7c9
--  发布时间:2010/12/23 8:16:12
--  

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

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

jsj:sum(amount,n)/sum(vol,n)/multiplier;//

 

这个算法算出来的结算价和实际结算价对不上


--  作者:阿火
--  发布时间:2010/12/23 8:25:04
--  

哪个品种,哪个合约?数据是否齐全?


--  作者:z7c9
--  发布时间:2010/12/23 11:31:21
--  
以下是引用leevolvo在2010-12-23 8:25:04的发言:

哪个品种,哪个合约?数据是否齐全?

RU05

[此贴子已经被作者于2010-12-23 11:32:13编辑过]

--  作者:阿火
--  发布时间:2010/12/23 13:29:25
--  

RU05

21日  结算价37275     计算结果 37279

22日 结算价37095      计算结果 37099

 

误差在合理的范围之内吧,呵呵

 

[此贴子已经被作者于2010-12-23 13:33:00编辑过]

--  作者:plsf99
--  发布时间:2013/7/3 14:32:17
--  

如何加在3分钟或5分钟周期的K线图?


--  作者:jinzhe
--  发布时间:2013/7/3 14:48:29
--  
会在金字塔里面创建公式吗?
--  作者:plsf99
--  发布时间:2013/7/3 19:55:37
--  
以下是引用jinzhe在2013/7/3 14:48:29的发言:
会在金字塔里面创建公式吗?

JINZHE水平还是有的,就是每次都认为别人提的问题是低级错误造成的,我是要在3、5分钟K线图上显示1分钟的分时均线,如何解决,不要建议用stkindi,那样速度太慢