技術

獲得最新歷史點的準確 EMA/MACD 的最小歷史數據大小是多少

  • April 5, 2012

目前,我有 10 年的歷史數據。

大多數時候,我只對獲取最後一個歷史點(即昨天點)的 EMA/MACD 感興趣。我不想使用整個 10 年的歷史,而只想提供 N 個數據點,以便快速計算,但得到一個合理準確的 EMA。目前,這是我確定有多少 N 數據的方法。

9 days SMA lookback = 8
9 days EMA lookback = 8
9 days 12/26 MACD lookback = 33

final int scale = 2;
startIndex = historyDataSize - ((lookback + 1) * scale);
for (int i = startIndex; i < historyDataSize; i++) {
   // ...
}

我知道我可以進一步增加scale以獲得合理的良好 EMA/MACD 結果。問題是,為了快速計算的目的,我應該增加多少,但合理準確?

幾個月前我實現了這些算法!我只會將您需要的數據點數量增加一倍。如果您需要 10 天 EMA,請獲取 20 個數據點。對於 MACD,您需要 EMA,因此將它們加在一起然後加倍。這是包含一個 Excel 電子表格的算法,您可以與之進行比較:

http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_averages

他們在圖表上聲稱使用 200 多天來確保准確性,但請記住,股票價格只有 2 位小數,通常是 4 位有效數字,便士股票最多有 4 位小數。所以大多數時候你不需要比小數點後 2 位更準確的東西。滑點更重要!

如果您想要超級準確,並具有動態的“比例”或“回溯”,您可以使用增加的“比例”或指數級更大的歷史樣本(x2、x4、x8、…)來計算指標,直到兩者之間的差異最終結果彼此相差 4 位有效數字。那麼你就不需要更多的準確性了。您可以每次都這樣做,也可以使用整個市場一年的數據來“校準”它,然後取“規模”的平均值。

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