这几天需要计算RSI指标,我从其他同事写的程序中把这部分的计算直接照搬过来,程序编译通过,但是去比对同花顺和老虎证券的数据,却发现差距甚远,我以为我算错了,把同事画出的图跟同花顺比对一下也是不对,反而是我跟同事的计算的一致,说明我没考错代码,就是他程序本身写的有问题,看了同花顺上是这样计算的:

这些公式网上也都可以找的到,第一行LC是获取前一日的收盘价,第二行的CLOSE是当日收盘价,MAX和ABS什么意思网上一查都可以查到,这里不再细说。N1是我们设置的RSI的参数,我这里为了方便测试时,把这个参数改成了2,毕竟两个值加减乘除的更好人工计算。重点就是SMA的计算了,下面我来说下。起初我以为SMA是Sum Average的意思,顾名思义,把连续几个值直接相加/个数就好了,但是怎么算都不对,后来发现同花顺的公式我可以自己修改,索性一步步来,先把RSI的计算公式调成了:

忽略第一行,我没删除而已,用第二行这个SMA公式最简单的用法来看清SMA的计算。我为了方便看懂,特意找了个刚上市没多久的新股来查看,这样的话,RSI的计算就比较好看懂了。我找的是688107安路科技-U这只股票。

上市第一根K线的收盘价是70.25,这根的RSI也是这个值。

第二根K线的收盘价是67.12,这根的RSI是68.69。我以为是通过第一根和第二根的收盘价加起来计算均值得到的,(67.12(当前一根收盘价)+70.25(上一根收盘价))/2=68.685,四舍五入之后是68.69,但是后面发现事情不是这么简单了。

第三根K线的收盘价是62.67,这根的RSI是65.68,如果按照上面说的方式计算,(62.67(当前一根收盘价)+67.12(上一根收盘价))/2=64.895,四舍五入跟图上的65.68相差甚远。尝试着这样计算了下(62.67(当前一根收盘价)+68.69(上一根SMA))/2=65.6775,这才发现SMA是这样计算的,最新一个值,加上前面一个SMA值*(N-1),然后求N均值,果然验证下之后发现确实如此。至此搞清了SMA的计算,那么SMA(MAX(CLOSE-LC,0),2,1)的计算,也就是当前一根K线收盘价-上一根K线收盘价,如果小于0,就用0跟前一根K线的SMA值求均值;如果大于0,就用这个差值跟前一根K线的SMA值求均值。搞清这个之后,这个RSI公式也就可以明白了RSI$1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;

为什么我们计算的RSI和同花顺通达信计算的值不一样相关推荐

  1. 70行代码实现同花顺,通达信,麦语言大部分技术指标公式

    MyTT是什么? MyTT将通达信,同花顺,文华麦语言等指标公式indicators,最简移植到Python中,核心库单个文件,仅百行代码,实现所有常见指标MACD,RSI,BOLL,ATR,KDJ, ...

  2. 通达信公式改写成python代码的最简实现方式

    MyTT MyTT是您量化工具箱里的瑞士军刀,精炼而高效,它将通达信,同花顺,文华麦语言等指标公式indicators,最简移植到Python中,核心库单个文件,仅百行代码,实现和转换同花顺通达信所有 ...

  3. 【QMT】给QMT量化交易软件安装和调用第三方库(举例通达信pytdx,MyTT,含代码)

    给QMT量化交易软件安装和调用第三方库(举例通达信pytdx,MyTT,含代码) 一.安装QMT 二.给QMT安装python 三.给QMT的python环境安装第三方库 1.准备python虚拟环境 ...

  4. 通达信,同花顺中国式SMA指标,EMA指数平均,MACD,RSI的最简python代码实现

    通达信,同花顺指标中的中国式SMA,EMA的python实现 同花顺,通达信指标计算有个非常重要的函数SMA,和EMA,下面仅仅用python库panadas和numpy的内置函数实现 import ...

  5. talib实现与通达信、同花顺一致的MACD、KDJ指标

    talib实现的MACD与国内软件厂商实现的不太一致,需要自行定义和调整.提供通达信.同花顺 MACD Talib实现. 同花顺和通达信等软件中的SMA,是KDJ_CN和RSI_CN的基础依赖 注意: ...

  6. python股票技术指标计算_通达信指标python都实现,python计算macd等技术指标,有什么包吗...

    Q1:python计算macd等技术指标,有什么包吗 有的,包的链接如下: https://github.com/lovelylain/pyctp/tree/master/example/ctp/ta ...

  7. [AHK]通达信联动到同花顺下单

    上面无需热键,鼠标滚轮自动实现通达信到同花顺联动,定制脚本50¥/小时. 以下为热键版,仅做示范 #Persistent #SingleInstance,ForcetdxTitle:="华泰 ...

  8. 通达信大智慧同花顺益盟操盘手股票指标公式编写从入门到精通-七天学会指标编写

    通达信大智慧同花顺益盟操盘手股票指标公式编写从入门到精通-七天学会指标编写

  9. 同花顺选股python开发_Funcat 将同花顺、通达信等的公式写法移植到了 Python 中

    Funcat Funcat 将同花顺.通达信.文华财经等的公式移植到了 Python 中. 同花顺.通达信.文华财经麦语言等公式的表达十分简洁,适合做技术分析. 苦于 Python 缺乏这种领域特定语 ...

最新文章

  1. redis cluster 集群 安装 配置 详解
  2. Spring - Java/J2EE Application Framework 应用框架 第 10 章 使用JDBC进行数据访问
  3. 跨服务器post数据失败:验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 machineKey 配置指定了相同的 validationKey 和验证算法。的解决办法
  4. c++ 中关于int,unsigned int , short的关系与应用
  5. java 本地方法栈_Java虚拟机栈和本地方法栈
  6. 【LeetCode笔记】543. 二叉树的直径(Java、dfs、二叉树)
  7. 信息学奥赛C++语言:短信计费
  8. Android利用温度传感器实现带动画效果的电子温度计
  9. 【luogu3368】模板 树状数组 2
  10. 支持64位的打印服务器,使用环境打印服务器是32位,添加共享的计算机是64位
  11. Lunix服务器上项目迁移命令
  12. 音频放大电路设计与制作
  13. 微信 心理测试 软件,敢不敢做一份微信版心理测试?
  14. SSL证书会不会过期?域名SSL证书过期了怎么办?
  15. 大数据与云计算网课答案
  16. 树莓派4B-安装64位操作系统
  17. 对转义字符“\”的理解
  18. roce和iwarp_InfiniBand, RDMA, iWARP, RoCE
  19. snownlp学习-微博情感分析
  20. PHP 单例模式实例与解析

热门文章

  1. Tomcat是什么东西?
  2. 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(20):用配方法化二次型为标准形
  3. 信息熵、相对熵和交叉熵
  4. CentOS修改Tomcat端口号
  5. C++进阶之路《C11新特性》
  6. 禅意Python - The Zen of Python
  7. 利用DW制作简单网页
  8. flask之flash
  9. 云服务器上的项目无法连接数据库,云服务器中项目连接数据库
  10. matlab行向量,列向量