데이터와 AI로 검증하는 장기투자 시스템

재직자 AI 대학원생의 배당성장주 분석 프로젝트

AI 배당투자 프로젝트

외국인·기관 순매수는 주가 상승으로 이어졌을까? | 수급 백테스트 데이터 점검

AI배당실험가 2026. 9. 6. 21:59

AI 배당성장주 분석 시스템 만들기
22편 / 실제 운영 검증 4편

21편에서는 최근 뉴스 100건을 직접 읽어 자동 분류의 한계를 확인했습니다. 이번 편에서는 외국인·기관의 순매수가 이후 주가 상승으로 이어졌는지 검증하려고 했습니다. 그러나 현재 프로젝트를 점검한 결과, KOSPI 일별 가격은 42거래일치가 있지만 종목별·투자자별 순매수 원천자료는 아직 연결되지 않았습니다. 이 상태에서 성과 숫자를 만들면 실제 백테스트가 아니라 추정값이 됩니다. 그래서 이번 편에서는 결과를 꾸미지 않고, 필요한 데이터와 시간 순서·계산식·통과 조건을 먼저 확정합니다.

작성 기준일: 2026년 9월 6일 · 가격 자료 범위: 2026년 7월 7일~9월 4일, 42거래일

순매수는 매수 신호가 아닙니다. 수급이 가격보다 먼저 움직였는지는 반드시 신호 발생 이후의 수익률로 따로 검증해야 합니다.


먼저 결론: 현재 데이터로는 수급 백테스트를 완료할 수 없습니다

프로젝트의 KRX 원천 파일 42개를 확인했습니다. 각 파일에는 종목코드·종목명·시가·고가·저가·종가·거래량·거래대금·시가총액·상장주식수가 들어 있습니다. 하지만 외국인과 기관의 매수대금·매도대금·순매수대금은 없습니다.

검증에 필요한 자료 현재 상태 판정
KOSPI 종목별 일별 종가·거래대금 2026-07-07~2026-09-04, 42거래일 있음
종목별 외국인 매수·매도·순매수 프로젝트 파일에 없음 미연결
종목별 기관 매수·매도·순매수 프로젝트 파일에 없음 미연결
신호 후 60거래일 가격 현재 42거래일 범위로 부족 기간 부족
KOSPI 비교지수와 기업행동 조정값 별도 백테스트 표 없음 추가 필요

따라서 이번 편에는 ‘외국인 순매수 종목의 20일 수익률이 몇 %였다’ 같은 결과를 쓰지 않습니다. 없는 값을 0으로 채우거나 뉴스·거래량으로 대신 추정하지도 않습니다. 검증 불가를 결과의 일부로 남기는 것이 데이터 품질 원칙에 맞습니다.

15편의 수급 설계를 실제 검증 규칙으로 바꿉니다

15편에서는 외국인·기관의 5일·20일 누적 순매수, 동시 순매수와 수급 반전을 설계했습니다. 이번에는 그 지표를 계산한 뒤 어떤 방식으로 성과를 판정할지 고정합니다.

KOSPI 가격 42거래일은 준비됐지만 투자자별 순매수 자료는 미연결 상태이며 데이터 연결 후 시간 순서에 따라 검증하는 절차
수급 원천자료 연결부터 신호일 계산, 다음 거래일 진입, 5·20·60일 초과수익률 평가까지의 백테스트 설계

순매수대금과 수급강도는 다릅니다

순매수대금은 일정 기간 동안 매수대금에서 매도대금을 뺀 값입니다. 기업 규모와 거래량이 큰 종목은 같은 관심도에서도 금액이 커질 수 있으므로, 종목 간 비교에는 거래대금으로 나눈 수급강도를 함께 사용합니다.

일별 순매수대금 = 매수대금 - 매도대금

5일 누적 순매수대금 = 최근 5거래일 일별 순매수대금의 합

20일 수급강도(%) =
    최근 20거래일 누적 순매수대금
    ÷ 최근 20거래일 누적 거래대금 × 100

외국인과 기관은 서로 다른 주체이므로 각각 계산합니다. 두 값을 먼저 합치면 한쪽의 매수를 다른 쪽의 매도가 상쇄해 신호의 성격을 알기 어렵습니다.

신호일과 매수 가능일을 분리합니다

수급 자료가 장 마감 뒤 확정된다면 당일 종가를 미리 알고 매수한 것으로 처리해서는 안 됩니다. 이번 백테스트의 기본 시간 순서는 다음과 같이 고정합니다.

  1. 신호일 t: t일 장 마감까지 공개된 자료만 사용해 5일·20일 수급강도를 계산합니다.
  2. 진입일 t+1: 다음 거래일 종가를 기준가격으로 사용합니다.
  3. 평가일: 진입 뒤 5·20·60거래일의 종가로 보유수익률을 계산합니다.
  4. 비교: 같은 기간 KOSPI 수익률을 빼 초과수익률을 계산합니다.
  5. 비용: 매수·매도 비용을 가정해 비용 전후 결과를 모두 기록합니다.
종목 보유수익률 = 평가일 수정주가 ÷ 진입일 수정주가 - 1

초과수익률 = 종목 보유수익률 - 같은 기간 KOSPI 수익률

t일 수급으로 t일 종가 수익을 설명하면 미래정보 사용 오류가 생길 수 있습니다. 계산 가능한 날짜와 실제 주문 가능한 날짜를 분리해야 합니다.

한 가지 결과가 아니라 여섯 가지 지표로 봅니다

