R
使用 R 計算日誌返回
我正在嘗試使用通常的對數差分方法計算 R 中數據集的對數返回。然而,計算的數據只是一個零向量。我看不出我做錯了什麼。
這是顯示我在做什麼的片段
> prices <- data$cl > head(prices) [1] 1108.1 1095.4 1095.4 1102.2 1096.3 1096.7 > > > lrets <- log(lag(prices)) - log(prices) > head(lrets) [1] 0 0 0 0 0 0 > summary(lrets) Min. 1st Qu. Median Mean 3rd Qu. Max. 0 0 0 0 0 0
我究竟做錯了什麼?
你只是在做 $ log(S_t) - log(S_t) = 0 $ 對全部 $ t $ . 相反,嘗試
> n <- length(prices); > lrest <- log(prices[-1]/prices[-n])
應該做的伎倆。
執行所需操作的一種簡單方法是這樣做:
如果您的數據是每天的,那麼:
> prices <- data$cl > log_returns <- diff(log(prices), lag=1)
將為您提供每日日誌返回,如果您更改 $ lag=1 $ 到 $ lag=5 $ 那麼您將獲得每週移動日誌返回。