pu369com

[学习记录]dataframe的ewm()方法

以下内容均为借鉴 Jon Snow(不想当韭菜的码农不是好交易员)知乎内容,予以感谢。

pandas库中的ewm(),是我学习量化以来第一个卡住的地方,越学发现和数学的紧密程度越高。

1
DataFrame.ewm(self, com=None, span=None, halflife=None, alpha=None, min_periods=0, adjust=True, ignore_na=False, axis=0)

  

提供index加权函数,

com:根据质心指定衰减, α=1/(1+com), for com≥0

span :根据范围指定衰减, α=2/(span+1), for span≥1

halflife :根据半衰期指定衰减, α=1−exp(log(0.5)/halflife),forhalflife>0

alpha:直接指定平滑系数α, 0<α≤1

min_periods :窗口中具有值的最小观察数

示例:

1
2
3
4
5
import pandas as pd
import numpy as np
df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]})
print(df)
print(df.ewm(span=2).mean())

  结果:

1
2
3
4
5
6
7
8
9
10
11
12
  B
0  0.0
1  1.0
2  2.0
3  NaN
4  4.0
          B
0  0.000000
1  0.750000
2  1.615385
3  1.615385
4  3.670213

  

posted on   pu369com  阅读(588)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示