평가지표 확인하는 질문
평균 초과수익률 전체 신호의 평균적인 효과가 있었는가?
중앙값 초과수익률 소수 급등 종목이 평균을 왜곡하지 않았는가?
승률 초과수익률이 0보다 큰 사례의 비율은 얼마인가?
하위 손실 좋지 않았던 10% 사례의 손실은 얼마나 컸는가?
표본 수 몇 번의 신호를 바탕으로 계산했는가?
회전율·비용 잦은 교체 뒤에도 효과가 남는가?

평균만 좋고 중앙값과 승률이 나쁘다면 몇 개의 급등 사례가 결과를 끌어올렸을 수 있습니다. 장기계좌에서는 수익률뿐 아니라 큰 손실과 지나친 종목 교체도 함께 봐야 합니다.

상위 그룹과 하위 그룹을 같은 조건에서 비교합니다

수급이 강한 종목만 모아 수익률을 계산하면 시장 전체가 상승한 효과를 수급 효과로 착각할 수 있습니다. 같은 날짜에 같은 시장에서 다음 그룹을 나누어 비교합니다.

  • 상위 20%: 외국인 또는 기관의 20일 수급강도가 높은 종목
  • 하위 20%: 같은 지표가 낮은 종목
  • 동시 순매수: 외국인과 기관의 5일 누적 순매수가 모두 양수인 종목
  • 반전 신호: 20일 누적은 음수지만 최근 5일 누적이 양수로 바뀐 종목

보통주와 우선주는 유동성 구조가 다르므로 별도 그룹으로 검증합니다. 거래정지·관리종목·가격 누락 종목은 제외 이유를 로그로 남기고, 나중에 사라진 종목까지 포함해 생존 편향을 줄여야 합니다.

매일 발생하는 겹친 신호를 그대로 세면 안 됩니다

한 종목이 20일 연속 상위 수급 그룹에 들어가면 거의 같은 구간을 20개의 독립 사례처럼 셀 수 있습니다. 이를 줄이기 위해 기본 실험은 월 1회 리밸런싱으로 고정하고, 주간 결과는 민감도 분석으로만 비교합니다.

  1. 매월 마지막 거래일에 수급 신호를 계산합니다.
  2. 다음 거래일 종가에 동일 비중으로 편입했다고 가정합니다.
  3. 다음 리밸런싱일까지 보유하고 비용을 차감합니다.
  4. 같은 기간 KOSPI와 수급 하위 그룹을 비교합니다.
  5. 최소 3년 이상의 여러 시장 구간에서 결과를 확인합니다.

실제 실행 전에 통과해야 할 품질 게이트

검사 실패 시 처리
종목코드·거래일·투자자 구분이 유일한가? 중복 행 보류
매수대금-매도대금과 제공 순매수가 일치하는가? 수치 불일치 보류
t일 자료의 실제 공개 가능 시점을 확인했는가? 미래정보 위험 보류
분할·병합·배당락을 반영한 가격인가? 수익률 계산 보류
신호 후 60거래일 가격이 존재하는가? 60일 평가 제외
상장폐지·거래정지 종목도 남아 있는가? 생존 편향 경고

어떤 자료가 연결되어야 실제 결과를 낼 수 있을까?

KRX Open API의 현재 프로젝트 파일은 유가증권 일별매매정보로 가격·거래량·거래대금을 제공합니다. 이번 검증에 필요한 것은 여기에 더해 종목별·투자자별 EOD 매매자료입니다. 공식 데이터 상품이나 사용 권한이 확인된 증권사 API 등 재현 가능한 출처를 연결해야 합니다.

데이터를 받기 전에 이용 범위도 확인해야 합니다. 특히 수집한 원천 데이터를 블로그나 공개 프로그램에서 그대로 재배포할 수 있는지는 분석 결과 공개와 별개의 문제입니다. 공개 화면에는 원천 행 전체가 아니라 계산한 지표와 기준일, 품질 상태를 제공하는 방식을 우선 검토합니다.

22편에서 확정한 것

  • 현재 프로젝트에는 KOSPI 가격 42거래일치가 있지만 종목별 외국인·기관 자료는 없습니다.
  • 데이터가 없는 상태에서는 수급 백테스트 성과를 발표하지 않습니다.
  • 신호일 t와 실제 진입일 t+1을 분리합니다.
  • 5·20·60일 수익률과 KOSPI 대비 초과수익률을 함께 계산합니다.
  • 평균뿐 아니라 중앙값·승률·하위 손실·표본 수·비용을 함께 기록합니다.
  • 기본 실험은 월 1회 리밸런싱으로 겹친 표본을 줄입니다.
  • 공식 원천과 사용 권한을 확인한 뒤에만 실제 수급 점수를 공개 프로그램에 연결합니다.

다음 편

23편에서는 이동평균선·RSI·거래량 같은 차트 신호가 종목을 고르는 예측 도구인지, 아니면 매수 시점을 늦추는 확인 도구인지 같은 시간 원칙으로 검증하겠습니다.


이전 글
21편. AI 뉴스 분류는 얼마나 정확할까? | 호재·악재·중립 100건 직접 검증

관련 설계 글
15편. 외국인·기관은 언제 함께 샀을까? | 수급 분석 설계

공개 프로그램
KOSPI 장기계좌 분석 프로그램

공식 자료
KRX Open API 서비스 목록
KRX 정보데이터 상품 목록
KRX 데이터 이용 안내

프로젝트 로드맵
AI 배당성장주 분석 시스템 프로젝트 로드맵

이 글은 투자자별 수급 백테스트를 설계하고 데이터 준비 상태를 점검한 개인 연구 및 학습 콘텐츠입니다. 순매수와 과거 수익률은 미래 성과를 보장하지 않으며, 특정 종목의 매수·매도를 권유하지 않습니다.