Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
阿火 发表于: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编辑过]
2楼
阿火 发表于:2010/12/22 23:27:43
自己给自己顶一个,图片点击可在新窗口打开查看 ,睡觉去了。
3楼
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;//

 

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

4楼
阿火 发表于:2010/12/23 8:25:04

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

5楼
z7c9 发表于:2010/12/23 11:31:21
以下是引用leevolvo在2010-12-23 8:25:04的发言:

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

RU05

[此贴子已经被作者于2010-12-23 11:32:13编辑过]
6楼
阿火 发表于:2010/12/23 13:29:25

RU05

21日  结算价37275     计算结果 37279

22日 结算价37095      计算结果 37099

 

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

 

[此贴子已经被作者于2010-12-23 13:33:00编辑过]
7楼
plsf99 发表于:2013/7/3 14:32:17

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

8楼
jinzhe 发表于:2013/7/3 14:48:29
会在金字塔里面创建公式吗?
9楼
plsf99 发表于:2013/7/3 19:55:37
以下是引用jinzhe在2013/7/3 14:48:29的发言:
会在金字塔里面创建公式吗?

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

共9 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.02148 s, 3 queries.