diff --git a/README.md b/README.md index 67b449f..221a93d 100644 --- a/README.md +++ b/README.md @@ -142,8 +142,8 @@ stock_chart_site/ ## 동작 모델 메모 - 예측 트리거: 사용자가 "예상차트 보기" 누른 종목에 대해 즉시 inference. 결과는 `predictions(user_triggered=TRUE)` 로 저장. -- 다음날 00:30 (또는 16:30) 배치: `user_triggered=TRUE` 인 예측 중 `target_date`가 도래한 것들에 대해 실제 가격과 매칭 → `prediction_outcomes` 적재. -- 주간 02:00: 종목/모델별 최근 30일 hit rate 기반으로 앙상블 가중치를 자동 보정. hit rate가 임계 미만이면 LGBM 재학습. +- 매칭 배치: 다음 거래일 장 종료 후 (KRX 정규장 마감 15:30, 종가 확정 후 16:00 ~ 16:30 KST 사이) `user_triggered=TRUE` 인 예측 중 `target_date == 오늘 거래일`인 행들에 대해 실제 종가/방향과 매칭 → `prediction_outcomes` 적재. 주말/공휴일이면 다음 거래일로 이월. +- 주간 02:00 (일요일): 종목/모델별 최근 30일 hit rate 기반으로 앙상블 가중치를 자동 보정. hit rate가 임계 미만이면 LGBM 재학습. ## 안전/한계 diff --git a/backend/app/pipelines/scheduler.py b/backend/app/pipelines/scheduler.py index 5abbd00..528a308 100644 --- a/backend/app/pipelines/scheduler.py +++ b/backend/app/pipelines/scheduler.py @@ -1,7 +1,15 @@ """APScheduler 기반 백그라운드 잡. -- 16:00 KST : daily_batch -- (Phase 4) 16:30: 모델 추론, 02:00 일요일: 주간 재학습 +- 16:00 KST 평일: daily_batch (시드 10종목 EOD/뉴스/공시/거시 갱신) +- (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. """