2012-06-22 14 views
7

Ich kenne einige Möglichkeiten, um tägliche Aktienkurse und Volumen in R oder Python zu bekommen, aber nur darüber nachdenken, ob dies eine Möglichkeit ist (mit R oder Python) um mehr Informationen über Aktien wie P/E-Verhältnis, Unternehmenswebsite zu erhalten und so weiter, vorzugsweise nicht nur den aktuellen Wert, sondern auch historische Werte.Gibt es eine Möglichkeit, automatisch allgemeine Informationen vieler Aktien wie P/E-Verhältnis, Rendite und so weiter zu erhalten?

Danke.

+0

Da gab es keine Python Antworten gewesen, und Sie ein R-only Antwort akzeptiert, sollten wir diese R-spezifisch, und entfernen Sie machen das [ Python] -Tag? – GSee

Antwort

10

Historisch wird schwierig sein. Das quantmod Paket für R hat getQuote, das zusammen mit yahooQF alles sein wird, was Sie benötigen, um aktuelle Werte zu erhalten.

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 

Versuchen Sie auch,

getQuote("GS", what=yahooQF()) 

die Sie ein Auswahlmenü für geben wird, was zu verlangen Felder.

Sie können die letzten Jahresabschluss von Google Finance erhalten mit getFinancials

Es gibt auch das FinancialInstrument-Paket, das mehr update_instruments.* Funktionen Metadaten über Instrumente (Aktien in diesem Fall) zum Download bereit. Zum Beispiel ist hier, was die Yahoo ein

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" 

tut Wenn Sie ein InteractiveBrokers-Konto haben, können Sie das hervorragende IBrokers Paket verwenden viele Informationen über viele Instrumente zu bekommen. Wenn Sie einen IB-Account haben, sollten Sie sich auch mein twsInstrument-Paket anschauen, das viele praktische Funktionen bietet.

+1

die oft zitierte [gummy-stuff.org] (http://www.gummy-stuff.org/Yahoo-data.htm) ist eine wunderbare Quelle für Informationen über das Herunterladen von Daten von Yahoo. – GSee

+0

Eine Sache in meiner Frage, die durch diese Befehle nicht gelöst wurde, ist die Website der Firma. Gibt es eine Möglichkeit, das automatisch zu bekommen? – danioyuan

+0

Nicht zu meinem Wissen – GSee

2

einfach die Website Teil meiner Frage zu beantworten:

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] 
    } 
+0

Schön. Ich habe es zuerst falsch interpretiert, aber das ist praktisch. +1 – GSee