(미국 및 비 미국) 주식 및 ETF에 대한 종목 기호 목록을 도와 드릴 수 있습니다.
야후는 주어진 날의 수입을 발표하는 모든 주식을 나열하는 수입 달력을 제공합니다. 여기에는 미국 이외의 주식이 포함됩니다.
예를 들어 오늘의 내용은 다음과 같습니다. http://biz.yahoo.com/research/earncal/20120710.html
URL의 마지막 부분은 수익 달력을 원하는 날짜 (YYYYMMDD 형식)입니다. 며칠을 반복하고 그날 수입을보고 한 모든 주식의 기호를 긁어 낼 수 있습니다.
특히 일부 주식 (파산, 인수 등)이 더 이상 존재하지 않기 때문에 yahoo가 수익을보고하는 모든 주식에 대한 데이터를 보유하고 있다는 보장은 없지만 이것이 적절한 출발점 일 것입니다.
에 익숙하다면 qmao 패키지 를 R
사용 하여이 작업을 수행 할 수 있습니다
. ( 이 게시물 참조 ) 설치에 문제가있는 경우.
ec <- getEarningsCalendar(from="2011-01-01", to="2012-07-01") #this may take a while
s <- unique(ec$Symbol)
length(s)
#[1] 12223
head(s, 20) #look at the first 20 Symbols
# [1] "CVGW" "ANGO" "CAMP" "LNDC" "MOS" "NEOG" "SONC"
# [8] "TISI" "SHLM" "FDO" "FC" "JPST.PK" "RECN" "RELL"
#[15] "RT" "UNF" "WOR" "WSCI" "ZEP" "AEHR"
여기에는 ETF, 선물, 옵션, 채권, 외환 또는 뮤추얼 펀드가 포함되지 않습니다.
yahoo의 ETF 목록은 여기에서 얻을 수 있습니다. http://finance.yahoo.com/etf/browser/mkt
처음 20 개만 표시됩니다. 해당 페이지 하단의 "모두 표시"링크의 URL이 필요합니다. . 페이지를 긁어내어 얼마나 많은 ETF가 있는지 확인한 다음 URL을 구성 할 수 있습니다.
L <- readLines("http://finance.yahoo.com/etf/browser/mkt")
# Sorry for the ugly regex
n <- gsub("^(\\w+)\\s?(.*)$", "\\1",
gsub("(.*)(Showing 1 - 20 of )(.*)", "\\3",
L[grep("Showing 1 - 20", L)]))
URL <- paste0("http://finance.yahoo.com/etf/browser/mkt?c=0&k=5&f=0&o=d&cs=1&ce=", n)
#http://finance.yahoo.com/etf/browser/mkt?c=0&k=5&f=0&o=d&cs=1&ce=1442
이제 해당 페이지의 테이블에서 티커를 추출 할 수 있습니다.
library(XML)
tbl <- readHTMLTable(URL, stringsAsFactors=FALSE)
dat <- tbl[[tail(grep("Ticker", tbl), 1)]][-1, ]
colnames(dat) <- dat[1, ]
dat <- dat[-1, ]
etfs <- dat$Ticker # All ETF tickers from yahoo
length(etfs)
#[1] 1442
head(etfs)
#[1] "DGAZ" "TAGS" "GASX" "KOLD" "DWTI" "RTSA"
이것이 제가 제공 할 수있는 모든 도움에 관한 것이지만,이 페이지를 스크랩하여 그들이 제공하는 선물 중 일부를 얻기 위해 비슷한 일을 할 수 있습니다 (이것은 미국 선물 일뿐입니다).
http://finance.yahoo.com/indices?e=futures ,
http://finance.yahoo.com/futures?t=energy ,
http://finance.yahoo.com/futures?t=metals ,
http : //finance.yahoo.com/futures?t=grains ,
http://finance.yahoo.com/futures?t=livestock ,
http://finance.yahoo.com/futures?t=softs ,
http : // finance.yahoo.com/futures?t=indices ,
그리고 미국 및 미국 이외의 인덱스의 경우 이러한 페이지를 스크랩 할 수 있습니다.
http://finance.yahoo.com/intlindices?e=americas ,
http://finance.yahoo.com/intlindices?e=asia ,
http://finance.yahoo.com/intlindices?e=europe ,
http : //finance.yahoo.com/intlindices?e=africa ,
http://finance.yahoo.com/indices?e=dow_jones ,
http://finance.yahoo.com/indices?e=new_york ,
http : // finance.yahoo.com/indices?e=nasdaq ,
http://finance.yahoo.com/indices?e=sp ,
http://finance.yahoo.com/indices?e=other ,
http : // finance. yahoo.com/indices?e=treasury ,
http://finance.yahoo.com/indices?e=commodities