galaxis-po/docs/test-report-2026-05-09.md
머니페니 120a8546cb
Some checks failed
Deploy to Production / deploy (push) Failing after 2m38s
fix: 테스트 리포트 보완 계획 전체 구현
2026-05-10 16:44:05 +09:00

6.8 KiB

Galaxis-Po 배포 테스트 리포트

테스트 일시: 2026-05-09 (토)
테스트 URL: https://galaxis.ayuriel.duckdns.org
테스터: Claude (Cowork)


전체 결과 요약

페이지 / 기능 상태 비고
로그인 / 인증 정상
대시보드 정상
포트폴리오 목록 정상
포트폴리오 상세 (보유종목·거래내역·분석) 정상
전략 목록 정상
KJB 전략 실행 (종목 랭킹) 정상
매매 신호 (오늘) 정상 주말이라 신호 0건 — 정상
매매 신호 이력 정상
백테스트 실행 실패 No trading days found
데이터 수집 관리 (/admin/data) 정상
데이터 탐색 차트 실패 런타임 에러

정상 동작 상세

대시보드

  • 총 자산: ₩78,627,545
  • 총 수익률: +32.3% (+₩19,203,619)
  • 활성 포트폴리오: 3개
  • 보유 중인 종목: 5개
  • 자산 배분 도넛 차트 정상 렌더링

포트폴리오

  • 연금 포트폴리오 (퇴직연금): ₩78,627,545, +32.32%, 5종목 보유
    • ACE KRX금현물 (14.5%, +41.15%)
    • TIGER 미국S&P500 (18.0%, +25.38%)
    • KIWOOM 국고채10년 (20.6%, -7.31%)
    • TIGER 200 (2.4%, +241.95%)
    • KODEX 200미국채혼합 (44.6%, +58.89%)
  • 거래내역 탭: 2026-03-23 최근 매수 이력 정상 표시
  • 분석 탭: 자산 배분 차트 + 목표 vs 실제 비중 비교 정상

전략

  • 멀티 팩터, 슈퍼 퀄리티, 밸류 모멘텀, 김종봉 단기매매 4개 카드 정상
  • KJB 전략 실행: 30/30 종목 (기준일 2026-05-09), 팩터 스코어 순위 정상
    • 1위: LS ELECTRIC (산업재, 종합 86.55)

매매 신호

  • 오늘의 신호: 매수 0, 매도 0, 부분매도 0 (주말 - 정상)
  • 신호 이력: 2026-05-07 HD현대중공업(329180) 매수, 진입가 693,000, large_candle 사유

데이터 수집

  • 수집 작업 6종 정상 표시 (종목 마스터, 섹터 정보, 가격 데이터, 밸류 지표, ETF 마스터, ETF 가격)
  • 주식 마스터: 2,787건 수집 완료
  • ETFPriceCollector: 52,038건 수집 성공

버그 상세

BUG-01: 백테스트 전면 실패 (심각)

증상: 모든 전략, 모든 날짜 범위에서 실패
에러 메시지: 백테스트 실패: No trading days found in the specified period
재현: 백테스트 설정에서 어떤 전략을 선택해도 실행 즉시 실패
근본 원인:
backend/app/services/backtest/engine.py:316_get_trading_days()Price 테이블에서 해당 기간 날짜를 조회하는데, DB에 2020~2024년 가격 데이터가 없어 빈 리스트 반환 → 에러 발생

def _get_trading_days(self, start_date: date, end_date: date) -> List[date]:
    prices = self.db.query(Price.date).filter(...).distinct().all()
    return [p[0] for p in prices]  # 2020~2024 데이터 없으면 []

수정 방향:

  1. (근본 해결) pykrx로 2020~2024년 과거 가격 데이터 소급 수집
  2. (임시 조치) 백테스트 기본 날짜를 실제 보유 데이터 기간으로 변경 + UI에서 사용 가능 날짜 범위 안내

BUG-02: 데이터 탐색 차트 버튼 런타임 에러

