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

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

AI 배당투자 프로젝트

AI 주식 분석 리포트 자동화하기 | 갱신·품질검사·웹 배포

AI배당실험가 2026. 8. 23. 22:40

AI 배당성장주 분석 시스템 만들기
18편 / 다중 조건 확장 4편

17편에서는 재무·수급·차트·뉴스를 품질 게이트와 목적별 가중치로 묶는 종합점수 구조를 설계했습니다. 이번 편에서는 계산식을 한 번 실행하는 데서 끝내지 않고 원천 갱신·품질검사·점수 계산·HTML 생성·웹 배포·사람 검토를 반복 가능한 운영 절차로 만듭니다.

작성 기준일: 2026년 8월 22일

현재 공개 사이트는 수동 배치로 만든 정적 HTML입니다. 이 글은 향후 자동 갱신을 위한 운영 설계이며, 실제 스케줄러가 모든 단계를 무인 실행한다고 주장하지 않습니다.


자동화의 목표는 빨리 추천하는 것이 아닙니다

투자 데이터 자동화에서 가장 위험한 상황은 일부 원천이 실패했는데도 이전 값과 새 값을 섞어 정상 리포트처럼 발행하는 것입니다. 따라서 이번 시스템은 성공한 계산보다 실패를 감지하고 발행을 멈추는 능력을 먼저 갖춰야 합니다.

매일 실행은 일곱 단계로 나눕니다

투자 데이터의 환경점검 수집 정제 품질검사 계산 HTML 배포 감사 로그를 연결한 자동화 파이프라인
가격 수급 뉴스 공시를 수집해 품질 게이트와 계산을 거쳐 정적 웹 리포트로 배포하고 사람이 검토하는 자동 운영 흐름

  1. 환경 점검: API 인증키 존재 여부, 저장 공간, 네트워크와 기준일을 확인합니다.
  2. 원천 수집: 가격·수급·뉴스·공시를 각각 독립 작업으로 가져옵니다.
  3. 원본 보존: 수집 시각과 요청 조건을 붙여 원천 응답을 덮어쓰지 않고 저장합니다.
  4. 정제·연결: 종목코드·기업 고유번호·거래일 기준으로 자료를 표준화합니다.
  5. 품질 게이트: 누락률, 행 수, 날짜, 중복, 극단값과 정정 여부를 검사합니다.
  6. 계산·리포트: 영역별 점수와 상태를 계산하고 CSV·HTML을 생성합니다.
  7. 발행·감사: 통과한 결과만 웹에 배포하고 실행 로그와 사람 검토 상태를 남깁니다.

데이터마다 갱신 주기가 다릅니다

데이터 권장 확인 시점 발행 전 조건
종목·가격 거래일 장 종료 후 시장 기준일과 종목 수 확인
투자자별 수급 거래일 장 종료 후 외국인·기관·개인 합계와 누락 거래일 확인
뉴스 정해 둔 주기 또는 사용자 요청 시 검색 기준일·중복·회사명 혼동 확인
공시·재무 새 공시 확인 시 보고서 종류·연결/별도·정정공시 확인
계좌 리포트 모든 필수 원천 통과 후 기준일 일치와 품질 게이트 통과

재무제표가 바뀌지 않았는데 매일 다시 전체 API를 호출할 필요는 없습니다. 원천별 갱신 주기를 분리하면 호출량과 실패 가능성을 줄이고 어떤 자료가 오래됐는지 정확히 표시할 수 있습니다.

발행 상태는 READY·STALE·HOLD로 구분합니다

상태 조건 웹 처리
READY 필수 원천과 품질검사 통과 새 리포트 발행 가능
STALE 일부 원천이 갱신 기준을 넘김 기존 화면 유지, 기준일 경고 표시
HOLD 핵심 원천 실패·행 수 급변·계산 오류 새 결과 발행 중단
REVIEW 수치는 생성됐지만 사람 확인 필요 내부 검토 후 공개 결정
if critical_source_failed or quality_gate_failed:
    publication_status = "HOLD"
elif stale_sources:
    publication_status = "STALE"
elif manual_review_required:
    publication_status = "REVIEW"
else:
    publication_status = "READY"

