python pandas ewm 一次指数加权移动平均
文章目录
- 一、公式
- 二、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 一次指数加权移动平均相关推荐
- Python 金融量化 均线系统交易策略专题(简单移动平均,加权移动平均,指数加权移动平均,异同移动平均MACD等解读与绘图)
捕捉趋势最普遍的方法为移动平均线,根据求平均的方式不同,移动平均数又可分为简单移动平均数(Simple Moving Average, SMA),加权移动平均数(Weighted Moving Ave ...
- java 移动平均_EWMA之——EWMA指数加权移动平均模型的Java实现
具体代码如下: package com.lyz.storm.ewma; import java.io.Serializable; /** * 实现指数移动平均值计算 * 实现中使用了流式风格的buil ...
- EWMA之——EWMA指数加权移动平均模型的Java实现
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/79141435 具体代码如下: package com.lyz.storm.ewma ...
- EWMA 指数加权移动平均 模型
Exponentially Weighted Moving Average(EWMA)指数加权移动平均是一种常用的序列数据处理方式,如下: 在时间 t, 根据实际的观测值(或量测值)我们可以求取 EW ...
- EWMA(Exponentially Weighted Moving Average)指数加权移动平均
原博:http://blog.csdn.net/sony_zhang/article/details/7256646 EWMA(Exponentially Weighted Moving Averag ...
- 神经网络基础--指数加权移动平均ewma
因为神经网络中的常用优化算法都会涉及到指数加权移动平均(exponential weighted moving average, ewma:也可称为exponential moving average ...
- EWMA 指数加权移动平均
EWMA(Exponentially Weighted Moving Average)指数加权移动平均,是一种常用的序列数据处理方式. 在t时刻,根据实际的观测值可以求取EWMA(t):EWMA(t) ...
- java判断均线_EWMA:EWMA指数加权移动平均模型的Java实现
具体代码如下: package com.lyz.storm.ewma; import java.io.Serializable; /** * 实现指数移动平均值计算 * 实现中使用了流式风格的buil ...
- 量化均线策略-简单移动平均数、指数加权移动平均数、双均线交叉和异同移动平均线(MACD)...
概述 根据求平均的方式不同,可以有简单移动平均数( Simple moving Average,SMA).加权移动平均数( Weighted Moving Average,WMA)和指数移动平均数(E ...
- Matlab正态分布、历史模拟法、加权移动平均线 EWMA估计风险价值VaR和回测标准普尔指数 SP500时间序列...
原文链接:http://tecdat.cn/?p=24480 此示例说明如何使用三种方法估计风险价值 (VaR) 并执行 VaR 回测分析.这三种方法是:(点击文末"阅读原文"获取 ...
最新文章
- 营销3.0时代的营销特征
- Adam又要“退休”了?耶鲁大学团队提出AdaBelief
- window7 ubuntu12.04 Opensuse13.04 三系统安装
- 时间序列里面最强特征之一
- 一个用python做的完整项目_我从一个小项目学习Python编程的全过程(二)
- [Unity3D]Unity3D游戏开发Lua随着游戏的债券(于)
- 求一架构 : 保留历史数据
- python--从入门到实践--chapter 10 文件及错误
- imgaug批量椒盐噪声 python_python图像扩增-imgaug
- servu无法显示远程文件夹_win10软件:解决文件资源管理器无法显示文件夹大小...
- mysql 200列_认识mysql(2)
- PHP第三方登录—OAuth2.0协议
- html 中电话号码的使用
- 华中科技大学历年计算机专业分数线,【华中科技大学】历年在各省份各专业的录取分数线...
- ankhsvn vs2017 64位下载 v2.7.12815
- Java设计模式之观察者模式应用与实战
- python求残差_用Python计算Pearson标准残差
- 基于粒子群优化算法的微型燃气轮机冷热电联供系统优化调度(Matlab代码实现)
- js 树形结构数据 已知某一子节点 一次向上获取所有父节点
- (64位)opengl配置+vs2017+glew+glfw