def SMMA(column,N):
for i in range(len(column)):
if i <= N:
SMMA(i) = np.nan()
elif i == N + 1:
SMMA(i) = column[:N].mean()
else:
SMMA(i) = (SMMA(i-1)*N + column[i])/ N
Сглаженное скользящее среднее (SMMA) - один из моих любимых инструментов финансового анализа. Он отличается от хорошо известного инструмента Просто скользящее среднее. ниже приведено определение, а выше - мой код, но IDE постоянно сообщает мне об ошибке синтаксиса:
File "<ipython-input-13-fdcc1fd914c0>", line 6
SMMA(i) = column[:N].mean()
^SyntaxError: can't assign to function call
Определение SMMA:
Первое значение этой сглаженной скользящей средней рассчитывается как простая скользящая средняя (SMA):
SUM1 = СУММА (ЗАКРЫТЬ (i), N)
SMMA1 = SUM1 / N
Второе скользящее среднее рассчитывается по следующей формуле:
SMMA (i) = (SMMA1 * (N-1) + ЗАКРЫТЬ (i)) / N
Последующие скользящие средние рассчитываются по следующей формуле:
PREVSUM = SMMA (i - 1) * N
SMMA (i) = (ПРЕДЫДУЩАЯ - SMMA (i - 1) + ЗАКРЫТЬ (i)) / N