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
,您应该使用 com
、span
、halflife
或 alpha
之一来代替
我在为 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
,您应该使用 com
、span
、halflife
或 alpha
之一来代替