본문 바로가기
인천고래 프로그램

KRX API를 걷어 냈습니다.

by 인천고래
반응형

안녕하세요. 주식 관련 지식을 공유하는 인천고래입니다.

올해 KRX에서 API를 신청해야만 쓸 수 있었던 주가 관련 코드를 오늘에서야 완전히 걷어내 버렸습니다.

 

2026.01.06 - [인천고래 프로그램] - KRX 시세 데이터, 이제 로그인 & API를 신청 해야 쓸 수 있네요. ㅜ

 

KRX 시세 데이터, 이제 로그인 & API를 신청 해야 쓸 수 있네요. ㅜ

안녕하세요. 주식 관련 데이터를 분석하는 투자자 인천고래입니다.오늘 이렇게 갑자기 글을 쓰는 이유는 제가 만든 프로그램들이 에러가 나기 시작해서입니다. 저는 전체 종목에 대한 정보와

i-whale.com

 

KRX에서 크롤링 하던 것을 KRX 정책 변경으로 인해 관련 코드를 API를 사용하게 변경해서 사용해 왔었는데

사용함에 있어서 불편함이 존재해서 오늘에서야 완전히 걷어 내 버렸습니다.

 

걷어낸 내용을 정리 하자면

KPX/KRX API 호출 경로를 걷어내고, V8 시그널/클라이언트 모두 키움 API 기반으로 바꿨는데

 

주요 변경:

  • 시그널 서버에 키움 마스터 동기화 모듈 추가: kiwoom_stock_master_sync.py (line 1)
  • 서버 시작/수동 라우트가 키움으로 stocks 갱신 후 config.code_df를 DB에서 로드: _Trader_Signal_Server_v8_0.py (line 681)
  • 일봉/분봉 수집기가 KRX 호출 대신 stocks DB의 활성 종목만 사용: daily_kiwoom_to_db.py (line 291), min_kiwoom_to_db.py (line 486)
  • 전체 파이프라인 시작 전에 키움 종목 마스터 동기화 추가: all_tasks_sequentially.py (line 111)
  • 클라이언트 테마/보조 유틸의 KRX 웹 호출을 키움 마스터 호환 DataFrame으로 교체: kiwoom_stock_master.py (line 225), getTheme.py (line 290)
  • KRX_AUTH_KEY는 서버 설정/매니저에서 제거했고, 기존 krx_api.py는 실수 호출 방지용 제거 스텁으로 바꿨습니다.

안정성 쪽으로는 stocks 스키마 자동 보정, 키움 런타임 busy 시 DB 캐시 재사용, 거래정지 상태 동기화, 그리고 KB금융처럼 정상 종목이 ETF prefix 필터에 잘못 걸리는 위험을 줄였습니다.

 

검증:

  • 수정 파일 py_compile 통과
  • 직접 KRX/KPX API URL/Auth/호출 패턴 검색 결과 없음
  • 수정 파일 UTF-8 strict 디코딩 통과
  • 인코딩 깨짐 패턴은 증가 없음. 기존 깨짐이 있던 일봉/분봉 파일은 오히려 일부 감소했습니다.

 

현재까지 완료된 버전은 V8 버전으로 아래와 같이 서버(Analysis 기반)와 클라이언트(Auto Trader) 버전으로 나뉘어 있습니다.

9월 경으로 예정된 12시간 장 체계로 변경될 시점에 맞춰서 2~3개월 내에 테스팅을 완료할 예정으로 움직이고 있습니다.

 

테스팅 승률은 꽤 나오는 편인데 실제 장에서 어떻게 될지는 지속적으로 검증해 봐야 할 것 같습니다.

인천고래 V8 Analysis Hub 화면
인천고래 V8 Analysis Registry 화면
인천고래 V8 Client 매수/매도 화면

지난 목요일(4월 30일) 장 조정 흐름으로 인해 수익이 손실로 바뀐 부분은 안타깝네요 ㅜ

조만간 다시 완성형이 되어가고 있는 자동매매 프로그램을 선 보이도록 하겠습니다.

 

즐거운 주말 행복하게 보내시길 바라겠습니다.

감사합니다. ^^

반응형