本帖最后由 易得君1号 于 2022-6-25 20:16 编辑
成交量复权的原理是在送股、配股、增发等历史流通股本变动后,保持历史成交量的换手率不变。
易得程序化提供了两种成交量复权的算法:一种是以除权数据送股配股变动粗略计算(兼容飞狐通达信),另一种是以历史流通股本变动数据精细计算。
第一种以除权数据送股配股变动粗略计算(兼容飞狐通达信), 因为除权数据中只含有送股配股两种股本变动数据,不包含有增发、转增、新股上市等数据。所以计算结果稍显粗略。此算法也是跟易得函数Splitv相同算法。
如果写成易得公式,代码如下:
- // 使用除权数据计算复权成交量
- Variable: v1 = 1;
- 红股 := SPLITDATA(1);
- 配股 := SPLITDATA(2);
- v1 := v1*(1+(红股+配股)/10);
- d := v1;
- lastx : RefX(d, CurrBarsCount-1);
- ratio : lastx / d; // ratio也就是函数Splitv的结果
- 复权量 : ovol*ratio, VolStick;
- 复权量1 : ovol*Splitv;
复制代码
第二种以历史流通股本变动数据精细计算,历史流通股本变动数据包含了送股、配股、增发、转增、新股上市等全部股本变动数据,所以计算结果更加精细。此算法也是跟易得函数SplitvEx相同算法。
如果写成易得公式,代码如下:
- // 使用历史流通盘变动计算复权成交量
- Variable:v1=1;
- v1 := v1 * if(barpos=1,1, Capital/ref(Capital,1));
- d := v1;
- lastx : RefX(d, CurrBarsCount-1);
- ratio : lastx / d; // ratio也就是函数SplitVex的结果
- 复权量 : ovol * ratio, VolStick;
- 复权量1 : ovol * SplitVex;
复制代码
检验成交量复权的准确性,因为成交量除权的核心原理就是换手率不变,使用下列公式代码,理论上两个线在图形显示上是完全重合的。
- 换手 : ovol / Capital * 100;
- 成交量 : vol, NoAxis;
复制代码
|