简体   繁体   中英

xts variables with "-"

Any help appreciated on this problem and I realise this is probably a really dumb question.

I have a variable that contains a symbol that is causing issues.

I am trying to create a function that calculates various metrics from financial data, in this case sma from a column within an xts variable downloaded with the QUANTMOD package in R. The problem is that the variable is downloaded with an "-" symbol (XLM-USD) in its name and I do not know how to work with this since it produces an error, nor can I find an easy was to rename this variable.

Please see the code and error, below.

Any help would be appreciated.

Thanks:)

library(quantmod)

# download portfolio
getSymbols("XLM-USD", from="2021-03-01")

#create SMA function
mySMA <- function (price,n){
    sma <- c()
    sma[1:(n-1)] <- NA
    for (i in n:length(price)){
        sma[i]<-mean(price[(i-n+1):i])
    }
    sma <- reclass(sma,price)
    return(sma)
}

SMA <- mySMA(Cl(XLM-USD),n=20)

Produces

 Error in has.Cl(x) : object 'XLM' not found 

From ?make.names :

A syntactically valid name consists of letters, numbers and the dot or underline characters and starts with a letter or the dot not followed by a number.

Variable names which do not follow these rules need to be surrounded with backticks:

SMA <- mySMA(Cl(`XLM-USD`),n=20)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM