卡爾曼價格序列的均值和標準差
我喜歡使用卡爾曼濾波器計算價格序列的均值和標準差。我不知何故陷入了偏差,或者在理解方面有一些問題,這是我的研究無法解決的。
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 作為波動率的代表,隨時間變化是有意義的,並且可能表現出一些自相關。