我知道一些在R或python中获取每日股票价格和交易量的方法,但只是想知道这些是否是一种获取有关股票的更多信息的方法(使用R/Python),例如市盈率,公司网站,收益率等,最好不仅是当前价值,还有历史价值。
谢谢。
历史将是困难的。R 的 quantmod 包具有getQuote
,它与yahooQF
一起将是获取当前值所需的全部内容。
require("quantmod")
getQuote("GS", what = yahooQF(c("Market Capitalization", "Earnings/Share",
"P/E Ratio", "Book Value", "EBITDA", "52-week Range")))
Trade Time Market Capitalization Earnings/Share P/E Ratio Book Value EBITDA 52-week Range
GS 2012-06-21 04:00:00 47.870B 6.764 14.27 134.476 0 84.27 - 139.25
另外,请尝试
getQuote("GS", what=yahooQF())
这将为您提供要请求的字段的选择菜单。
您可以通过getFinancials
从 Google 财经获取最近的财务报表
还有FinancialTool软件包,它具有几个update_instruments.*
功能,用于下载有关工具(在这种情况下为股票)的元数据。 例如,这是雅虎所做的
require("FinancialInstrument")
stock("GS", currency("USD")) # define the stock
#[1] "GS"
update_instruments.yahoo("GS") #update with yahoo
#[1] "GS"
getInstrument("GS")
#primary_id :"GS"
#currency :"USD"
#multiplier :1
#tick_size :0.01
#identifiers : list()
#type :"stock"
#name :"Goldman Sachs Gro"
#exchange :"NYSE"
#market.cap :"47.870B"
#avg.volume :5480530
#EPS :6.76
#EPS.current.year.est:11.4
#EPS.next.year.est :12.9
#book.value :134
#EBITDA :0
#range.52wk :"84.27 - 139.25"
#defined.by :"yahoo"
#updated : POSIXct, format: "2012-06-21 19:31:11"
如果您有一个互动经纪商账户,您可以使用出色的IBrokers软件包来获取有关许多工具的大量信息。 另外,如果你有一个IB账户,你会想看看我的twsInstrument软件包,它有很多方便的功能。
只是为了回答我的问题的网站部分:
str <- paste("http://investing.money.msn.com/investments/company-report?symbol=", ticker, sep = "")
page <- paste(readLines(url(str, open = "rt")), collapse = "n")
match <- regexpr("<a href="http://www\.(\S+)">Website</a>", page, perl = TRUE)
if (attr(match, "match.length") > 0) {
site <- substring(page, attr(match, "capture.start"), attr(match, "capture.start") + attr(match, "capture.length") - 1)
site <- strsplit(site, "/")[[1]][1]
}