以下是 riskParityPortfolio 和portfolioBacktest 庫的示例
樣本的結果是空的。有誰知道為什么?
我對輸入串列“list(faang_data)”的資料型別持懷疑態度。但沒有發現
library(portfolioBacktest)
library(riskParityPortfolio)
# download price data
faang_data <- stockDataDownload(c("GOOG", "NFLX", "AAPL", "AMZN", "FB"),
from = "2014-01-01", to = "2019-06-25")
# define portfolios to be backtested
# risk parity portfolio
risk_parity <- function(dataset) {
prices <- dataset$adjusted
log_returns <- diff(log(prices))[-1]
return(riskParityPortfolio(cov(log_returns))$w)
}
bt <- portfolioBacktest(list("risk parity portfolio" = risk_parity),
list(faang_data),
lookback= 12*20,
optimize_every = 3*20, rebalance_every = 3*20)
# check performance summary
backtestSummary(bt)$performance
#> risk parity portfolio tangency portfolio
#> Sharpe ratio 1.3800144 0.8787596
#> max drawdown 0.3062046 0.3516856
#> annual return 0.3117200 0.2324203
#> annual volatility 0.2258817 0.2644868
#> Sterling ratio 1.0180122 0.6608751
#> Omega ratio 1.2710283 1.1793760
#> ROT (bps) 8310.1199557 793.0188434
uj5u.com熱心網友回復:
查看檔案示例https://rdrr.io/cran/portfolioBacktest/man/portfolioBacktest.html,您需要將 指定...為函式中引數的一部分risk_parity,以允許該函式接受其他引數由portfolioBacktest函式內部使用。
risk_parity <- function(dataset,...) {
prices <- dataset$adjusted
log_returns <- diff(log(prices))[-1]
return(riskParityPortfolio(cov(log_returns))$w)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/514370.html
標籤:r表现模拟文件夹回测
