Hi Ernie, You seem confused. sqrt(t(w) %*% V %*% w) calculates portfolio volatility, not returns. You can calculate portfolio volatility with PerformanceAnalytics::StdDev.
require(PerformanceAnalytics) data(edhec) set.seed(21) w <- runif(ncol(edhec)) w <- w/sum(w) sqrt(t(w) %*% cov(edhec) %*% w) StdDev(edhec, weights=w) You can use PerformanceAnalytics to calculate the total portfolio return a couple different ways. w %*% t(Return.cumulative(edhec)) Return.cumulative(Return.portfolio(edhec, w)) Also, R-SIG-Finance is a better place to ask finance-specific questions. You'll likely get faster and more complete responses. Best, Josh On Wed, Feb 11, 2015 at 10:25 AM, Ernest Stokely <wizardc...@gmail.com> wrote: > > For finance applications, I'm surprised that I am unable to find a function > to compute the portfolio return (sqrt(t(w) %*% V %*% w)) where w are > portfolio weights and V is the cov(returns). The Performance Analytics > portfolio return function seems to compute something else. > Ernie > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. -- Joshua Ulrich | about.me/joshuaulrich FOSS Trading | www.fosstrading.com ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.