文章目录

  • 一、公式
  • 二、DataFrame.ewm() 参数
    • com
    • span
    • halflife
    • alpha
    • min_periods
    • adjust
    • ignore_na
    • axis
  • 三、python 案例

一、公式

yt=(1−α)yt−1+αxty_{t} = (1-\alpha) y_{t-1} + \alpha x _{t} yt​=(1−α)yt−1​+αxt​
其中,xxx 是实际观测值

二、DataFrame.ewm() 参数

  • alpha、span、com、halflife 这四个参数必须选一指定
DataFrame.ewm(com         = None,span        = None, halflife    = None, alpha       = None, min_periods = 0, adjust      = True, ignore_na   = False, axis        = 0, times       = None, method      = 'single'
)

com

  • float,可选
  • 根据质心指定衰减
  • α=11+com,com≥0​​​​​​​\alpha = \frac{1}{1+com}, com≥0​​​​​​​α=1+com1​,com≥0​​​​​​​

span

  • float,可选
  • 根据范围指定衰减
  • α=2span+1,span≥1​​α=\frac{2}{span+1},span≥1​​α=span+12​,span≥1​​

halflife

  • float,可选
  • 根据半衰期指定衰减
  • α=1−elog12hallife,,halflife>0​​α=1−e^{\frac{log\frac{1}{2}}{hallife},} ,halflife>0​​α=1−ehallifelog21​​,,halflife>0​​

alpha

  • float,可选
  • 指定平滑系数α​
  • 0<α≤10<α≤10<α≤1​

min_periods

  • int,默认为0
  • 窗口中具有值的最小观察数(否则结果为NA)

adjust

  • bool,默认为True,即进行误差修正
  • True: yt=xt+(1−α)xt−1+(1−α2)xt−2+...+(1−αt)x01+(1−α)+(1−α2)+...+(1−αt)y_{t} = \frac{x_{t}+(1-\alpha)x_{t-1}+(1-\alpha ^{2})x_{t-2}+...+(1-\alpha ^{t})x_{0}}{1+(1-\alpha)+(1-\alpha ^{2})+...+(1-\alpha ^{t})}yt​=1+(1−α)+(1−α2)+...+(1−αt)xt​+(1−α)xt−1​+(1−α2)xt−2​+...+(1−αt)x0​​
  • Fasle:
    y0=x0,t=0yt=(1−α)yt−1+αxt,t>0\begin{aligned} & y_{0} = x_{0} , & t = 0 \\ & y_{t} = (1-\alpha) y_{t-1} + \alpha x _{t}, & t>0 \end{aligned} ​y0​=x0​,yt​=(1−α)yt−1​+αxt​,​t=0t>0​

ignore_na

  • bool,默认为False

  • 计算权重时忽略缺失值;指定True重现0.15.0版本之前的行为。

axis

  • {0或者’index’,1或‘columns’},默认为0,标识行,值1标识列。

三、python 案例

  • 生成测试数据集
import pandas as pddata = [203.8,214.1,229.9,223.7,220.7,198.4,207.8,228.5,206.5,226.8,247.8,259.5]
df = pd.DataFrame(data,columns=['data'])

  • 使用ewm函数计算指数加权移动平均
  • α=0.3\alpha=0.3α=0.3
  • 不进行误差修正,即采用 yt=(1−α)yt−1+αxt,t>0y_{t} = (1-\alpha) y_{t-1} + \alpha x _{t}, t>0yt​=(1−α)yt−1​+αxt​,t>0
  • y1=0.7∗203.8+0.3∗214.1=206.89y_{1} = 0.7*203.8+0.3*214.1 = 206.89y1​=0.7∗203.8+0.3∗214.1=206.89
df.ewm(alpha=0.3,adjust=False).mean()

  • 参考:pandas.DataFrame.ewm
  • 参考:做梦当财神–博客园
  • 参考:EWMA(指数加权平均法)in Python(更新ing)

