[Google Sheets] KOSPI, KOSDAQ 종목코드 일괄 다운로드 및 GOOGLEFINANCE 함수로 주가정보 조회
구글시트를 이용하여 GOOGLEFINANCE 함수를 이용하여 주가정보를 확인을 위한 자료를 만들때 가장 힘든 부분은 코스피, 코스닥의 종목코드를 하나씩 확인하는 부분이다.
KRX 정보데이터시스템 접속 및 종목코드 다운로드
![]() |
KRX 정보데이터시스템 접속 및 주식 정보 다운로드 |
구글시트로 데이터 가공
- KRX에서 다운 받은 데이터가 있는 원본시트는 그대로 두고, 구글시트에 새로운 시트를 추가한다.
- 새시트의 이름을 지정한 후, 원본시트에서 단축코드 전체를 복사하여 새로운 시트의 A열에 붙여 넣는다.
- 종목코드를 기준으로 VLOOKUP 함수를 사용하여 필요한 데이트를 원본시트에서 가져온다.
- 가져온 데이터에서 불필요한 부분을 삭제 등 정리한다. (만일, KRX 정보데이터시스템에서 전체데이터를 다운받았다면, KONEX 데이터 등은 필터 기능으로 일괄 삭제한다.)
- GOOGLEFINANCE 함수로 주식정보를 가져올 수 있도록 종목코드를 GOOGLEFINANCE 함수의 ticker에 맞춰 가공한다.
- =VLOOKUP(A:A,KRX_Data!B:D,3,FALSE)
(2) VLOOKUP 함수로 거래소 가져오기
- =VLOOKUP(A:A,KRX_Data!B:G,6,FALSE)
(3) IF 함수로 GOOGLEFINANCE 함수에 맞는 코드로 변형
- =if(C2="KOSDAQ","KOSDAQ",if(C2="KOSPI","KRX",if(C2="KOSDAQ GLOBAL","KOSDAQ","")))
(4) CONCATENATE 함수로 ticker로 변환
- =CONCATENATE(D2,":",A2)
가공된 데이터가 있는 시트에서 위의 함수를 사용하여 데이터를 입력하면, 원본데이터의 시트에 양식을 변경하지 않고 변경된 종목코드를 다시 다운받아 붙여 넣으면 가공된 데이터가 있는 시트의 함수가 자동으로 변경된다.
(3)에서 IF 함수를 이용하여 다운받은 데이터의 거래소 정보를 GOOGLEFINANCE
함수에 맞게 가공하기 위한 것이다.
KOSPI, KOSDAQ, KOSDAQ GLOBAL
등으로 표시되어 있는데, 그 중에서 KOSPI는 KRX로, KOSDAQ은 그대로
KOSDAQ으로, KOSDAQ GLOBAL은 KOSDAQ으로 변경하는 함수이다.
(4)에서 CONCATENATE 함수는 거래소 값과 단축코드를 결합하여 GOOGLEFINANCE 함수에서 사용가능한 ticker를 만든다. GOOGLEFINANCE에서 사용 가능한 ticker의 형태는 KOSPI는 "KRX:단축코드", KOSDAQ은 "KOSDAQ:단축코드"이다.
GOOGLEFINANCE 함수로 주가 정보 가져오기
기준이 되는 데이터를 가공했으면 이제 GOOGLEFINANCE 함수를 이용하여 필요한 정보를 불러오면 된다.
GOOGLEFINANCE 함수를 이용하여 주가정보를 가져오는 기본 내용은 이전 포스팅을 참고하면 된다.
- =GOOGLEFINANCE(E2,"marketcap")/100000000
(2) 현재가(원)
- =GOOGLEFINANCE(E2,"price")
(3) 당일등락(%)
- =GOOGLEFINANCE(A2,"changepct")
(4) 52주 최고가(원)
- =GOOGLEFINANCE(E2,"high52")
(5) 52주 최고가(원)
- =GOOGLEFINANCE(E2,"low52")
(6) 52주 최저가 대비 현재가의 위치 비율
- =(G2-J2)/(I2-J2)*100
- KRX 정보데이터시스템에서 전체 주식종목의 코드를 다운받아서 처리하면 GOOGLEFINANCE 함수를 처리하는데 시간이 소요된다. (종목코드의 양이 많기 때문이다.)
- 함수를 입력하여 값을 불러올 때는 "로드중"으로 표시되는데 데이터 전체를 다운받으면 2,000종목 이상의 주식 종목 코드가 있어 모두 불러오기까지 시간이 필요하다.
- 또한, "#N/A"와 같이 표시되는 경우가 있는데, 이는 GOOGLEFINANCE가 불러올 데이터가 없는 경우에 표시된다.
- 그러나, 가끔 데이터가 있는 경우에도 불러오지 못하는 경우가 있으니 그대로 두면 다음 로딩에는 데이터를 가져오는 경우가 있으니 참고하시면 된다.
- 그리고, 거래정지 종목 등은 정확한 값을 불러오지 않는 경우가 있다
- 또한, 상장 후 기간이 얼마 되지 않는 종목도 일부 값들이 불러오지 않거나, 전체 값이 불러오지 않을 수 있다. 이런 경우는 그대로 두면 향후에 값을 가져올 수 있을때 값이 표시된다.
- KRX 정보데이터시스템에서 전체 주식종목코드를 다운받으면 KONEX 데이터 등도 불러오므로 구글시트의 필터 기능을 이용하여 불필요한 데이터를 삭제하고 사용하는 것이 좋다.
- 불필요한 데이터가 많으면 불러오는 시간도 오래 걸리므로 데이터를 사용하는데 좋지 않다.
KRX 정보데이터시스템에서 주식종목 코드를 다운받아서 GOOGLEFINANCE 함수와 결합하여 여러가지 정보를 확인해 볼 수 있으므로, 본인의 투자방식에 따라 데이터를 본인만의 투자 데이터를 만들어 보는 것도 괜찮을 것 같다.