除权数据已出,报表未更新,如何推算流通盘等若干问题试用解决方案
来自:MACD论坛(bbs.shudaoyoufang.com)
作者:狙击手童彤
浏览:19026
回复:5
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
很偏,很冷,很无聊。如同研究羽绒服口袋里的圆珠笔油如何洗净一样。
但前段时间有坛友发出类似的求助,我虽一直在研究,但当时没有任何头绪,今日完成个轮廓,算给自己一个交代吧,谁需要,谁拿走。谁不喜欢,一笑而过。我不表态。
注意:本文涉及的一些技术,姑且称为技术吧,仅限于飞狐系列的阳光股道,飞狐旧系列或其他证券软件是否通用,我不得而知。
1:除权数据已出,尤其是大比例除权,报表尚未更新,例如,流通盘依旧。可有时,我们选股需要的就是准确的流通盘,怎办?
有一个函数叫除权比例,我们可以根据这个大致推出当前的流通盘。原理很简单,但由于涉及相关细节做出成品还是有一定难度的。例如,除权前盘是1000,一送一后,流通盘应该是2000。
那么,我们可以用软件内给定的流通盘除以除权比例,得出当前的流通盘。但若报表已经更新了,我们再这样做那反而矫枉过正了不是么?这里又有除权和报表谁在前的影响因素存在了。我的
处理方法如下,大家或许有更简便的办法,我只抛砖引玉吧:
除权比例值:=if(sum(SPLITDATA(1),0)=0,1,SPLIT(0));
某天:=abs(除权比例值- ref(除权比例值,1))>0;
除权日:=if((sum(SPLITDATA(1),0)>0),某天=1,0);
除权日距离:=if(sum(除权日,0)>0,BARSLAST(除权日),1);
报表日期:=DATETOD1970((100*FINANCE(0))+1000000-20000000);
报表日期距离当前:=DATETOD1970(date)-报表日期是否选用比例:=if(报表日期距离当前<除权日距离,1,ref(除权比例值,除权日距离));
当前流通盘:FINANCE( 7)/是否选用比例;
需要提醒的是,这若干语句仅仅适合用于当前选股,因为其中涉及一下返回常数的函数,在近期的一段时间内可以用,再往前就不准确了。
那么,我们要测试一些公式,要用到既往的流通盘我们该怎么办呢?
2:该方法也只能得到近似的数据,总胜于无吧。
前除权状态下,首先要做一个公式,这公式只有一个语句,收盘价:c; 第二步,做一组飞狐的扩展数据,例如:EXTDATA(1),这个要把计算时使用复权后的数据和生成横向排名数据前面的两个勾去掉。如图(1)。刷新后,建立一个公式
既往流通盘:FINANCE( 7)*AMOUNT/(v*100*EXTDATA(1));
你们看图(2),差不多吧,当然这个欠准确,或许你们有更好的办法。 
[ 本帖最后由 狙击手童彤 于 2012-6-28 14:47 编辑 ] |