ewma60=pd.ewma(aapl_px,span=60)
改为

ewma60 = pd.DataFrame.ewm(aapl_px,span=60).mean()

ATR = pd.Series(TR_s.ewm(span=n, min_periods=n).mean())
    UpI = pd.Series(UpI)
    DoI = pd.Series(DoI)
    # PosDI = pd.Series(pd.ewma(UpI, span=n, min_periods=n - 1) / ATR)
    # NegDI = pd.Series(pd.ewma(DoI, span=n, min_periods=n - 1) / ATR)
    # ds = pd.Series(pd.ewma(abs(PosDI - NegDI) / (PosDI + NegDI), span=n_ADX, min_periods=n_ADX - 1), name=xnam)
    
    PosDI = pd.Series(UpI.ewm(span=n, min_periods=n - 1).mean() / ATR)
    NegDI = pd.Series(DoI.ewm(span=n, min_periods=n - 1).mean()/ ATR)
    ds = pd.Series(abs(PosDI - NegDI) / (PosDI + NegDI).ewm(span=n_ADX, min_periods=n_ADX - 1).mean(), name=xnam)

import logging
import pandas as pd
import numpy as np
 
log = logging.getLogger(__name__)
 
 
def moving_average(df, n):
    """计算股价的moving average.
    参考: https://blog.csdn.net/FrankieHello/article/details/85938381
    
    :param df: pandas.DataFrame
    :param n:
    :return: pandas.DataFrame
    """
    MA = pd.Series(df['close'].rolling(n, min_periods=n).mean(), name='MA_' + str(n))
    df = df.join(MA)
    return df
 
 
def exponential_moving_average(df, n):
    """
    计算股价的exponential moving average
    参考:https://www.cnblogs.com/wuliytTaotao/p/9479958.html
    :param df: pandas.DataFrame
    :param n:
    :return: pandas.DataFrame
    """
    EMA = pd.Series(df['close'].ewm(span=n, min_periods=n).mean(), name='EMA_' + str(n))
    df = df.join(EMA)
    return df
 
 
def momentum(df, n):
    """
    计算动力
    参考:http://www.waihuibang.com/fxschool/technical/54505.html
    :param df: pandas.DataFrame
    :param n:
    :return: pandas.DataFrame
    """
    M = pd.Series(df['close'].diff(n), name='Momentum_' + str(n))
    df = df.join(M)
    return df
 
 
def rate_of_change(df, n):
    """
    计算变化率
    参考:https://www.tradingview.com/wiki/Rate_of_Change_(ROC)
    :param df: pandas.DataFrame
    :param n:
    :return: pandas.DataFrame
    """
    M = df['close'].diff(n - 1)
    N = df['close'].shift(n - 1)
    ROC = pd.Series(M / N, name='ROC_' + str(n))
    df = df.join(ROC)
    return df
 
 
def average_true_range(df, n):
    """
    
    :param df: pandas.DataFrame
    :param n:
    :return: pandas.DataFrame
    """
    i = 0
    TR_l = [0]
    while i < df.index[-1]:
        TR = max(df.loc[i + 1, 'high'], df.loc[i, 'close']) - min(df.loc[i + 1, 'low'], df.loc[i, 'close'])
        TR_l.append(TR)
        i = i + 1
    TR_s = pd.Series(TR_l)
    ATR = pd.Series(TR_s.ewm(span=n, min_periods=n).mean(), name='ATR_' + str(n))
    df = df.join(ATR)
    return df
 
 
def bollinger_bands(df, n):
    """
    计算bolling bands
    :param df: pandas.DataFrame
    :param n:
    :return: pandas.DataFrame
    """
    MA = pd.Series(df['close'].rolling(n, min_periods=n).mean())
    MSD = pd.Series(df['close'].rolling(n, min_periods=n).std())
    b1 = 4 * MSD / MA
    B1 = pd.Series(b1, name='BollingerB_' + str(n))
    df = df.join(B1)
    b2 = (df['close'] - MA + 2 * MSD) / (4 * MSD)
    B2 = pd.Series(b2, name='Bollinger%b_' + str(n))
    df = df.join(B2)
    return df
 
 
 
def stochastic_oscillator_k(df):
    """
    :param df: pandas.DataFrame
    :return: pandas.DataFrame
    """
    SOk = pd.Series((df['close'] - df['low']) / (df['high'] - df['low']), name='SO%k')
    df = df.join(SOk)
    return df
 
 
def stochastic_oscillator_d(df, n):
    """
    :param df: pandas.DataFrame
    :param n:
    :return: pandas.DataFrame
    """
    SOk = pd.Series((df['close'] - df['low']) / (df['high'] - df['low']), name='SO%k')
    SOd = pd.Series(SOk.ewm(span=n, min_periods=n).mean(), name='SO%d_' + str(n))
    df = df.join(SOd)
    return df
 
 
 
def macd(df, n_fast, n_slow):
    """Calculate MACD, MACD Signal and MACD difference
    
    :param df: pandas.DataFrame
    :param n_fast:
    :param n_slow:
    :return: pandas.DataFrame
    """
    EMAfast = pd.Series(df['close'].ewm(span=n_fast, min_periods=n_slow).mean())
    EMAslow = pd.Series(df['close'].ewm(span=n_slow, min_periods=n_slow).mean())
    MACD = pd.Series(EMAfast - EMAslow, name='MACD_' + str(n_fast) + '_' + str(n_slow))
    MACDsign = pd.Series(MACD.ewm(span=9, min_periods=9).mean(), name='MACDsign_' + str(n_fast) + '_' + str(n_slow))
    MACDdiff = pd.Series(MACD - MACDsign, name='MACDdiff_' + str(n_fast) + '_' + str(n_slow))
    df = df.join(MACD)
    df = df.join(MACDsign)
    df = df.join(MACDdiff)
    return df
 
 
