获取ETF的历史索引数据

时间:2013-04-05 14:37:04

标签: r yahoo-finance

任何人都知道ETF的免费历史数据来源?我想将数据加载到R服务器进行分析。我已经查看雅虎财务表格中雅虎的YQL API,但是这些数据是每日的,我想根据历史价格进行比较。

由于

2 个答案:

答案 0 :(得分:3)

尝试quantmod套餐。

require(quantmod)

SPY <- getSymbols("SPY", from = "2005-01-01", to = "2008-12-31", auto.assign = FALSE)

head(SPY)
##            SPY.Open SPY.High SPY.Low SPY.Close SPY.Volume SPY.Adjusted
## 2005-01-03   121.56   121.76  119.90    120.30   55748000       101.76
## 2005-01-04   120.46   120.54  118.44    118.83   69167600       100.52
## 2005-01-05   118.74   119.25  118.00    118.01   65667300        99.83
## 2005-01-06   118.44   119.15  118.26    118.61   47814700       100.33
## 2005-01-07   118.97   119.23  118.13    118.44   55847700       100.19
## 2005-01-10   118.34   119.46  118.34    119.00   56563300       100.66

答案 1 :(得分:0)

对于像我一样存在同样问题的任何人(只有WKN和Yahoo财务未列出ETF,我发现了一个使用WKN并返回历史价格的网站:

我使用了网络抓取(rvest)。以下代码获取WKN(我想是ISIN)并返回历史价格:

library(rvest)
library(purrr)

get_prices <- function(wkn){
    # Download prices for WKN

    cat("Quoting", wkn, "\n")
    erg <- html_nodes(read_html(paste0("http://www.quotrix.de/fonds/wkn/", wkn,
                                       "/historische_kurse")), "table") %>% 
        map(html_table, fill=T) 

    if(length(erg) != 1) stop("Error with ", wkn, ": Expected 1 table, found ", length(erg))
    return(erg[[1]])
}

safe_get_prices <- safely(get_prices)
erg <- safe_get_prices("ETF126")
#> Quoting ETF126
str(erg)
#> List of 2
#>  $ result:'data.frame':  597 obs. of  6 variables:
#>   ..$ Datum    : chr [1:597] "17.04.2020" "16.04.2020" "15.04.2020" "14.04.2020" ...
#>   ..$ Eröffnung: chr [1:597] "34,73" "34,05" "35,16" "35,58" ...
#>   ..$ Tageshoch: chr [1:597] "34,73" "34,05" "35,16" "35,58" ...
#>   ..$ Tagestief: chr [1:597] "34,73" "34,05" "35,16" "35,58" ...
#>   ..$ Schluss  : chr [1:597] "34,73" "34,05" "35,16" "35,58" ...
#>   ..$ Stücke   : chr [1:597] "-" "-" "-" "-" ...
#>  $ error : NULL

reprex package(v0.3.0)于2020-04-21创建