返回

跨多個證券和時間計算對數回報

  • October 7, 2015

我一直對計算回報的話題感到非常困惑。為了及時獲得累積回報,使用了對數回報,但顯然對數回報並沒有在固定時間跨不同證券使用?

我想在我的投資組合中獲得作為時間函式的累積回報。

我有兩種證券,A 和 B。我在市場開盤時買入 A 和 B 的一股,並在市場收盤時賣出。

假設這些是特定日期的價格:

   open    close
A   9       10
B   10      8

我那天的總體回報是(10+8)/(10+9) - 1 = -5.2%。我為那一天儲存了-5.2%。我重複了很多天。然後我如何計算我的累積總和?如果有幫助,我會在 python 中執行此操作。

旁注:我可以cumsum()在 python 中很容易地使用一個函式,但它假設日誌返回。我在處理日誌返回時沒有問題,但我不確定如何去做。

我要補充一點,那天我總是購買我投資組合中任何證券的 1 股。我的投資組合中的證券會隨著時間的推移而變化。

在 Python 中,簡單的幾何返回:

   import numpy as np
   import pandas as pd
   sp500 = pd.io.data.DataReader('^GSPC', 'yahoo')['Close']
   simple_ret = sp500.pct_change()
   (1+simple_ret).cumprod()[-1] -1

   0.74751768460019963

日誌返回:

   log_ret = np.log(1+simple_ret)
   np.exp(log_ret.cumsum()[-1]) -1

   0.74751768460020074

在量化金融中,以對數回報進行數學計算被認為是一種很好的方式,但是對於許多實際應用(例如回測交易策略),簡單的幾何回報就足夠了。

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