If I understand it correctly, the function getSymbols creates a variable with the name being the stock symbol. Then use the function get(symbol) to retrieve the value of the variable whose name is contained in the character string `symbol'. Assign that to a variable (e.g. AVB). You may also have to modify the names of the components you retrieve from the list AVB. For that, you can use AVB[["AVB.Close"]] instead of AVB$AVB.Close. You can them use something like AVB[[paste0(symbol, ".Close"]] to generalize the retrieval of list components.
HTH, Peter On Thu, Aug 9, 2018 at 12:40 PM rsherry8 <rsher...@comcast.net> wrote: > > > I wrote the following function: > > # This method gets historical stock data for the stock Avalon Bay whose > symbol is AVB. > getReturns <- function(norm = FALSE) > { > library(quantmod) > > getSymbols("AVB", src = "yahoo", from = start, to = end) > length = length( AVB$AVB.Close ) > close = as.numeric( AVB$AVB.Close ) > cat( "length = ", length(close ), "\n" ) > for( i in 1:length-1 ) > diff[i] = ((close[i+1] - close[i]) ) / close[i] > u = mean(diff) > stdDev = sd(diff) > cat( "stdDev = ", stdDev, "\n" ) > > if ( norm == TRUE ) { > diff = (diff - u) > diff = diff / stdDev > } > return (diff) > } > > I would like to generalize it to work for any stock by passing in the > stock symbol. So the header for the > function would be: > > getReturns <- function(symbol, norm = FALSE) > > Now how do I update this line: > length = length( AVB$AVB.Close ) > This statement will not work: > length = length( symbol$AVB.Close ) > because the name that holds the closing price is a function of the stock > symbol. > > Thanks, > Bob > > ______________________________________________ > 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. ______________________________________________ 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.