I try to calculate ema with pandas but the result is not good. I try 2 techniques to calculate :
The first technique is the panda's function ewn:
window = 100
c = 2 / float(window + 1)
df['100ema'] = df['close'].ewm(com=c).mean()
Run Code Online (Sandbox Code Playgroud)
But the last result of this function gives. 2695.4 but the real result is 2656.2
The second technique is
window = 100
c = 2 / float(window + 1)
df['100sma'] = df['close'].rolling(window).mean()
df['100ema'] = (c * df['close']) + ((1 - c) * df['100sma'])
Run Code Online (Sandbox Code Playgroud)
The result is 2649.1 it's closer than first technique but is always not good
The sma function give the good result
** EDIT **
The response is
df['100ema'] = pd.Series.ewm(df['close'], span=window).mean()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6440 次 |
| 最近记录: |