상장사 기업신용등급 데이터를 구할 수 있는 곳은 다음과 같다.
http://mts.kisline.com/paxnet/entr/homeEntr.nice?mtskey=DvaF%2BAgGg2IUoeIwJx6g2A%3D%3D&stockcd=064760&fbclid=IwAR3jTM8RckgVUEFIKcOEXIeam611fA7uYiDDHPgvodZdpaiNdtGYnPpsuEA 웹사이트 구조를 파악하고 나서 기업 한 곳 재무정보
→ 주가와 컨센서스 (2019년 01월 16일 기준)
데이터를 가져온다.
[1] "C"
ksline_fncr_url <- "http://mts.kisline.com/paxnet/fncr/homeFncr.nice?mtskey=DvaF%2BAgGg2IUoeIwJx6g2A%3D%3D&stockcd=064760&fbclid=IwAR3jTM8RckgVUEFIKcOEXIeam611fA7uYiDDHPgvodZdpaiNdtGYnPpsuEA"
stock_price_concensus_dat <- ksline_fncr_url %>%
read_html() %>%
html_nodes(xpath='//*[@id="contents"]/table[2]') %>%
html_table() %>%
.[[1]]
Sys.setlocale("LC_ALL", "Korean")
[1] "LC_COLLATE=Korean_Korea.949;LC_CTYPE=Korean_Korea.949;LC_MONETARY=Korean_Korea.949;LC_NUMERIC=C;LC_TIME=Korean_Korea.949"
stock_price_concensus_part1 <- stock_price_concensus_dat %>%
select(X1, X2) %>%
rename(key=X1, value=X2)
stock_price_concensus_part2 <- stock_price_concensus_dat %>%
select(X3, X4) %>%
rename(key=X3, value=X4)
stock_price_concensus_df <- bind_rows(stock_price_concensus_part1, stock_price_concensus_part2)
stock_price_concensus_df %>%
mutate(company = 064760)
key value company
1 투자의견 BUY 64760
2 목표주가 85,000 64760
3 PER 8.03% 64760
4 EPS 5,629원 64760
5 종가 45,200원 64760
6 52주 최저 35,100원 64760
7 52주 최고 83,200원 64760
8 외국인비중 54.47% 64760
앞서 제작한 코드를 함수로 만들어 업체코드를 넣으면 재무정보
→ 주가와 컨센서스 (2019년 01월 16일 기준)
데이터 반환시키는 함수를 제작한다.
stock_code <- c("000020", "000030", "000060")
get_concensus <- function(stock_code) {
Sys.setlocale("LC_ALL", "C")
ksline_fncr_url <- paste0("http://mts.kisline.com/paxnet/fncr/homeFncr.nice?mtskey=DvaF%2BAgGg2IUoeIwJx6g2A%3D%3D&stockcd=", stock_code, "&fbclid=IwAR3jTM8RckgVUEFIKcOEXIeam611fA7uYiDDHPgvodZdpaiNdtGYnPpsuEA")
stock_price_concensus_dat <- ksline_fncr_url %>%
read_html() %>%
html_nodes(xpath='//*[@id="contents"]/table[2]') %>%
html_table() %>%
.[[1]]
Sys.setlocale("LC_ALL", "Korean")
stock_price_concensus_part1 <- stock_price_concensus_dat %>%
select(X1, X2) %>%
rename(key=X1, value=X2)
stock_price_concensus_part2 <- stock_price_concensus_dat %>%
select(X3, X4) %>%
rename(key=X3, value=X4)
stock_price_concensus_df <- bind_rows(stock_price_concensus_part1, stock_price_concensus_part2) %>%
mutate(company = stock_code)
return(stock_price_concensus_df)
}
get_concensus(stock_code[1])
key value company
1 투자의견 BUY 000020
2 목표주가 - 000020
3 PER - 000020
4 EPS - 000020
5 종가 9,510원 000020
6 52주 최저 7,500원 000020
7 52주 최고 13,400원 000020
8 외국인비중 8.01% 000020
이제 for
문을 돌려 리스트로 3개업체에 대한 데이터를 가져온다.
concensus_list <- list()
for(i in 1:length(stock_code)) {
concensus_list[[i]] <- get_concensus(stock_code[i])
}
listviewer::jsonedit(concensus_list)
데이터 분석을 위해 데이터프레임으로 변환작업을 수행한다.