docs(phase-1a): 예측-실제 매칭 정책을 "다음 거래일 장 종료 후"로 확정

사용자 확정: 예측 차트와 실제 차트 매칭은 다음 거래일 장이 끝나는 시점으로.

- README.md: 매칭 배치 시각을 KRX 정규장 마감(15:30) 후 종가 확정 시점
  (16:00 ~ 16:30 KST 사이) 으로 명시. 주말/공휴일은 다음 거래일로 이월.
- scheduler.py docstring: Phase 4 슬롯을 "16:30 KST 평일 prediction_outcomes
  매칭 배치" 로 구체화. 추론은 on-demand 만 사용한다는 점도 명시.

코드 동작 변화 없음(스케줄러는 아직 daily_batch 1개 잡만 등록).
Phase 4 진입 시 이 정책대로 매칭 잡을 추가.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
tkrmagid
2026-05-20 15:46:23 +09:00
parent 56f73a1f12
commit 239b104a2b
2 changed files with 12 additions and 4 deletions

View File

@@ -142,8 +142,8 @@ stock_chart_site/
## 동작 모델 메모 ## 동작 모델 메모
- 예측 트리거: 사용자가 "예상차트 보기" 누른 종목에 대해 즉시 inference. 결과는 `predictions(user_triggered=TRUE)` 로 저장. - 예측 트리거: 사용자가 "예상차트 보기" 누른 종목에 대해 즉시 inference. 결과는 `predictions(user_triggered=TRUE)` 로 저장.
- 다음날 00:30 (또는 16:30) 배치: `user_triggered=TRUE` 인 예측 중 `target_date`가 도래한 것들에 대해 실제 가격과 매칭 → `prediction_outcomes` 적재. - 매칭 배치: 다음 거래일 장 종료 후 (KRX 정규장 마감 15:30, 종가 확정 후 16:00 ~ 16:30 KST 사이) `user_triggered=TRUE` 인 예측 중 `target_date == 오늘 거래일`인 행들에 대해 실제 종가/방향과 매칭 → `prediction_outcomes` 적재. 주말/공휴일이면 다음 거래일로 이월.
- 주간 02:00: 종목/모델별 최근 30일 hit rate 기반으로 앙상블 가중치를 자동 보정. hit rate가 임계 미만이면 LGBM 재학습. - 주간 02:00 (일요일): 종목/모델별 최근 30일 hit rate 기반으로 앙상블 가중치를 자동 보정. hit rate가 임계 미만이면 LGBM 재학습.
## 안전/한계 ## 안전/한계

View File

@@ -1,7 +1,15 @@
"""APScheduler 기반 백그라운드 잡. """APScheduler 기반 백그라운드 잡.
- 16:00 KST : daily_batch - 16:00 KST 평일: daily_batch (시드 10종목 EOD/뉴스/공시/거시 갱신)
- (Phase 4) 16:30: 모델 추론, 02:00 일요일: 주간 재학습 - (Phase 4) 16:30 KST 평일: prediction_outcomes 매칭 배치.
user_triggered=TRUE 예측 중 target_date == 당일 거래일 인 행을,
KRX 정규장 마감(15:30) 후 확정된 종가/방향과 매칭해 적재.
주말/공휴일이 끼면 다음 거래일로 자연 이월(거래일이 아니면 매칭할 종가가 없으니 스킵).
- (Phase 4) 02:00 KST 일요일: 최근 30일 hit rate 기반 앙상블 가중치 보정,
임계 미만 모델은 LGBM 재학습.
예측 추론(inference) 자체는 사용자가 "예상차트 보기" 누른 시점에 on-demand 로만 돌고,
스케줄러에서는 돌리지 않음.
FastAPI 기동 시점에 lifespan 으로 start, 종료 시 shutdown. FastAPI 기동 시점에 lifespan 으로 start, 종료 시 shutdown.
""" """