時間序列

卡爾曼價格序列的均值和標準差

  • May 24, 2018

我喜歡使用卡爾曼濾波器計算價格序列的均值和標準差。我不知何故陷入了偏差,或者在理解方面有一些問題,這是我的研究無法解決的。

mean(t) =  mean(t-1) + K(t) * ( price(t) - mean(t-1) )

卡爾曼增益K(t) = R(t-1) / (R(t-1) + Ve)、狀態變異數R(t) = (1 - K(t)) * R(t-1)和測量誤差Ve實際上是一些預定義的參數,類似於簡單平均值的回溯期。

我讀過幾次,變異數R應該給出價格序列的某種變異數(以及標準偏差)。但是對於K < 1,R每次迭代都會變得更小,並且絕不是價格序列的偏差。這僅對要測量的恆定值有意義,每次測量迭代我們都會獲得更多確定性。我對卡爾曼濾波器的概念是否過於簡單?任何人都可以給我一個提示。

我建議先查看維基百科頁面並使用更多風格化的符號。

在您的更新方程式mean(t) = mean(t-1) + K(t) * ( price(t) - mean(t-1) )中,您基本上是在說您的狀態過程是mean(t)並且price(t)mean(t). 這聽起來不合法

另一方面,你可以有一個均值回復過程

$$ \text{price}(t) = \text{price}(t-1) + \alpha (\text{mean}(t-1) - \text{price}(t-1)) $$ 雖然看起來很相似,但它與卡爾曼濾波器中的更新方程有著根本的不同。

那麼這個過程的狀態向量可以是 $ X_t = \begin{bmatrix}\text{price}(t) \ \text{mean}(t) \end{bmatrix} $ 和狀態轉移方程可以是

$$ \begin{bmatrix}\text{price}(t) \ \text{mean}(t) \end{bmatrix} = \begin{bmatrix} 1-\alpha & \alpha \ 0 & 1 \end{bmatrix} \begin{bmatrix}\text{price}(t) \ \text{mean}(t) \end{bmatrix} + \begin{bmatrix}\epsilon_1(t) \ \epsilon_2(t) \end{bmatrix} $$ 表示 $ F_t = \begin{bmatrix} 1-\alpha & \alpha \ 0 & 1 \end{bmatrix} $ 那麼上面的方程很簡單

$$ X_t = F_tX_t + \epsilon_t $$ 測量方程可以是

$$ Z_t = H_tX_t + \nu_t $$ 在哪裡 $ Z_t $ 是實際價格序列和 $ H_t = \begin{bmatrix} 1 & 0 \end{bmatrix} $

您可以使用卡爾曼濾波器兩步遞歸來估計mean(t)

您的符號中的 Rt 是“過濾”變異數 R(t|t)。變異數 R(t+1|t) 的預測增加了另一個不能保證隨著時間減少的項。

我認為另一個關鍵假設是方程中的 Ve。你如何定義Ve?對於價格序列 Ve 作為波動率的代表,隨時間變化是有意義的,並且可能表現出一些自相關。

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