-1

我下载财务数据的部分代码:

library(quantmod)

tickers <- c("XOM", "DIS")
stock1 <- getSymbols(tickers[1], from="2010-03-01", to="2011-02-28", auto.assign=F)
stock2 <- getSymbols(tickers[2], from="2010-03-01", to="2011-02-28", auto.assign=F)

pair <- merge(Ad(stock1), Ad(stock2), all=F)             # 'xts' object, merge adjusted close
pair.DF <- data.frame(pair)                              #  data frame

但我想这样调用函数:

tickers <- function(x, y) {
stock1 <- getSymbols(x, from="2010-03-01", to="2011-02-28", auto.assign=F)
stock2 <- getSymbols(y, from="2010-03-01", to="2011-02-28", auto.assign=F)

pair <- merge(Ad(stock1), Ad(stock2), all=F)            
pair.DF <- data.frame(pair)       
}

接着:

tickers("XOM", "DIS")

或类似的东西。但我得到的是不好的结果。在这种情况下,“x”和“y”不是数字,而是字符。这似乎很容易,但是.. 感谢您的任何建议。

4

1 回答 1

1
tickers <- function(x, y) {
stock1 <- getSymbols(x, from="2010-03-01", to="2011-02-28", auto.assign=F)
stock2 <- getSymbols(y, from="2010-03-01", to="2011-02-28", auto.assign=F)

pair <- merge(Ad(stock1), Ad(stock2), all=F)            
pair.DF <- data.frame(pair)       
return(pair.DF)
}

只要您最后返回pair.DF,就可以为我工作。那是你的问题吗?

我不认为字符类是问题:

class(tickers[1])==class("XOM")
TRUE
于 2011-03-25T21:57:37.290 回答