본문 바로가기
투자방법 외 주제

[R] quantmod 라이브러리 이용하여 주가 정보 수집 (S&P500 지수 일봉)

by Rich Spy 2022. 9. 15.

Yahoo Finance에서 S&P500(^GSPC) 데이터는 csv 형태로 다운로드할 수 없게 되어있다. R을 이용하여 간단히 가져올 수 있는 방법을 기록한다. S&P500 데이터를 다운로드하기 위해 구글을 뒤져본 결과, 이유는 알 수 없지만 Yahoo Finance에서는 일부 Index에 대해서는 다운로드를 허용하지 않는 것으로 보인다.

 

R Quantmod 이용해서 주가 정보 수집

R을 이용하여 아주 손쉽게 S&P500 지수를 가져올 수 있다. 구글링을 통해 R quantmod를 접했는데 매우 강력한 기능을 제공한다. S&P500뿐만 아니라 Yahoo Finance의 다른 티커도 모두 가져올 수 있는데 대부분은 Yahoo Finance 페이지에서 모두 다운로드할 수 있기 때문에 다운로드가 불가능한 일부 종목만 R을 이용하여 수집하고자 한다. R에 대해서 완전히 무지하기 때문에 잊지 않기 위해 기록을 남겨본다.

 

우선 아래의 명령어로 quantmod 패키지를 설치한다.

install.package("quantmod")

 

 

quntmod 패키지를 불러와서 getSymbols 함수를 사용하여 주가 정보를 가져온다.

library(quantmod)
stock <- getSymbols("^GSPC", from = "1900-01-01", to = "2022-09-15", auto.assign = FALSE)
write.csv(as.data.frame(stock), "C:/R/GSPC.csv")

 

주의사항

  1. quantmod로 생성되는 객체는 R의 xts 타입이다. 날짜가 객체로 표기되지 않아서 csv로 출력하면 날짜 칼럼이 없다. 여러 가지 방법이 있지만 가장 간단한 방법은 xts 타입을 data frame 형태로 변환하는 것이다. as.data.frame() 을 이용한다.
  2. write.csv를 사용할 때 파일 경로는 '\'가 아닌 '/'임에 주의한다.
  3. 왜인지는 모르겠지만 '^'가 붙은 문자열은 '^'가 제거된 이름으로 저장된다. 위 코드에서 ^GSPC 티커를 가져오면 GSPC라는 이름으로 저장된다.

댓글