pandas 的指数移动平均线

Exponential moving average on pandas

我在为 pandas 数据框制作指数移动平均线时遇到了一些麻烦。我设法制作了一个简单的移动平均线,但我不确定如何制作一个指数移动平均线。我想知道 pandas 中是否有一个函数或者另一个模块可以帮助解决这个问题。理想情况下,指数移动平均线将位于我的数据框中的另一列中。这是我的代码:

import pandas as pd
import datetime as dt
import yfinance as yf

#Get initial paramaters
start = dt.date(2020,1,1)
end = dt.date.today()
ticker = 'SPY'

#Get df data
df = yf.download(ticker,start,end,progress=False)

#Make simple moving average 
df['SMA'] = df['Adj Close'].rolling(window=75,min_periods=1).mean()

谢谢

使用ewm方法:

df['SMA'] = df['Adj Close'].ewm(span=75, min_periods=1).mean()

注意。仔细检查参数的文档,因为没有 window,您应该使用 comspanhalflifealpha 之一来代替