R

如何在 R 中使用 Quantmod 提取交易所的所有股票程式碼?

  • August 22, 2016

我正在使用 R 中的 Quantmod 包進行一些數據分析。現在我可以使用以下程式碼下載特定股票或指數的價格歷史記錄:-

library(quantmod) # Loading quantmod library

getSymbols("^DJI", from = as.character(Sys.Date()-365*3))

我想下載由特定指數(例如 DJI)組成的所有股票程式碼。通過 R 做到這一點的最佳方法是什麼?

提前非常感謝。

你需要組件。您可以使用 yahoo 或 cnn 網站,並從中讀取表格。然後獲取程式碼。將所有內容讀入環境並使用數據。

library(XML) 
urlt <- "http://money.cnn.com/data/dow30/" 
doc.html = htmlTreeParse(urlt, useInternal = TRUE)
tables <- readHTMLTable(doc.html,as.data.frame=FALSE)
length(tables)
tables[[2]]
tables <- readHTMLTable(doc.html,
                       stringsAsFactors=FALSE,which = 2)

ticker=sapply(1:length(tables$Company),function(xs)
 strsplit(rawToChar(charToRaw(text[xs])),"Â",fixed=TRUE)[[1]][1]
 )
#ticker <- as.vector(as.character(ticker))
library(quantmod)
StockData <- new.env()
data <- getSymbols(ticker, env = StockData)
do.call(merge, eapply(StockData, Cl)[ticker])

引用自:https://quant.stackexchange.com/questions/29753