这几天需要计算RSI指标,我从其他同事写的程序中把这部分的计算直接照搬过来,程序编译通过,但是去比对同花顺和老虎证券的数据,却发现差距甚远,我以为我算错了,把同事画出的图跟同花顺比对一下也是不对,反而是我跟同事的计算的一致,说明我没考错代码,就是他程序本身写的有问题,看了同花顺上是这样计算的:
这些公式网上也都可以找的到,第一行LC是获取前一日的收盘价,第二行的CLOSE是当日收盘价,MAX和ABS什么意思网上一查都可以查到,这里不再细说。N1是我们设置的RSI的参数,我这里为了方便测试时,把这个参数改成了2,毕竟两个值加减乘除的更好人工计算。重点就是SMA的计算了,下面我来说下。起初我以为SMA是Sum Average的意思,顾名思义,把连续几个值直接相加/个数就好了,但是怎么算都不对,后来发现同花顺的公式我可以自己修改,索性一步步来,先把RSI的计算公式调成了:
忽略第一行,我没删除而已,用第二行这个SMA公式最简单的用法来看清SMA的计算。我为了方便看懂,特意找了个刚上市没多久的新股来查看,这样的话,RSI的计算就比较好看懂了。我找的是688107安路科技-U这只股