증상: /admin/data/explorer에서 종목 옆 "차트" 버튼 클릭 시 전체 페이지 에러 화면 표시
에러: "문제가 발생했습니다. 페이지를 새로고침 해주세요."
재현: 데이터 탐색 → 삼성전자 검색 → 차트 클릭
추정 원인: 차트 모달/컴포넌트 렌더링 중 unhandled exception (가격 데이터 없음 또는 props 타입 오류)

BUG-03: PriceCollector 작업 상태 미업데이트

증상: 5/6, 5/7, 5/8 날짜의 PriceCollector가 running 상태로 잔류 (완료/실패 처리 안 됨)
영향: 작업이 실제로 수집됐는지 여부 불투명, 모니터링 신뢰도 저하
추정 원인: PriceCollector 작업이 완료/에러 시 DB 상태를 업데이트하지 않거나, 프로세스가 비정상 종료됨

BUG-04: /admin 경로 404

증상: /admin 직접 접근 시 404
실제 경로: /admin/data
영향: 낮음 (사이드바에서 접근하면 정상)
수정 방향: /admin/admin/data 리다이렉트 추가



구현됐지만 UI에 미노출된 기능

A. 프론트엔드 페이지 존재, 진입 경로 없음 (직접 URL 접근만 가능)

URL 기능 연결 방식
/portfolio/[id]/correlation 상관관계 분석 (상관관계 매트릭스, 분산화 점수) 사이드바·포트폴리오 상세 어디에도 링크 없음
/portfolio/[id]/benchmark 벤치마크 비교 (KOSPI 대비 수익률, Sharpe, MDD 비교) 진입 경로 없음
/portfolio/[id]/drawdown 드로우다운 분석 (현재·최대 MDD, 경보 한도, 히스토리 차트) 진입 경로 없음
/portfolio/[id]/history 포트폴리오 수익률 히스토리 (별도 전체 페이지) 진입 경로 없음
/strategy/optimizer 전략 파라미터 최적화 (그리드 서치, CAGR/MDD/Sharpe 기준 랭킹) 전략 페이지에 링크 없음
/pension/tax-simulator 퇴직연금 세금 시뮬레이터 (세액공제, 연금 vs 일시금 세금 비교) 퇴직연금 페이지에 링크 없음
/backtest/compare 백테스트 결과 비교 (여러 백테스트 동시 비교) 백테스트 "비교" 버튼 존재하나 백테스트 결과가 없어 접근 불가
/strategy/compare 전략 비교 페이지 전략 페이지 "전략 비교" 버튼으로 접근 가능 (노출됨)

B. 백엔드 API 구현 완료, 프론트엔드 페이지 없음

API 파일 기능 상태
backend/app/api/agents.py 자연어 쿼리 기반 AI 투자 분석 에이전트 (/api/agent) — 스트리밍 응답, tool call 로그 포함 백엔드만 구현, 프론트엔드 완전 미구현
backend/app/api/screening.py KJB 종목 스크리닝 신호 (/api/screening/today, /api/screening/history, /api/screening/watchlist, /api/screening/auto-orders) 백엔드만 구현, 프론트엔드 완전 미구현

C. 요약

  • 직접 URL로 접근은 가능하나 진입 경로가 없는 페이지: 7개
    → 포트폴리오 분석 3종(상관관계·벤치마크·드로우다운), 포트폴리오 히스토리, 전략 최적화, 퇴직연금 세금 시뮬레이터, 백테스트 비교
  • 백엔드만 구현된 기능: 2개 (AI 에이전트, 스크리닝)
  • 이미 UI에 노출된 기능 중 작동 안 하는 것: 백테스트 전체 (BUG-01)

환경 정보

  • 주식 마스터: 2,787건
  • ETF 가격: 52,038건
  • 포트폴리오: 3개 (연금 2개, 키움 일반 1개)
  • 가격 데이터 범위: 2025년 이후로 추정 (2020~2024 데이터 없음)