• 关于利用talib.macd函数计算macd指标与同花顺不一致的问题


    首先我们来看下Macd指标计算方法:

    12日EMA的计算:EMA12 = 前一日EMA12 * 11/13 + 今日收盘 * 2/13

    26日EMA的计算:EMA26 = 前一日EMA26 * 25/27 + 今日收盘 * 2/27

    差离值(DIF)的计算: DIF = EMA12 - EMA26

    9日DEA = 前一日DEA * 8/10 + 今日DIF * 2/10

    BAR=(DIF-DEA)*2

    Talib.MACD返回三个值,分别是macd, signal, hist,三个返回值分别对应上面的计算指标DIF、DEA、BAR。即macd=DIF,signal=DEA,hist=BAR。

            当我们利用talib计算macd指标时,发现talib计算出的macd指标与同花顺等行情软件计算的指标不一致,原因在于计算macd指标时,需要初始化第一天的ema12、ema26、diff、dea。同花顺等行情软件计算macd指标,是从股票上市第一天开始计算,上市第一天的diff初始化为0,dea初始化为0,ema12=ema26初始化为当天的收盘价。而当我们用talib.MACD计算macd指标时,使用的历史行情一般是某段行情,并不是从开盘开始计算,eam12=eam26初始化为我们取的第一天的行情,diff和dea初始化为0。因此talib计算出的macd指标与同花顺的macd指标不一致。利用talib计算macd指标时,前33个值为空,猜测33个值是否是用来迭代的,当迭代足够多次数后,talib计算的macd指标与同花顺的指标误差就在一定范围内。
    ————————————————
    版权声明:本文为CSDN博主「__LeeKuanYew」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/u012724887/article/details/105358115

    diff 成为快线 dea 称为慢线,首先EMA可以看作是对近期价格变化的敏感的线。

    那么diff是 价格变化的一次导数,(需要除以价格),那么与dea是更加慢的线。

    那么macd就是类似导数了

  • 相关阅读:
    物业公司如何解决降本增收?快鲸智慧社区系统来帮你
    什么是零代码?无代码和低代码开发平台该如何抉择?
    【profinet】从站开发要点
    用 SpringBoot 和 SSE 打造动态前端更新的终极指南
    Linux 必知必会
    Nebula graph 源码 学习笔记
    多线程解决需求
    【Java SE】数据类型与变量
    Linux入门之多线程|线程的同步|生产消费模型
    【C++基础】13. 结构体
  • 原文地址:https://blog.csdn.net/cjneo/article/details/134480639