由n股中的任意m组成的同等加权投资组合的收益

时间:2016-03-11 14:06:54

标签: r combinations quantmod

我有五股的投资组合,我计算每月回报,并且需要当时三种股票的所有可能组合,因此有10种组合。

如何计算所有可能投资组合的月度回报?我想我需要使用'combn'。但我得到的结果只是一个很长的数字列表。也许它在某处,但我无法从所有数字中做出任何改变...... 代码到目前为止:

library('quantmod')
tickers <- c('MSFT','YHOO','ORCL','EBAY','AMZN')
getSymbols(tickers, src='yahoo', from='2015-03-01', to='2016-02-29')
amzn_ret = monthlyReturn(AMZN, type = 'log')
ebay_ret = monthlyReturn(EBAY, type = 'log')
msft_ret = monthlyReturn(MSFT, type = 'log')
orcl_ret = monthlyReturn(ORCL, type = 'log')
yhoo_ret = monthlyReturn(YHOO, type = 'log')
stock_ret = c(amzn_ret, ebay_ret,yhoo_ret,orcl_ret,msft_ret)
combin = combn(stock_ret, 3, sum, simplify = FALSE)

1 个答案:

答案 0 :(得分:1)

您将收益绑定为向量c,您需要的是cbind或某种形式的table

stock_ret <- data.table(amzn_ret, ebay_ret,yhoo_ret,orcl_ret,msft_ret)
combin <- combn(stock_ret, 3, rowSums, simplify = TRUE)

你可能想说rowSums