분봉데이터 다운로드 방법

Do ·2024년 9월 8일
0

금융

목록 보기
1/3
post-thumbnail

분봉 데이터를 돈 주고 사야한다고 생각했는데 무료로 다운 받을 수 있는 방법을 알게 되어 공유드립니다.

  1. 대신증권 계좌 개설 & 회원가입 후 공동인증서 & Cybos5 설치
    (아래는 Cybos5 설치 링크)
    https://www.daishin.com/g.ds?m=1101&p=12294&v=11949

  2. Cybos5 로그인 화면에서 Cybos plus로 바꿔서 로그인
    (좌측 상단 Cybos 클릭해서 바꿀 수 있음)

Cybos plus 실행시키면 작업 표시줄에 아래 사진처럼 보라색 아이콘이 생김

해당 아이콘을 우클릭 후 주문오브젝트 사용 동의 필요

  1. anaconda 설치 후 anaconda prompt 열기

https://www.anaconda.com/download

이후 프롬프트 창에 아래 코드 입력해서 가상환경 만들기(가상환경 이름을 py36_32로 설정하는 코드임)

conda 프롬프트에서 아래 코드 실행

conda create -n py36_32
conda activate py36_32
conda config --env --set subdir win-32
conda install python=3.6
conda info
# conda info 실행 후 플랫폼에서 win-32인지 확인하기

다음과 같이 platform이 win-32면 성공(대신증권 API가 32 bit 가상 환경에서만 돌아감)

아래 주소 참고
https://koos808.tistory.com/2

  1. pycharm 설치
    설치하면 아래 화면처럼 나옴

위 화면에서는 Create New Project, 만약 이미 다른 프로젝트 창이 있다면 왼쪽 위 삼선 아이콘 - 파일 - 새 프로젝트

그러면 다음과 같이 창이 나옴

이때 인터프리터 타입을 사용자 지정 환경 - 환경: 기존항목 - 타입: Conda - 환경: 위에서 만든 가상환경(32bit 환경) 설정 후 생성

여기서 가상환경 파일 경로는 C드라이브 사용자 폴더, 아나콘다 폴더에 들어가서 py36_32 폴더 설정하면 됨

5. 아래 코드 파일 다운로드
아래 깃허브 주소의 py 파일과 ui파일 모두 다운로드 해서 바로 위 새 프로젝트 만드는 사진 속 위치에 해당하는 폴더에 옮기기(위 사진에서는 pythonProject2 폴더)
https://github.com/gyusu/Creon-Datareader
대신증권(Creon) PLUS API를 이용한 주가 데이터 수집 프로그램.

다음으로 anaconda prompt 창에 아래 코드를 실행해서 가상환경을 활성화 시킨 뒤 모듈을 다운로드

conda activate py36_32 # 32bit 파이썬 설치된 가상환경 활성화
pip install pandas
pip install tqdm
pip install PyQt5
pip install pypiwin32

6. SQLite 설치

https://www.sqlite.org/download.html

위 주소에서 아래 사진 속 파란색 상자에있는 주소 파일 다운로드(이때 32비트 운영체제면 파란색 상자 위 32비트 파일과 파란색 상자 속 아래 tool 파일 다운로드)

압축파일을 해제하고 sqlite3.exe 실행

그럼 이런 창이 뜰건데, .open (지정하고픈 db파일명) 쓰기 아래 사진 참고

그러면 db 파일이 만들어집니다.
(만약 안된다면 다음 주소 참고해서 환경변수 추가해야함)
https://blog.naver.com/rickman2/222850909657

그럼 얼추 준비가 모두 되었습니다.

Cybos plus와 pycharm을 관리자 권한으로 실행(아이콘 우클릭시 표시됨)
pycharm에서 py 파일 하나 만들어서

다음과 같은 코드로 Cybos plus 연결여부 확인(1이 출력되면 연결 성공)

이후 Creon_datareader.py 파일 실행

그럼 위와 같이 창이 뜨는데 DB 경로를 보면 ./db/~~ 라고 되어있음
그래서 5단계에서 py파일 옮겼던 폴더에 'db'라는 이름의 폴더 새로 만들어줘야함

그리고 DB 경로 옆 연결 누르면 1분봉/5분봉/일봉/주봉/월봉 데이터를 다운 받을 수 있으며, 1분봉은 최근 2년, 5분봉은 최근 5년 다운로드 가능.
이때 DB 경로 파일의 db명은 py 파일 옮겼던 폴더에 이미 존재하는 db 이름이면 안됨.

종목리스트 경로는 여러 종목의 분봉 데이터를 가져오고 싶을 때 연결하는 경로로, csv 파일만 사용할 수 있으며 csv 파일에 종목코드나 종목명을 써놓으면 됨.(만약 하나만 가져오고 싶거나 전체 가져오고 싶으면 필요 x)

이후 검색결과만 다운로드 or 전체 다운로드를 다운받고 싶은만큼 누르면 됨.

다음으로, db경로로 설정한 db 파일을 SQLite로 열면 다음과 같은 창이 뜸

그럼 파일 - 내보내기 - csv 파일로 내보내기를 통해 각 종목별 봉차트를 얻을 수 있습니다.

참고하기 좋은 글
1) https://wikidocs.net/3681

2) https://koos808.tistory.com/3

profile
공부하는 사람

2개의 댓글

comment-user-thumbnail
2025년 3월 28일

저와 같은 돈이 없는 학생들에게 유익한 정보네요!

1개의 답글