處理金融數據為什麼要對數化?
不是為了看似高級,而是因為統計學有連續複合收益率(Continuously Compounded Return)。
1. 記 t-1 時刻,你擁有的金額是 P_(t-1);在 t 時刻,你擁有的金額為 P_(t),則你的單期簡單收益率(One-period Simple Return) R_t 可由下式定義:
2. 把 t-1 到 t 時刻等分成 n 份,假設每份的收益率都是一樣的,也就是 r_t / n, 那麼一共 n 期,上式變成這樣:
取n→∞,那麼該段時間就可看成連續的了,於是有
3. 由於1和2裡面結果要相等,那麼都取個自然對數,有
4. 如果有 k 期,那麼連續複合收益率
連續符合收益率可直接線性疊加!而普通收益率得指數關係推導半天。
如果把各期的值先取對數,連續複合收益率可以直接想減得出,由連續符合收益率反推單期簡單收益率和多期簡單收益率就很好辦了。而要是直接算簡單收益率的話,那些指數會把人嚇爬的。
以一個物理人的角度,最後一定要明白連續複合收益率的含義:
- 假設單期由無窮多收益相同的 n 個小期構成(收益率x),這些無窮多小期的總金額分別是(1+x)、(1+x)2、(1+x)3……
- 連續複合收益率,就是把 x 的總影響算出來,然後平均分配到 n 個小期中。那麼顯然可以得出,每小期的收益率最後的效果「疊加」起來,要等於單期簡單收益率的。由於「疊加」實際上是連乘,那麼 x = r_t / n 一定要比 R_t 要小,才能讓 R_t 這個一次相乘的結果,與 n 次「疊加」的結果匹配。
- 驗證上面的猜測:
顯然,連續複合收益率比簡單收益率要小!
參考文獻:Analysis of FINANCIAL TIME SERIES, 3rd Edition, Ruey S. Tsay
作為一種運算,對數據取對數的解決意圖往往不是「為了簡化計算」。
(何況真正做運算的是機器不是人工... )
而是:有了這步運算的變換結果可以為我們的下一步分析研究提供方便。
以一個很常見的應用為例:把數據看成是一個隨機變量 X 的樣本,如果取對後 logX 呈正態或者近似正態分佈,那麼 X 就呈對數正態分佈(Log-normal distribution),反之亦然。這樣就可以進一步利用正態分佈的數學特徵去處理數據後再做指數變換回原坐標系。其實不光金融數據,很多時間序列數據都要進行對數處理。這樣主要是為了去除指數趨勢,同時,把一些相乘的關係變成相加關係。
此外,常用的處理方法還有差分,這樣可以去除隨機趨勢。
通過數據預處理,可以得到平穩序列,這樣才能應用到模型中進行分析。
就一句話:加法簡單還是乘法簡單?
說的技術一點,簡略一點,拿股票價格舉例,價格的時間序列是單位根(隨機行走)的,而收益率是平穩的;log P_(n+1) - log P_n = log( P_(n+1) / P_n ) = log ( 1+ R_n ) ~= R_n,於是就可以用log P_(n+1) - log P_n 的數據建立各種模型了,但是 P_(n+1) - P_n 理論上只能得到白雜訊,沒有任何用處,所以要取 log。
另外,一般地,在數據分析時,如果數據變差很大,一般要取對數,以降低變差。
也不總是需要取對數,一般而言,價格(比如股價)滿足對數正態分布,因為價格大於零;而收益率滿足正態分布,收益率可正可負。
補充一點,在實踐中,即便是處理價格類數據,也常常不取對數,而是直接計算持有期收益率(holding period yield).
最重要的應該是實際數據通常有異方差性質,而對數化可以消除異方差吧
例如,對數化以後,兩邊取全微分可得
,可以變成變化率的線性組合,從而可以將非線性問題變成線性問題求解。但是我實際運用過程中,還是主張如果是研究變數本身,建議最好不要改為對變化率的研究,顯然擬合度會大大下降。例如股價定價喜歡使用對數正態分布定價,如果不是關心收益率而是純粹關心股價預測的話,我個人建議採用伽馬分布比對數正態分布要好得多。
另外對數化有一個非常有意思的運用。例如效用函數,我們一般假設為消費的函數,如果我們將其假設為消費對數呢?
;
其中為消費,為消費增長率,一般來說,所以,從而
;
因為,將上式等號右邊按一階taylor展開
;
另外我們認為未來的效用應與預期的期望效用是一致的,即;
否則推導就沒有意義了。我們假設期望效用的平均效應僅來自二階展開,從而
,
從而可以求得:
,其中,也就是說,如果說我們認為效用函數是自變數是消費對數,消費增長速度又很慢,其實效用函數很簡單,就是線性的消費函數,我們稱之為基本支出函數。而如果使用消費本身,則效用函數是指數函數,而且不怎麼好用,當過去消費偏低時,效用是遞增的;當過去消費偏高時,效用是遞減的,而且是個負效用函數,現在的消費和過去的消費所帶來的效用之間不可比。
當然有的時候我們認為基本支出函數太過簡單,如果是線性函數,他就不存在什麼儲蓄投資風險等一系列所有最基本的經濟概念,所以我們可能使用產品替代的概念,也就是消費不只一種,如果存在時,例如進口替代國內產品的問題,假如兩者之間不相等,則其期望效用的的二階展開存在一個交互項,從而二階的期望效用是一個二階橢圓型偏微分方程。
Risk Latte - Why do we have Log Returns in continuous time finance?
1、使數據更平穩
2、變乘法為加法
3、削弱共線性和異方差
4、呼應經濟學意義
Coz even if return can be negative but price cannot
目前我正在研究時間序列,直觀感覺是,對數化或者差分處理後,時間序列的平穩性可能改變,這樣就類似降維一樣的簡化處理,從而方便使用更多的模型。
很少要對數化。
對數化只是個普通的數學工具,有用就用,沒用就扔一邊。
推薦閱讀: