PortfolioAnalytics icon indicating copy to clipboard operation
PortfolioAnalytics copied to clipboard

objective name mean generated an error or warning: Error in crossprod(x, y)

Open marioem opened this issue 5 years ago • 0 comments

The following code from DataCamp's Intermediate Portfolio Analysis in R course fails in optimize.portfolio function of PortfolioAnalytics_1.1.0:

asset_names <- colnames(asset_returns)
port_spec <- portfolio.spec(asset_names)
port_spec <- add.constraint(portfolio = port_spec, type = "weight_sum", min_sum = .99, max_sum = 1.01)
port_spec <- add.constraint(portfolio = port_spec, type = "long_only")
port_spec <- add.objective(portfolio = port_spec, type = "return", name = "mean")
port_spec <- add.objective(portfolio = port_spec, type = "risk", name = "StdDev")
port_spec <- add.objective(portfolio = port_spec, type = "risk_budget", name = "StdDev", min_prisk = 0.05, max_prisk = 0.1)
print(port_spec)
##############

# Run a single period optimization using random portfolios as the optimization method
opt <- optimize.portfolio(R = asset_returns, portfolio = port_spec, optimize_method = "random", rp = rp, trace = TRUE)

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

objective name mean generated an error or warning: Error in crossprod(x, y) : 
  requires numeric/complex matrix/vector arguments

Error in search[i] <- ifelse(try(rp_objective_results[[i]]$out), rp_objective_results[[i]]$out,  : 
  replacement has length zero

Ross, as the course author, should have the datasets used above (assets_returns and rp).

> sessionInfo()
R version 3.6.0 (2019-04-26)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Mojave 10.14.6

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] readxl_1.3.1               PortfolioAnalytics_1.1.0   PerformanceAnalytics_1.5.3 foreach_1.4.7             
[5] xts_0.11-2                 zoo_1.8-6                 

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.2                quadprog_1.5-7            lattice_0.20-38           codetools_0.2-16          crayon_1.3.4             
 [6] packrat_0.5.0             slam_0.1-45               cellranger_1.1.0          grid_3.6.0                registry_0.5-1           
[11] pillar_1.4.2              rlang_0.4.0               rstudioapi_0.10           ROI.plugin.quadprog_0.2-5 iterators_1.0.12         
[16] tools_3.6.0               ROI_0.3-2                 compiler_3.6.0            pkgconfig_2.0.2           tibble_2.1.3             

Mariusz

marioem avatar Sep 13 '19 19:09 marioem