Skip to content

feat(backtest): 매집 점수 신호 검증 + 포트폴리오 커버 이미지#1

Merged
younghwan91 merged 1 commit into
mainfrom
feat/portfolio-figures
Jun 14, 2026
Merged

feat(backtest): 매집 점수 신호 검증 + 포트폴리오 커버 이미지#1
younghwan91 merged 1 commit into
mainfrom
feat/portfolio-figures

Conversation

@younghwan91

Copy link
Copy Markdown
Owner

개요

매집 스크리너가 실제로 신호를 담고 있는지를 데이터로 보이고, README 커버에 올릴 시각화 3종을 추가합니다. 포트폴리오 가독성을 위한 변경입니다.

변경 사항

  • strategies/backtest.py — 형성구간(기본 12거래일)에서 점수화한 후보를 보유구간 실제 수익률로 평가. 순위상관(scipy 비의존, 순위변환 후 Pearson)·점수 분위별 평균 수익률 요약. kq-backtest CLI 제공.
  • viz/portfolio.py — 매집 후보 랭킹 막대 + 점수↔수익률 2패널(산점도 + 분위별 막대).
  • scripts/make_figures.pydocs/images/{ranking,backtest,candidate}.png 재현 생성.
  • tests/test_backtest.py — split·forward_returns·spearman·예외 5건.
  • README — 결과 미리보기 섹션 + 검증 설명 + 재현 명령.

함께 잡은 버그

  1. 랭킹 차트 시장 색상 — DB가 '거래소'/'코스닥' 한글로 저장하는데 영문 "KOSPI"와 비교해 전부 KOSDAQ 색으로 칠해지던 것 수정.
  2. *.png 전역 .gitignore가 README 이미지까지 잡아 GitHub에서 깨질 뻔한 것 → !docs/images/*.png 예외.

검증 결과 (2026-05-15~06-12, 19거래일)

  • 후보 92개, Spearman(점수~수익률) = 0.22
  • 점수 분위별 평균 수익률: Q1 +6.2% → Q5 −3.6% (전체 평균 −0.5%)
  • 테스트 13개 통과, ruff check clean

⚠️ 단일 짧은 윈도우 기반 in-sample 예시입니다. 롤링 아웃오브샘플·거래비용·생존편향을 통제한 정식 백테스트가 아니며, 스크리너가 신호를 담고 있음을 보이는 용도입니다.

🤖 Generated with Claude Code

형성구간(12거래일)에서 점수화한 후보를 보유구간 실제 수익률로 평가하는
간이 검증을 추가. 순위상관(scipy 비의존)·점수 분위별 평균 수익률 요약과
kq-backtest CLI 제공. README 커버용 그림 3종(랭킹·검증·종목 수급)을
scripts/make_figures.py 로 재현 가능하게 생성.

- strategies/backtest.py: forward_returns / backtest / spearman + CLI
- viz/portfolio.py: 랭킹 막대, 점수↔수익률 2패널
- scripts/make_figures.py: docs/images/{ranking,backtest,candidate}.png
- tests/test_backtest.py: split·forward_returns·spearman·예외 (5)
- 시장 색상 버그 수정: DB는 '거래소'/'코스닥' 한글 저장 (영문 비교 오류)
- .gitignore: README 이미지(docs/images/*.png) 추적 예외
@younghwan91 younghwan91 force-pushed the feat/portfolio-figures branch from 3dd4671 to fa00c00 Compare June 14, 2026 14:16
@younghwan91 younghwan91 merged commit a8513bd into main Jun 14, 2026
4 checks passed
@younghwan91 younghwan91 deleted the feat/portfolio-figures branch June 14, 2026 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant