【问题标题】:Accessing arbitrary list of symbols returned by getSymbols()?访问 getSymbols() 返回的任意符号列表?
【发布时间】:2016-02-07 21:30:12
【问题描述】:

简短版:如何以符号方式访问 getSymbols() 返回的对象?

(我正在学习 R,这是我的第一个“现实生活”脚本/函数。我已经用了一天中大部分时间进行搜索,但我仍然感到困惑)。

我想获取任意一组符号,并获取每个符号从去年到现在的最高点的百分比回报。

(或者更一般地说,我想单独对每个符号进行一些操作)。

我尝试了几种方法;将它们存储到 new.env() 并尝试在那里解析它们,并将它们放入 list(),但我仍然无法访问它们的 $High。 lapply和eapply我还没学会。

这是我目前所拥有的:

library(quantmod)
symbols<-(c("^DJI", "^GDAXI", "^SPC","^RUT", "XOM", "K"))

t1<-as.POSIXlt(as.Date(Sys.Date()))
t1$year<-t1$year-1 #one year ago
start_date<-t1
for(i in symbols) {
  x<-getSymbols(i, from=start_date, auto.assign=FALSE)
  print(seriesHi(x))  #used for test only
# get the high value
# get the last value
# Print symbol name:
# Print last/high
}

我也许可以用蛮力来做,但我正在寻找优雅的东西。

【问题讨论】:

    标签: r xts quantmod


    【解决方案1】:

    我不确定我是否理解这个问题。如果您的数据框中有日期时间对象,则可以简单地对日期时间对象进行子集化

    #this uses a range of dates, but you can use date parts as well
    your_subset <- subset(df, POSIXtime >= as.POSIXct('2015-02-07 13:45')
                  POSIXtime <= Sys.time())
    

    然后您可以简单地制作数据表。它可以很简单:

    symbols<-c("^DJI", "^GDAXI", "^SPC","^RUT", "XOM", "K","XOM")
    
    your_proportions <- table(symbols)
    your_proportions / length(symbols)
    

    【讨论】:

    • 谢谢,但这不是我要找的答案。这不是我所追求的日期的子集。它是从 getSymbols() 返回的对象。调用所有 getSymbols() 和 quantmod 专家
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多