[量化投資基本功]為什麼對數收益率在量化投資這麼重要? log return 與累積報酬率

在學投資學時,經常會聽到log return。然而,我們已經學會了如何計算日報酬、區間報酬及總報酬等各種報酬計算方式,為什麼還要多出一個log return呢? 原因就在於log return 良好的可加性這個特質,能夠讓我們在做量化時,能夠非常直覺的透過相加的方式處理時間序列資料,進而算出總報酬!本支影片主要分享在計算投組報酬率中常用的log return,簡單推導log return的可加性,並分享如何在python裡實作。

什麼是log return?

log return的公式如下,其實就是把一般的報酬率取log。

$$Y=ln(1+r)$$

log return 的可加性

從對數運算原理中,我們可以推得,log return具有良好的可加性。要計算一段時間的報酬,我們可以透過把每天的log return 相加求得。對於詳細推導過程有興趣的讀者,歡迎參考影片內容。

$$ln(\frac{P_T}{P_0})=ln(\frac{P_T}{P_{T-1}})+ln(\frac{P_{T-1}}{P_{T-2}})+…+ln(\frac{P_1}{P_0})$$

在Python中計算daily log return

透過上式,我們知道,我們只要將股價先取log再相減,就可以得到每天log return的日報酬了。

lr=np.log(df).diff(1)
其中,df為價格資料。

如何透過log return 計算累積酬率?

透過上式,再加上指對數的運算原理,我們可以得到累積報酬率率的計算公式。同樣的,詳細推導過程歡迎參考影片內容。

$$TR=\frac{P_T}{P_0}-1$$

$$=e^{ln(\frac{P_T}{P_0})}-1$$

在Python中計算累積報酬率

透過上式,我們可以把這樣的運算過程寫進python裡,並且利用numpy裡面的cumsum函數,就可以計算每天的累積報酬率了。

tr=np.exp(np.cumsum(lr))-1

今天,我們認識了log return 在量化投資領域中的重要性及方便性,並且學會了如何利用log return 計算累積報酬率。拿起你的資料,試試看吧!

程式檔案,歡迎下載Github

Share

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *