返回
跨多個證券和時間計算對數回報
我一直對計算回報的話題感到非常困惑。為了及時獲得累積回報,使用了對數回報,但顯然對數回報並沒有在固定時間跨不同證券使用?
我想在我的投資組合中獲得作為時間函式的累積回報。
我有兩種證券,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
在量化金融中,以對數回報進行數學計算被認為是一種很好的方式,但是對於許多實際應用(例如回測交易策略),簡單的幾何回報就足夠了。