• 关于利用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就是类似导数了

  • 相关阅读:
    K8S(七):关于Volume,PersistentVolume(PV),persistentVolumeClaim(PVC)
    java计算机毕业设计-游戏账号交易平台-演示录像-源程序+mysql+系统+lw文档+远程调试
    教你用Python 实现自动导入缺失的库
    Java8新特性之stream、map和reduce
    FPGA project : beep
    7.Prism框架之对话框服务
    卷积神经网络的常用改进
    【Datawhale】动手学数据分析
    Spring学习笔记
    牛客:FZ113 牛群的配对
  • 原文地址:https://blog.csdn.net/cjneo/article/details/134480639