tr Atr
0 0.00276 0.00276
1 0.01455 NaN
2 0.00895 NaN
3 0.00816 NaN
4 0.00596 NaN
5 0.00816 NaN
6 0.00844 NaN
7 0.01150 NaN
8 0.00473 NaN
9 0.00502 NaN
Please how to do a apply this formula to each tr
Atr = (prev_Atr * (14 - 1) + tr) / 14
what i want to do is
df["Atr"] = lambda x, y: (x * (14 -1) + y)/14
but i dont know how to assign
x = prev_Atr & y = tr
It seems you are looking for a rolling computation. But its not a simple sum() or such. You can achieve what you want with a simple for loop:
for i in df.index[1:]:
df['Atr'].iloc[i] = (df['Atr'].iloc[i-1]*13 + df['tr'].iloc[i])/14
print(df):
tr Atr
0 0.00276 0.002760
1 0.01455 0.003602
2 0.00895 0.003984
3 0.00816 0.004282
4 0.00596 0.004402
5 0.00816 0.004671
6 0.00844 0.004940
7 0.01150 0.005408
8 0.00473 0.005360
9 0.00502 0.005336