首页 > 解决方案 > 是否有比 for 循环更快的方法来创建指数移动平均线?

问题描述

有没有比 for 循环更快的方法来创建指数移动平均线?

我将 exp_aves 的前 n 个值设置为前 n 个观测值的平均值。

def exp_mov_ave(observations, n):

    exp_ave = np.mean(observations[0:n])    
    
    lambdak = (n - 1) / (n + 1)
    exp_aves = []

    for i,element in enumerate(observations):
        if (i >= n):
            exp_ave = (lambdak * exp_ave) + ((1 - lambdak) * element)

        exp_aves.append(exp_ave)

    return np.array(exp_aves)

标签: python-3.xnumpy

解决方案


推荐阅读