def ease_of_movement(df, n):
    """Ease of Movement for given data.
    
    :param df: pandas.DataFrame
    :param n:
    :return: pandas.DataFrame
    """
    EoM = (df['high'].diff(1) + df['low'].diff(1)) * (df['high'] - df['low']) / (2 * df['volume'])
    Eom_ma = pd.Series(EoM.rolling(n, min_periods=n).mean(), name='EoM_' + str(n))
    df = df.join(Eom_ma)
    return df
 
 
 
def standard_deviation(df, n):
    """计算标准差.
    
    :param df: pandas.DataFrame
    :param n:
    :return: pandas.DataFrame
    """
    df = df.join(pd.Series(df['close'].rolling(n, min_periods=n).std(), name='STD_' + str(n)))
    return df
————————————————
版权声明:本文为CSDN博主「Alphapeople」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38241876/article/details/110129990

Python-AttributeError: module ‘pandas‘ has no attribute ‘ewma‘报错解决方法相关推荐

  1. 【解决问题】AttributeError: module ‘pandas‘ has no attribute ‘ewma‘报错解决方法

    将 ewma60=pd.ewma(aapl_px,span=60) 改为 ewma60 = pd.DataFrame.ewm(aapl_px,span=60).mean()

  2. 解决问题】AttributeError: module 'pandas' has no attribute 'ewma'报错解决方法

    将 ewma60=pd.ewma(aapl_px,span=60) 改为 ewma60 = pd.DataFrame.ewm(aapl_px,span=60).mean()

  3. AttributeError: module ‘tushare‘ has no attribute ‘get_k_data‘报错解决方法

    出现标题所示错误时,出错原因是你的python文件命名成了tushare.py,python解释器解析代码的时候从你的文件里找函数未找到而报错.

  4. AttributeError: module 'pandas' has no attribute 'ewma'(已解决)

    如题所示,这种问题一般都是模块更新过后一些函数更改了. version 0.18.0之后改成ewm()这个函数了. pd.ewm()官方文档 DataFrame.ewm(com=None, span= ...

  5. AttributeError: 'function' object has no attribute 'Document'报错解决

    原因是函数名称和系统中的某个名称相同的,替换另外的名字就行了 报错代码: #读取docx中的文本代码示例 import docx def docx():file=docx.Document(filen ...

  6. Python中使用pandas报错“module 'pandas' has no attribute 'ewma'”,问题原因及解决方法

    系统报错:module 'pandas' has no attribute 'ewma' 报错语句:pd.ewma(stock_data['close'], span=ma) 解决方式:将语句改为pd ...

  7. 出现module ‘xgboost‘ has no attribute ‘DMatrix‘的临时解决方法

    出现module 'xgboost' has no attribute 'DMatrix'的临时解决方法 问题根源: 初学者或者说不太了解Python才会犯这种错误,其实只需要注意一点!不要使用任何模 ...

  8. Python 中文注释报错解决方法

    Python 中文注释报错解决方法 参考文章: (1)Python 中文注释报错解决方法 (2)https://www.cnblogs.com/cjiong/p/5881983.html 备忘一下.

  9. 关于运行robot framework 报错解决方法,ModuleNotFoundError: No module named ‘robot‘

    关于运行robot framework 报错解决方法,ModuleNotFoundError: No module named 'robot' 参考文章: (1)关于运行robot framework ...

最新文章

  1. Android中View如何刷新
  2. C语言连接MYSQL存取数据的一个例子
  3. 2018年春阅读计划---阅读笔记4
  4. linux中python安装_linux环境下的python安装过程图解(含setuptools)
  5. 感悟:web前端工程师该如何定位
  6. 编程体系结构(05):Java多线程并发
  7. win10系统windows hello无法设置 windows hello设置开启教程
  8. FTP服务器架设速成手册
  9. 单片机(ISIS 7 Professional):简易红绿灯代码项目
  10. 解决卡米,安心卸载MIUI预装软件。
  11. python基于Suprise模块构建推荐算法模型,实现电影、书籍等资源的推荐
  12. 唱歌气沉丹田怎么做 气沉丹田的口诀
  13. PHP 函数的完整参考手册
  14. kmplayer 修改快捷键——以倍速播放为例
  15. mysql increment_mysql中auto_increment是干什么的?
  16. asp.net师电子化信息库的设计与实现(源代码+论文)ASP.NET汽车销售管理系统的设计与开发(源代码+论文)
  17. php 判断字数,php统计字数
  18. 「囚徒困境」有哪些现实的例子?
  19. Linux学习笔记------java学习
  20. 【来日复制粘贴】使用公式提取数据

热门文章

  1. 20分钟降服Linux三剑客老大awk,让人拍案叫绝
  2. 构建智慧城市的“新细胞”:“未来社区”
  3. C语言的贪心法(大嘴法)
  4. 每一个想成功的程序员读一读此
  5. 安装visual studio后,打开excel提示安装Office自定义项出错
  6. android3d前行,攀登金字塔3D安卓版
  7. [企业管理]我父亲遇到的一个黑心老板的经历,谈一下工伤赔偿的问题
  8. ubuntu14.04 + caffe
  9. 表情包(CoreIDRAW)
  10. linux 随机密码更改,如何在Linux中生成EncryptDecrypt随机密码