실패한 날에는 어제 리포트가 자동으로 오늘 데이터인 것처럼 보이지 않게 기준일과 갱신 상태를 화면 상단에 표시합니다.

API 인증키는 HTML과 저장소에 들어가면 안 됩니다

OpenDART·KRX·NAVER 인증키는 실행 환경의 비밀 변수에서만 읽습니다. 정적 웹사이트에는 계산 결과와 공개 가능한 원문 링크만 올리고 요청 헤더, 비밀키, 원천 응답의 민감 정보는 포함하지 않습니다.

  • 키를 Python 파일과 PowerShell 파일에 직접 적지 않습니다.
  • 환경변수 이름만 문서에 기록하고 값은 출력하지 않습니다.
  • 로그에 요청 헤더와 전체 오류 응답을 그대로 남기지 않습니다.
  • Git에 올리기 전 비밀키 패턴과 원천 폴더를 검사합니다.
  • 키가 노출되면 즉시 폐기하고 재발급합니다.

정적 HTML 배포는 계산 환경과 공개 화면을 분리합니다

현재 공개 프로그램처럼 계산은 로컬 PC에서 수행하고 결과 HTML만 GitHub Pages에 올리면 인증키와 원천 파일을 공개하지 않고도 PC·모바일에서 같은 화면을 볼 수 있습니다.

  1. 로컬에서 원천 수집과 계산을 실행합니다.
  2. 테스트와 품질 게이트를 통과시킵니다.
  3. 공개 가능한 CSV·HTML만 배포 폴더로 복사합니다.
  4. 변경 요약과 데이터 기준일을 확인합니다.
  5. GitHub Pages에 배포한 뒤 모바일 화면과 링크를 검사합니다.

현재 KOSPI 장기계좌 분석 웹 프로그램 열기

자동 실행 후에도 사람이 확인할 항목이 남습니다

  • 정정공시 전후 어느 수치를 사용할지
  • 회사 분할·합병·종목코드 변경을 어떻게 연결할지
  • 일회성 손익과 대규모 CAPEX의 경제적 의미
  • 뉴스의 동명이인·반어·부정 표현 오분류
  • 수급 급변이 지수 리밸런싱이나 블록딜 때문인지
  • 높은 점수를 투자 결론처럼 표현하지 않았는지

운영 로그는 결과와 같은 수준으로 중요합니다

매 실행마다 다음 정보를 남겨야 같은 결과를 다시 만들 수 있습니다.

로그 기록 내용
run_manifest 실행 ID, 시작·종료 시각, 코드 버전
source_status 원천별 성공·실패·기준일·행 수
quality_report 누락률, 중복, 범위 오류, 보류 건수
score_version 계산식과 가중치 버전, 변경 사유
publication_log READY·STALE·HOLD 상태와 배포 대상

18편에서 확정한 운영 원칙

  • 원천별 갱신 주기와 실패 상태를 분리합니다.
  • 원본을 덮어쓰지 않고 실행 ID와 기준일을 보존합니다.
  • 핵심 품질검사 실패 시 새 웹 리포트 발행을 중단합니다.
  • 인증키와 원천자료를 정적 HTML 및 Git 저장소와 분리합니다.
  • 웹 화면에 점수뿐 아니라 기준일·상태·보류 사유를 표시합니다.
  • 자동화는 사람의 최종 검토를 없애지 않습니다.

다음 구현 단계

15~18편에서 수급·차트·종합점수·자동 운영의 명세를 먼저 고정했습니다. 다음 실제 구현에서는 KRX 투자자별 거래 데이터를 연결하고, 수급 계산 결과부터 독립 CSV와 웹 화면으로 검증할 예정입니다. 실제 숫자가 만들어진 뒤 차트와 종합점수를 순서대로 추가합니다.


이전 글
17편. 뉴스·재무·수급·차트 종합점수 만들기 | 다중 조건 스크리닝

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

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

이 글은 데이터 분석 시스템의 운영 설계를 기록한 학습 콘텐츠입니다. 자동 생성된 점수와 문장은 특정 종목의 매수·매도를 권유하지 않으며, 투자 판단과 책임은 투자자 본인에게 있습니다.