728x90
반응형
키움증권 REST API로 주식 분봉차트 조회하기 (Python)
📌 개요
키움증권에서 제공하는 REST API를 활용하여 Python으로 주식의 분봉차트를 조회하는 방법을 소개합니다. 이 API를 통해 특정 종목의 실시간 차트 데이터를 프로그래밍적으로 가져올 수 있어, 자동매매나 데이터 분석에 활용할 수 있습니다.
🚀 핵심 기능
- 실시간 분봉차트 데이터 조회: 1분, 3분, 5분, 10분, 15분, 30분, 45분, 60분 단위 차트 조회 가능
- 연속 조회 지원: 대량의 과거 데이터도 순차적으로 조회 가능
- 수정주가 옵션: 분할/배당 등을 반영한 수정주가로 조회 가능
💻 구현 코드
import requests
import json
def fn_ka10080(token, data, cont_yn='N', next_key=''):
"""
키움증권 REST API를 통한 주식 분봉차트 조회 함수
Args:
token (str): 접근 토큰
data (dict): 요청 파라미터
cont_yn (str): 연속조회 여부 ('N' 또는 'Y')
next_key (str): 연속조회 키
"""
# 1. API 엔드포인트 설정
host = 'https://api.kiwoom.com' # 실전투자 서버
endpoint = '/api/dostk/chart'
url = host + endpoint
# 2. 요청 헤더 구성
headers = {
'Content-Type': 'application/json;charset=UTF-8',
'authorization': f'Bearer {token}',
'cont-yn': cont_yn,
'next-key': next_key,
'api-id': 'ka10080', # 분봉차트조회 TR명
}
# 3. API 호출
response = requests.post(url, headers=headers, json=data)
# 4. 응답 결과 출력
print('응답 코드:', response.status_code)
print('응답 헤더:', json.dumps({
key: response.headers.get(key)
for key in ['next-key', 'cont-yn', 'api-id']
}, indent=4, ensure_ascii=False))
print('응답 데이터:', json.dumps(response.json(), indent=4, ensure_ascii=False))
# 실행 예제
if __name__ == '__main__':
# 접근 토큰 설정 (실제 토큰으로 교체 필요)
MY_ACCESS_TOKEN = '[발급받은_접근_토큰]'
# 요청 파라미터 설정
params = {
'stk_cd': '005930', # 종목코드 (삼성전자)
'tic_scope': '1', # 틱범위 (1분)
'upd_stkpc_tp': '1', # 수정주가 적용
}
# API 호출
fn_ka10080(token=MY_ACCESS_TOKEN, data=params)
# 연속 조회가 필요한 경우
# fn_ka10080(token=MY_ACCESS_TOKEN, data=params, cont_yn='Y', next_key='연속조회키')
📋 주요 파라미터 설명
요청 파라미터
파라미터 설명 값 예시
| stk_cd | 종목코드 | '005930' (삼성전자) |
| tic_scope | 틱범위 | '1': 1분, '5': 5분, '60': 60분 |
| upd_stkpc_tp | 수정주가구분 | '0': 미적용, '1': 적용 |
틱범위 옵션
- 1: 1분봉
- 3: 3분봉
- 5: 5분봉
- 10: 10분봉
- 15: 15분봉
- 30: 30분봉
- 45: 45분봉
- 60: 60분봉
🔧 연속 조회 처리
대량의 과거 데이터를 조회할 때는 연속 조회 기능을 활용합니다:
# 첫 번째 조회
response = fn_ka10080(token, params)
# 응답 헤더에서 연속조회 정보 확인
next_key = response.headers.get('next-key')
cont_yn = response.headers.get('cont-yn')
# 연속 데이터가 있으면 추가 조회
if cont_yn == 'Y' and next_key:
fn_ka10080(token, params, cont_yn='Y', next_key=next_key)
📈 활용 사례
- 자동매매 시스템: 실시간 차트 패턴 분석
- 백테스팅: 과거 데이터를 활용한 전략 검증
- 데이터 분석: 주식 시장 트렌드 분석
- 알림 시스템: 특정 조건 만족 시 알림 발송
🚨 주의사항
- 접근 토큰 관리: 토큰은 보안상 안전하게 관리해야 합니다
- API 호출 제한: 과도한 호출 시 제한이 걸릴 수 있습니다
- 에러 처리: 네트워크 오류나 API 오류에 대한 예외 처리 필요
- 모의투자: 실제 거래 전 모의투자 환경에서 테스트 권장
🔗 관련 API
키움증권에서 제공하는 관련 API들:
- ka10082: 주식 주봉차트 조회
- ka10080: 주식 분봉차트 조회 (현재 API)
- 기타 차트 관련 API들
📚 참고 자료
- 키움증권 REST API 공식 문서
- 키움 REST API 가이드
- 모의투자 이용안내
면책조항: 이 내용은 키움증권 AI 코딩 어시스턴트를 참고하여 작성되었으며, 실제 투자에 활용 시 충분한 검토와 테스트가 필요합니다. 투자 결과에 대한 책임은 투자자 본인에게 있습니다.
728x90
반응형
'IT와 과학 > 주식자동매매기술' 카테고리의 다른 글
| VWAP 완벽 마스터 가이드: 거래량으로 시장을 읽는 법 (0) | 2025.09.23 |
|---|---|
| 키움 REST API | 주문 시스템 구현(브래킷·정정·취소, exec-date) — Python 실전 (2025-10 최신) (0) | 2025.09.05 |
| 키움증권 연동을 위한 가상환경 활성화 (1) | 2025.08.31 |
| 💰 2020년 코로나 때 이거 알았으면 10배 수익! VIX 지수 완벽 가이드 (0) | 2025.03.03 |
| 삼성전자 주가 선행 수준별 인과관계 그래프 (0) | 2025.03.02 |