score-engine: 백필 모드로 가중치 학습 표본 87 → 15,287 (175배)

calculate_daily_scores가 today 하드코딩이라 과거 시점 score 재계산 불가, 결과적으로
가중치 학습이 18일치 빈약 표본(87건)으로만 돌아 10공식 중 7개 가중치=0,
백테스트 평균 -5.59%·승률 12.6%로 시스템이 거짓 패턴 학습 중이었음.

as_of: date 매개변수로 백필 모드 도입, look-ahead bias 차단:
- 헬퍼 7개(_load_insider/consensus/macro/inst_flow, calc_market_regime,
  calc_trend_score, calc_momentum/amihud/beta) 시점 매개변수화
- weight_config는 config_date <= as_of 필터
- reliability/credibility 캐시는 백필 모드 비활성화
- DART 재무는 보고서 종류별 표준 공시일 추정으로 시점 필터
- analyst_consensus는 이력 미보존이라 백필 모드 제외

POST /score/backfill, GET /score/backfill/status 엔드포인트 추가.
96일치 백필 결과: GP/A(Novy-Marx 2013)가 진짜 알파 공식으로 학습됨,
강력매수 등급 평균 +2.96%·승률 66.7%·시장 알파 -0.31%로 거의 시장 따라잡음.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
kyu
2026-05-25 00:48:39 +09:00
parent 3db047bade
commit da36454e21
+977 -261
View File
File diff suppressed because it is too large Load Diff