본문 바로가기

IT와 과학/주식자동매매기술

[제9편] AI 자동매매 실전 Day 3 — 하루 종일 매수 0건, 그래서 시스템을 새로 만들었다

728x90
반응형

AI 자동매매 실전 Day 3 — 하루 종일 매수 0건, 그래서 시스템을 새로 만들었다

부제: AI가 모든 종목에 "확신 부족"이라고 말한 날. 그런데 진짜 문제는 AI가 아니라 '구조'였다.

자동매매 시스템을 운영하다 보면 가장 당혹스러운 순간은 예상외의 손실이 날 때가 아닙니다. 바로 '아무것도 하지 않을 때'입니다. 2026년 2월 13일 금요일, 제 AI 시스템은 500만 원이라는 막대한 예수금을 손에 쥐고도 단 한 주의 주식도 사지 않았습니다.

시장은 상승하고 있었고, 현금 비중은 76%에 달했습니다. 무엇이 문제였을까요? 오늘은 시스템의 '완벽주의'가 어떻게 '비효율'로 변질되는지, 그리고 이를 해결하기 위해 어떤 설계적 결단을 내렸는지 공유합니다.

 

 


1. 사건 1: "확신 부족" — 3종목 BUY 신호인데 전부 탈락한 이유

아침부터 시스템은 분주하게 22개 종목을 분석했습니다. 결과적으로 3개의 종목에서 '매수(BUY)' 신호가 포착되었습니다.

  • HD현대일렉트릭(267260): 확신도 49점 (기준점 55점 미달)
  • LS ELECTRIC(010120): 확신도 43점
  • 두산에너빌리티(034020): 확신도 47점

수치만 보면 나쁘지 않았습니다. 규칙 기반 모델인 V3a는 "지금이 매수 적기"라고 강하게 주장(GREEN)했습니다. 하지만 확률 기반 AI 모델인 GBT가 "아직은 조심스럽다"며 빨간불(RED)을 켰습니다.

저희 시스템은 두 모델이 만장일치로 찬성해야만 높은 확신도를 부여합니다. 결과적으로 모든 종목이 'C등급'으로 분류되어 매수 대상에서 제외되었습니다. AI가 너무 신중했던 탓일까요? 아니면 제가 기준을 너무 엄격하게 잡은 탓일까요?


2. 사건 2: 기술적 결함 — Gemini Pro의 마크다운 역습

설상가상으로 두 번째 기회였던 'AJ엔진(셀트리온찾기)'마저 무너졌습니다. 정찰병 모델이 10개의 유망 종목을 골라냈지만, 최종 의사결정을 내리는 Gemini 2.5 Pro가 응답 형식을 어겼습니다.

시스템은 순수한 JSON 데이터를 기대했지만, AI 모델이 친절하게(?) 마크다운 코드 블록(json ...)으로 감싸서 답변을 보낸 것입니다. 이전에 수정한 파싱 로직이 아직 배포되지 않았던 탓에 시스템은 응답을 해석하지 못했고, 결국 오전과 오후 두 차례의 매수 기회는 모두 허공으로 날아갔습니다.


3. 사건 3: 위기지표와 시장 레짐의 모순

오늘 시스템을 가장 혼란스럽게 만든 것은 '데이터의 충돌'이었습니다.

  • 위기지표: 59.3점 (글로벌 매크로 기반 VIX, 금, 달러 강세 → CRISIS)
  • 시장 레짐: KOSPI 5,522 (20일 이동평균선 상회, 기울기 +3.2% → BULL)

매크로 지표는 "지금 당장 대피하라"고 비명을 지르는데, 실제 국내 시장은 로봇, 자율주행, 2차전지 섹터를 중심으로 강력한 반등 장세를 보였습니다. 이 모순된 정보 사이에서 GBT 모델은 '불확실성'에 높은 가중치를 두었고, 이는 결국 모든 종목의 확신도를 깎아먹는 결과를 초래했습니다.


4. 근본 원인 분석 — "100점짜리 직원만 뽑으려다 팀이 해체된다"

