0
私はfollowing方法で計算された平均(EMA)の移動指数関数に慣れています:使用パンダとEWMA
SMA: 10 period sum/10
Multiplier: (2/(Time periods + 1)) = (2/(10 + 1)) = 0.1818 (18.18%)
EMA: {Close - EMA(previous day)} x multiplier + EMA(previous day).
はまだ私は、このアプローチに一致する出力が表示されないpd.ewma(df['Close'])
を実行したとき。
次のコードは、私が期待している答えを示していますが、実行に少し時間がかかります。
誰でも私が期待している出力を与えるためにこのライブラリを活用する正しい方法は何ですか?
import pandas.io.data as web
import datetime
import pandas as pd
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime.today()
f = web.DataReader("SPY", 'yahoo', start, end)
f['sma']=pd.rolling_mean(f['Adj Close'],10)
days=10.
alpha=(2./(days+1.))
d={}
for x in f[(f['sma']>0)].index:
if len(d)==0:
d[x] = f[(f.index==x)]['sma'].values[0]
else:
d[x] = (f[(f.index==x)]['Adj Close'].values[0] - d[dt_prior])*alpha + d[dt_prior]
dt_prior = x
pd.Series(d)
コードが定数更新Webサービスからデータを読み取っているようです。期待どおりの結果と実際の結果で、最小限の再現可能な例をいくつか提供できますか? – Mephy