程式

在不保存前 N 個週期值的情況下計算簡單移動平均線的有效方法是什麼?

  • April 30, 2017

我想計算週期為“N”的股票價格的簡單移動平均線 (SMA)。

4 週期移動平均線的正常公式是

MA = (a + b + c + d) / 4

對於新條目 e,我們執行以下操作:

MA(新) = (b + c + d + e) / 4

這裡的問題是我需要儲存 N 個週期的價格。我嘗試了多種方法,例如

新平均值 = {(Old_Average x N) + (New_Data_Point - Old_Average)}/N

但我失去了精度。

唯一的目的是減少對前一周期數組值的依賴。任何人都可以請幫忙。提前致謝。

這是不可能的。你需要記住尾巴。

我建議在這種情況下使用指數平滑。否則,對於簡單的移動平均線,您必須應用某種近似值。在我看來,這樣做沒有意義。

您是否嘗試過利用指數衰減的移動平均線?它是根據您的需要通過更新規則計算的,我想缺點是它不像您提到的移動平均線那樣具有有限的“記憶”。

它將被定義為 x(t) = x(t-1)*L + (1-L)*y(t) 其中 x(t) 是移動平均線的值,y(t) 是新值您正在計算的系列的移動平均值和 0 < L < 1 是控制移動平均視窗的“長度”的固定參數(當 L 從 1 向下移動到 0 時,視窗的長度會減小)

引用自:https://quant.stackexchange.com/questions/33955