[R]국내 주가 데이터 가져오기

반응형
    반응형

    R을 다루시는 분들은 주가 데이터를 가져와 분석을 하고 싶을텐데요.
    하지만, R로 주가 데이터를 가져오는 게 생각보다 번거롭습니다.
    DB나 CSV로 저장해놓거나 하둡을 이용하거나 해서 이미 데이터베이스 구축이 되어있다면 문제가 없지만 당장 가져오는 것은 사실상 어렵습니다. 만약 주가 데이터를 가져온다하면 크롤링이나 api로 데이터베이스에 저장후 불러오는 방식을 반복해야 합니다.
    즉, api 또는 크롤링 실행 -> 주가 데이터 데이터베이스에 저장 -> Rstudio에서 불러오기 -> 데이터분석 시작 의 순서를 반복해야 합니다. 불편한 점은 외부의 api를 따로 불러서 데이터를 저장하는 일을 해야하는 것인데 한번에 R에서 할 수 있다면 일이 줄어들어 굉장히 편해질 것 같습니다. 다행히도 tqk라는 패키지를 설치하면 위의 불편한 작업을 줄일 수 있습니다.
    tqk는 국내 주가 데이터를 불러오는 R 패키지로 R로 바로 데이터를 가져올 수 있습니다. 어느분이 만들었는지 너무나 감사합니다.


    tqk를 설치해서 국내 주가 데이터를 가져오는 방법에 대한 내용은 아래에서 확인해보시기 바랍니다.

    tqk 설치

    설치는 remotes가 일단 있어야 합니다.
    remotes는 보통 내장되어 있을테니 바로 불러온 후 설치를 요청합니다. remotes가 없다면 Packages 탭에서 Install을 해서 설치를 한 후 진행하시기 바랍니다.
    혹시 패키지 설치방법을 모르시면 다음 포스팅을 참고해주시기 바랍니다.
    rstudio 패키지 설치 및 관리(googledrive 연동)

     

    rstudio 패키지 설치 및 관리(googledrive 연동)

    rstudio 패키지 설치에 대한 내용입니다. 패키지 설치는 rstudio에 googledrive 패키지를 설치하는 예제로 보여드리도록 하겠습니다. googledrive를 연동해 놓으면 외부에서 다운받은 데이터를 googledrive에

    seong6496.tistory.com

    library(remotes)
    install_github("mrchypark/tqk")

    tqk 설치화면


    설치를 요청하면 다음과 같이 번호가 나오는데 vctrs와 cli를 업데이를 하는 것을 추천한다. 설치와 함께 업데이트도 진행하겠느냐라고 물어보는 것입니다.
    그렇게 하려면 All에 해당하는 번호를 입력하시고 tqk만 설치하고자 한다면 None에 해당하는 번호를 입력합니다.

    remote 2.0.2 버전일 때

    remote 2.0.2 버전이면 설치가 안 됩니다. 다음과 같은 순서로 문제를 해결하시기 바랍니다.

    1. remote 지우기
    2. 세션 재시작
    3. install.packages('devtools')
    4. library(devtools)
    5. install_github('r-lib/remotes')

     

    tqk 실행해보기

    실행방법은 아주 간단합니다.
    그래도 행여 오류가 발생하거나 이슈가 나타나면 가이드 사이트(https://github.com/mrchypark/tqk)에서 문의를 하시기 바랍니다.
    모든 데이터는 tibble로 가져오니 참고하시면 좋을 것 같습니다.

    주식 code 가져오기

    국내의 모든 code와 명칭, 소속 시장 정보를 가져올 수 있습니다.

    code_get()

    tqk code 가져오기

    주가 데이터 가져오기

    이제 코드를 알았으니 주가 데이터를 가져오겠습니다.
    삼성전자의 코드를 code_get()에서 가져와 적용을 해보겠습니다.

    # code_get() code로 정의
    code = code_get()
    # 삼성전자 코드 가져오기(tibble로 가져옴)
    sam_code = code[grep("삼성전자$",code$name),3]
    # 주가 데이터 가져오기
    samsung = tqk_get(sam_code,from='2018-04-26')
    samsung

    tqk 주가 가져오기

    위와 같이 삼성전자의 주가 데이터가 나오게 됩니다.
    현재 tibble로 되어있어서 일부 데이터 앞부분만 보이게 됩니다.

    파이프(%>%) 사용

    dplyr을 이용해 파이프를 사용해서 주가 데이터를 가져올 수도 있습니다.

    library(dplyr)
    code_get() %>% 
      filter(grepl("^삼성전자$", name)) %>% 
      select(code) %>% 
      tqk_get(from = "2018-04-26") -> samsung_pipe
    samsung_pipe

    파이프를 이용한 데이터프레임 전처리

    마치며

    tqk를 사용하면 R에서도 주가 데이터를 가져와 바로 데이터 분석을 할 수 있습니다. 자세한건 이 패키지를 만드신 분의 깃허브에서 확인하시길 바랍니다.
    tqk 설치 및 사용방법 출처 : https://github.com/mrchypark/tqk

     

    GitHub - mrchypark/tqk: 한국 주식 데이터를 위한 R 패키지

    한국 주식 데이터를 위한 R 패키지. Contribute to mrchypark/tqk development by creating an account on GitHub.

    github.com

     

     

    관련 포스팅
    rstudio 패키지 설치 및 관리(googledrive 연동)

    댓글

    Designed by JB FACTORY

    ....