2012-04-14 56 views
5

我有一個時間序列的股票價格,並希望計算10分鐘窗口內的移動平均線(見下圖)。由於價格蜱偶爾出現(即它們是而不是週期性),計算時間加權移動平均值似乎是最公平的。計算時間加權移動平均線

Time Series

在該圖中有四個價格變動:A,​​B,C和d,與後者三個窗口內部發生。請注意,因爲B僅在窗口內出現一段時間(比如3分鐘),所以A的值仍然有助於計算。實際上,據我所知,計算應該完全基於A,B和C的值(而不是 D)以及它們和下一點之間的持續時間(或者在A的情況下:從時間窗口開始到B)之間的持續時間。最初D不會有任何影響,因爲它的時間加權將爲零。 這是正確的嗎?

假設這是正確的,我擔心的是移動平均值將比非加權計算「更滯後」(它將立即解釋D的值),然而,非加權計算具有它自己的缺點:

  • 「A」對結果的影響與其他價格一樣,儘管不在時間窗口之內。
  • 快價格蜱的突然一陣會嚴重偏置均線(雖然也許這是可取的?)

任何人都可以享有哪些方法似乎最好的,或者是否有另一種(或混合)的任何建議值得考慮的方法?

回答

4

你的推理是正確的。你想用什麼平均值?不知道很難給出任何建議。也許另一種選擇是考慮你的跑步平均值A,當新值V進來時,計算新的平均值A'爲(1-c)* A + c * V,其中c在0之間和1.這樣,最近的蜱具有更強的影響力,並且老蜱的影響隨着時間消失。你甚至可以取決於自上一次滴答以來的時間(隨着滴答越來越近,c越小)。

在第一個模型(加權)中,每秒的平均值會有所不同(因爲舊的讀數得到較低的權重和新的讀數較高),所以它總是在變化,這可能不是所期望的。採用第二種方法時,價格會隨着新價格的引入而突然跳升,舊價格從窗口中消失。

+0

謝謝;根據上一次打勾的時間調整c是一個好主意。這意味着我可以將時間加權因子考慮在內,而不必保持很多附加狀態。 – Adamski 2012-04-16 11:43:47

+1

該公式被稱爲[布朗的簡單指數平滑](http://en.wikipedia.org/wiki/Exponential_smoothing#The_simple_moving_average)。我現在正在維基百科上閱讀它,所以只是覺得我會插話。 – HappyNomad 2014-12-05 08:26:13

3

是的,移動平均線當然會滯後。這是因爲它的價值是歷史信息:它總結了過去10分鐘內的價格樣本。這種平均值本質上是「滯後的」。它有一個內置的五分鐘偏移量(因爲沒有偏移量的平均值將基於+/- 5分鐘,以樣本爲中心)。如果價格長時間處於A並且然後更改一次爲B,則平均達到(A + B)/ 2需要5分鐘。

如果您想要平均/平滑某個功能在領域的任何轉變,重量必須均勻分佈在採樣點周圍。但是這對於實時發生的價格是不可能的,因爲未來的數據是不可用的。

如果您希望最近的更改(如D)具有更大的影響,請使用平均值,這會給最近的數據或更短的時間段或兩者更大的權重。

平滑數據的一種方法就是使用單個累加器(「平滑估計器」)E並定期採樣數據SE更新如下:

E = E + K(S - E) 

即當前價格樣本S和估計量E之間的差異的一個分數K(0和1之間)被加到E.假設價格長時間處於A,所以E在A,然後突然改變到B.估計器將以指數方式開始向B移動(如加熱/冷卻,電容器的充電/放電等)。起初,它會有一個大的跳躍,然後是越來越小的增量。它的移動速度取決於K.如果K是0,估計器根本不移動,如果K是1,它立即移動。使用K,您可以調整您對估計量與新樣本的權重。更隱含地給更多近期樣本賦予更多的權重,並且樣本窗口基本上延伸到無窮大:E基於所發生的每個值樣本。儘管當然很古老,但對當前價值幾乎沒有影響。一個非常簡單,美麗的方法。

+2

這與湯姆的回答相同。他的估計量新值的公式是'(1-K)E + KS',代數上與E + K(S-E)相同:它是當前估計量之間的「線性混合函數」 'E'和新樣本'S',其中'K'的值[0,1]控制混合。這樣寫就很好,很有用。如果K爲0.7,我們取S的70%和E的30%,這與將E和S之間的差值的70%加回到E相同。 – Kaz 2012-04-14 22:15:41

8

這兩個建議來自離散的世界,但您可能會從您的特定案例中找到靈感。

看看exponential smoothing。在這種方法中,引入平滑因子(α∈[0; 1]),它允許您更改最近元素對「預測」值的影響(舊元素按指數遞減權重):

s t =αx t-1 +(1 +α)s t-1;小號 = X

我已創建的指數平滑將如何追蹤一個統一的時間系列x=[1 1 1 1 3 3 2 2 2 1]一個簡單的動畫具有三個不同α= {0.3,0.6,0.9}:

enter image description here

也看看一些強化學習技術(查看不同的折扣方法),例如TD-learningQ-Learning

3

在擴大湯姆的回答,爲考慮到蜱之間的間隔的公式可以被形式化(接近蜱具有按比例較低的權重):

EMA Ñ = U * EMA n-1個 +( N - u)的* X n-1個 +(1 - v)的* X ñ

其中:

A =(T ñ - 噸 N-1)/ T
即是到達時間增量的比率超過平均間隔

Ù= E -a

v =(1-u)/ a(線性內插>,或者
v = u(下一點)v = 1(使用前一個點)或
v =

更多信息請參閱「高頻融資導論」第59頁。