r - R包 'performanceanalytics'优化器中 Assets 的最大数量

标签 r optimization performanceanalytics r-portfolioanalytics

这只是一个关于我可以在 r Performanceanalytics 优化器功能中使用的最大股票数量的一般问题。

我的代码可以很好地优化最多 110 个左右的 Assets ,但任何超过此数量的 Assets 都会出错。我找不到任何有关实际 Assets 数量限制的文档。如有任何帮助,我们将不胜感激。

除上述内容之外,我还在下面添加了可重现的代码示例:

library(xts)
library(PortfolioAnalytics)
num_stocks = 300
num_periods = 200

rets = replicate(num_stocks, rnorm(num_periods))
colnames(rets) = paste0('stock', 1:num_stocks)

dates = seq(as.Date('2000-01-01'), by = 'month', length.out = num_periods) - 1




#100 stocks, returns optimal weights
equity.data = xts(rets, order.by = dates)[,1:100]

stocks <- colnames(equity.data)

# Specify an initial portfolio
portf.init <- portfolio.spec(stocks)

# Add constraints
# weights sum to 1
portf.minvar <- add.constraint(portf.init, type="full_investment")
# box constraints
portf.minvar <- add.constraint(portf.minvar, type="box", min=0.00, max=0.10)

# Add objective
# objective to minimize portfolio variance
portf.minvar <- add.objective(portf.minvar, type="risk", name="var")

optimize.portfolio(equity.data, 
               portfolio=portf.minvar, 
               optimize_method="ROI",
               trace=TRUE)


## 200 stocks, optimizer returns N/As for optimizes weights
equity.data = xts(rets, order.by = dates)[,1:200]

stocks <- colnames(equity.data)

# Specify an initial portfolio
portf.init <- portfolio.spec(stocks)

# Add constraints
# weights sum to 1
portf.minvar <- add.constraint(portf.init, type="full_investment")
# box constraints
portf.minvar <- add.constraint(portf.minvar, type="box", min=0.00, max=0.10)

# Add objective
# objective to minimize portfolio variance
portf.minvar <- add.objective(portf.minvar, type="risk", name="var")

optimize.portfolio(equity.data, 
               portfolio=portf.minvar, 
               optimize_method="ROI",
               trace=TRUE)

最佳答案

我认为问题的出现是由于计算协方差矩阵时出现问题,其中 (num_stocks = 300) > (num_periods = 200)。

如果我将周期数增加到 1000,那么优化 200 只股票时就不会出现错误。

感谢大家的宝贵时间

关于r - R包 'performanceanalytics'优化器中 Assets 的最大数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52123952/

相关文章:

R图密度ggplot vs plot

r - 在 Shiny 中使用基于绘图点击的条件面板

optimization - 优化工作调度MiniZinc代码——约束规划

R 经济衰退日期转换

r - 如何将 lapply 与 mutate 函数一起使用

r - 如何将堆叠的长数据帧转换为宽格式

c - ASM - 优化的 `for` 循环

c - 带限制指针的 GCC 别名检查

r - 在 R 中使用历史方法对组件 VaR 没有贡献

r - 在 R 中使用 findDrawdowns 函数时的维数不正确