python pandas ewm 一次指数加权移动平均相关推荐

  1. Python 金融量化 均线系统交易策略专题(简单移动平均,加权移动平均,指数加权移动平均,异同移动平均MACD等解读与绘图)

    捕捉趋势最普遍的方法为移动平均线,根据求平均的方式不同,移动平均数又可分为简单移动平均数(Simple Moving Average, SMA),加权移动平均数(Weighted Moving Ave ...

  2. java 移动平均_EWMA之——EWMA指数加权移动平均模型的Java实现

    具体代码如下: package com.lyz.storm.ewma; import java.io.Serializable; /** * 实现指数移动平均值计算 * 实现中使用了流式风格的buil ...

  3. EWMA之——EWMA指数加权移动平均模型的Java实现

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/79141435 具体代码如下: package com.lyz.storm.ewma ...

  4. EWMA 指数加权移动平均 模型

    Exponentially Weighted Moving Average(EWMA)指数加权移动平均是一种常用的序列数据处理方式,如下: 在时间 t, 根据实际的观测值(或量测值)我们可以求取 EW ...

  5. EWMA(Exponentially Weighted Moving Average)指数加权移动平均

    原博:http://blog.csdn.net/sony_zhang/article/details/7256646 EWMA(Exponentially Weighted Moving Averag ...

  6. 神经网络基础--指数加权移动平均ewma

    因为神经网络中的常用优化算法都会涉及到指数加权移动平均(exponential weighted moving average, ewma:也可称为exponential moving average ...

  7. EWMA 指数加权移动平均

    EWMA(Exponentially Weighted Moving Average)指数加权移动平均,是一种常用的序列数据处理方式. 在t时刻,根据实际的观测值可以求取EWMA(t):EWMA(t) ...

  8. java判断均线_EWMA:EWMA指数加权移动平均模型的Java实现

    具体代码如下: package com.lyz.storm.ewma; import java.io.Serializable; /** * 实现指数移动平均值计算 * 实现中使用了流式风格的buil ...

  9. 量化均线策略-简单移动平均数、指数加权移动平均数、双均线交叉和异同移动平均线(MACD)...

    概述 根据求平均的方式不同,可以有简单移动平均数( Simple moving Average,SMA).加权移动平均数( Weighted Moving Average,WMA)和指数移动平均数(E ...

  10. Matlab正态分布、历史模拟法、加权移动平均线 EWMA估计风险价值VaR和回测标准普尔指数 SP500时间序列...

    原文链接:http://tecdat.cn/?p=24480 此示例说明如何使用三种方法估计风险价值 (VaR) 并执行 VaR 回测分析.这三种方法是:(点击文末"阅读原文"获取 ...

最新文章

  1. 营销3.0时代的营销特征
  2. Adam又要“退休”了?耶鲁大学团队提出AdaBelief
  3. window7 ubuntu12.04 Opensuse13.04 三系统安装
  4. 时间序列里面最强特征之一
  5. 一个用python做的完整项目_我从一个小项目学习Python编程的全过程(二)
  6. [Unity3D]Unity3D游戏开发Lua随着游戏的债券(于)
  7. 求一架构 : 保留历史数据
  8. python--从入门到实践--chapter 10 文件及错误
  9. imgaug批量椒盐噪声 python_python图像扩增-imgaug
  10. servu无法显示远程文件夹_win10软件:解决文件资源管理器无法显示文件夹大小...
  11. mysql 200列_认识mysql(2)
  12. PHP第三方登录—OAuth2.0协议
  13. html 中电话号码的使用
  14. 华中科技大学历年计算机专业分数线,【华中科技大学】历年在各省份各专业的录取分数线...
  15. ankhsvn vs2017 64位下载 v2.7.12815
  16. Java设计模式之观察者模式应用与实战
  17. python求残差_用Python计算Pearson标准残差
  18. 基于粒子群优化算法的微型燃气轮机冷热电联供系统优化调度(Matlab代码实现)
  19. js 树形结构数据 已知某一子节点 一次向上获取所有父节点
  20. (64位)opengl配置+vs2017+glew+glfw

热门文章

  1. 快速了解FTTx/FTTC/FTTB/FTTH
  2. 电路设计_元器件选型总结1
  3. 谷歌与IE浏览器兼容问题
  4. Android中SQList用法
  5. 二进制、十进制和16进制对照表以及对应的字符
  6. 16QAM调制解调和误码率
  7. 复盘:pearson皮尔森相关系数和spearman斯皮尔曼相关系数的区别
  8. iOS逆向(八)逆向工具 otool 介绍
  9. STM32分类及命名规则——学习笔记(1)
  10. 解决jsp中文乱码的两种方式