오늘의 매수 공백을 지켜보며 저는 시스템 설계의 근본적인 결함을 발견했습니다. 기존 시스템은 오로지 '타이밍 트레이딩'에만 집착하고 있었습니다.

"V3a와 GBT가 동시에 BUY를 외치는 완벽한 날에만 사겠다"는 전략은 틀린 말이 아닙니다. 하지만 문제는 그렇게 완벽한 날이 1년에 며칠 되지 않는다는 점입니다.

비유하자면, "100점 만점에 100점인 직원만 뽑겠다"고 선언한 회사는 영원히 팀을 구성할 수 없습니다. 투자에서도 마찬가지입니다. 시장의 파동을 타는 '타이밍'도 중요하지만, 일단 안정적인 자산 배분을 위해 '포트폴리오'를 채워 넣는 작업이 선행되어야 합니다. 현재 시스템은 포트폴리오를 구성할 의지도, 로직도 없었습니다.


5. 해결책: '포트폴리오 완성 엔진 (Step 3b)'의 탄생

저는 즉시 '타이밍 트레이딩''포트폴리오 구성'을 분리하기로 했습니다. 새로운 엔진인 Step 3b는 "언제 사느냐"보다 "비중을 어떻게 채우느냐"에 집중합니다.

새로운 엔진의 핵심 로직: "위험하지 않으면 일단 편입한다"

신호 조합 (V3a + GBT) 매수 전략 비중 반영
둘 다 GREEN 만장일치 매수 목표 갭의 50%
한 쪽만 GREEN 긍정적 편입 목표 갭의 40%
둘 다 YELLOW 분할 편입 목표 갭의 20%
한 쪽이 RED 최소 편입 목표 갭의 10%
둘 다 RED 진짜 위험 (스킵) 0%

만약 오늘 이 엔진이 작동했다면, 확신도 미달로 탈락했던 HD현대일렉트릭, LS ELECTRIC, 두산에너빌리티는 모두 목표 비중의 40%만큼 포트폴리오에 편입되었을 것입니다.


6. 시스템 개선 요약 및 실시간 대응

오늘의 실패를 거울삼아 시스템은 대대적인 수술을 거쳤습니다.

  1. 포트폴리오 완성 엔진(step3b) 신규 구현: 확신도 매수와 별개로 핵심 11종목의 비중을 위험도에 따라 자동으로 채웁니다.
  2. 장중 예수금 실시간 갱신: 포트폴리오 모니터가 5분마다 예수금을 체크하여, 입금이 감지되면 즉시 운용자본을 재계산하고 편입 계획을 업데이트합니다.
  3. AJ 엔진 파싱 강화: Gemini Pro의 변칙적인 마크다운 응답에도 유연하게 대응하도록 정규표현식 로직을 강화했습니다.

마무리 — 실패한 날이 시스템을 가장 많이 성장시킨다

오늘 제 계좌의 수익률은 +0.42%에 그쳤습니다. 76%의 현금이 놀고 있었던 것에 비하면 초라한 성적표입니다. 하지만 저는 오늘 하루가 실전 투자 중 가장 '행운의 하루'였다고 확신합니다.

시스템이 매수를 못 하는 현상을 통해 '타이밍'과 '구성'의 분리라는 투자 철학적 인사이트를 얻었고, 이를 코드로 구현해 냈기 때문입니다. 이제 제 AI는 단순히 '기다리는 사냥꾼'을 넘어, '기반을 다지는 건축가'의 면모를 갖추게 되었습니다.

다음거래일(2월 19일)은 이 '포트폴리오 완성 엔진'이 실전에서 첫 가동되는 날입니다. 과연 비어있는 500만 원의 예수금이 어떻게 채워질지, 기대해 주시기 바랍니다.


[내일의 관전 포인트]

  • 포트폴리오 완성 엔진을 통한 핵심 11종목의 첫 편입.
  • 5~7거래일 이내 포트폴리오 1차 완성을 목표로 한 공격적 비중 조절.

 

728x90
반응형