안녕하세요! 오늘은 최근 제가 직접 개발하고 최적화한 **‘키움 대량체결 & AI 종가베팅 스코어링 시스템’**에 대해 소개해 드리려고 합니다.
사실 저는 개인적인 성향상 종목을 다음 날로 넘기는 ‘오버데이(오버나잇)’를 굉장히 싫어하는 편입니다. 밤사이 어떤 악재가 터질지 모른다는 불안감 때문이죠. 하지만 매매를 하다 보니 장 후반에 확실한 기준을 가지고 접근할 수 있는 무언가에 ‘의지’하고 싶어졌습니다.
그래서 장중에는 대량체결 감시로 단기 매매를 진행하고, 장 끝날 때쯤 확실한 근거를 바탕으로 매매하기 위해 총 12점 만점의 스코어링 시스템을 제작했습니다. 대량체결 순위권에 들어온 종목들을 분석하여 점수가 높은 순으로 나열하고, 총점 9점 이상인 종목에만 마음 편하게 종가베팅을 진행하는 방식입니다

* 시스템의 핵심: 거래량과 거래대금 3대장 (가장 중요한 지표)
종가베팅에서 제가 가장 중요하게 생각하는 것은 단연코 **’거래량’과 ‘거래대금’**입니다. 이를 위해 다음 3가지 핵심 항목을 시스템의 메인으로 잡았습니다.
1. 체결강도 대신 선택한 ‘회전율’ (최대 3점) 이전에는 초반 종목을 선별할 때 ‘체결강도’를 즐겨 봤습니다. 하지만 체결강도는 장 초반엔 유용해도 장 후반부의 힘을 판별하기에는 아쉬움이 많았습니다. 그래서 시가총액과 유통주식수 대비 **’회전율’**을 기준으로 점수를 부여하도록 코드를 수정했습니다. 시총 2조 원을 기준으로 회전율에 따라 1~3점을 부여하며, 특히 거래대금이 5,000억 원 이상 터진 종목은 회전율과 상관없이 무조건 최고점인 3점을 부여하도록 설계했습니다. 정확도를 높이기 위해 정규장(KRX)과 대체거래소(NXT)의 거래량을 실시간으로 합산합니다.
2. 오늘의 진짜 주도주를 찾는 ‘포켓 피봇 (PP Vol)’ (1점) 오늘 이 종목이 진짜 시장을 이끄는 강한 주도주인지 확인하기 위해 포켓 피봇 개념을 보완했습니다. 최근 10거래일 내 최대 하락 거래량 대비 당일 상승 거래량이 1.5배 이상 터진 의미 있는 양봉에 점수를 줍니다.
3. 장 막판의 힘, ‘2시 트렌드’ (1점) 장 후반부의 자금 유입과 움직임을 확인하기 위해 오후 2시 이후 가격이 우상향하고 수급 밀집도(거래속도)가 오전 대비 1.0배 이상인 종목을 잡아내도록 트렌드 코드를 추가했습니다.
* 수급과 차트: 귀찮음이 만들어낸 타협점(?)
그 외 나머지 항목들은 흔히 쓰는 차트 및 수급 지표들을 1점씩 배점하여 추가했습니다.
- 기관 / 외국인 수급 (각 1점): 원래대로라면 장 마감 후 대체거래소(NXT) 시간까지 정확한 수급 데이터를 보며 매매하는 것이 정석입니다. 하지만 개인적으로 장이 끝난 후까지 계속 HTS를 쳐다보고 있는 게 너무 피곤하고 싫더라고요. 그래서 타협점을 찾아 장중 기관과 외국인의 ‘잠정치(opt10063)’가 5만 주 이상일 때 점수를 주도록 설정했습니다.
- 차트 및 패턴 (각 1점): 52주 신고가 근접 여부, 5-10일-20-60일 이동평균선 정배열, 꼬리가 짧고 몸통이 긴 캔들 형태, 그리고 당일 양봉이 생기기전에 기간 조정 거쳤는지 여부를 확인합니다.
* 제미나이(Gemini) AI 뉴스 분석: 버퍼링과의 사투
가장 공을 많이 들이고, 동시에 가장 애를 먹은 부분이 바로 **AI 뉴스 감성 분석 (1점)**입니다.
초기 기획은 키움증권에서 뉴스와 각종 차트 데이터를 긁어와 구글 제미나이(Gemini)에게 종합적인 분석을 맡기는 것이었습니다. 하지만 키움에서 받아온 방대한 데이터를 제미나이에게 넘겨 분석시키려니 버퍼링이 너무 심해서 실시간 대응이 불가능했습니다. 계속해서 코드 최적화를 시도했지만 소용이 없었죠.
결국 방식을 바꿨습니다. 제미나이가 직접 최소한의 필수 뉴스 제목만 검색해서 가져오고, 그것이 호재인지 악재인지만 판별(Score > 0)하도록 가볍게 만들었습니다. (물론 유상증자, CB, BW 같은 치명적인 오버행 이슈는 블랙리스트로 자동 필터링됩니다).
또한, 제미나이 API는 호출 제한이 있기 때문에 모든 종목을 실시간으로 계속 분석할 수는 없습니다. 그래서 종목이 스코어링 테이블에 처음 등장할 때 딱 한 번만 뉴스를 분석하게 뒀습니다. 대신, 장 막판(오후 3시쯤)에 새로운 뉴스가 뜰 수도 있으므로 UI 우측 상단에 [분석 업데이트] 버튼을 별도로 만들었습니다. 종가베팅 직전인 3시쯤 이 버튼을 한 번 눌러주면 전체 뉴스와 AI 스코어를 다시 최신화하도록 효율성을 높였습니다.
* 시스템 환경 설정 팁
참고로 이 시스템은 키움 Open API가 32비트 전용이기 때문에 파이썬 듀얼 환경으로 구축해야 합니다. 대량체결과 UI를 담당하는 메인 스크립트는 32비트 환경에서 실행하고, 제미나이 뉴스 분석은 64비트 환경에서 백그라운드로 실행되도록 경로를 설정해 주어야 원활하게 돌아갑니다. 화면을 보면 1분마다 스코어가 자동 갱신되며, 조건이 충족되어 총점 9점을 넘긴 종목은 표에서 한눈에 띄게 강조됩니다.
오버나잇의 막연한 불안감을 객관적인 12점 만점의 데이터로 이겨내기 위해 만든 저만의 스코어링 시스템! 앞으로 이 시스템이 장 후반 저의 든든한 매매 파트너가 되어주길 기대해 봅니다.