[STK7-01] ML — 중·소형주 추천 후보군 확대
작업 내용 (설계 의도)
변경 사항
현재 ML 서비스의 CURATED_SYMBOLS는 대형주(KR 8 + US 4)만 포함한다.
large / mid / small 3개 카테고리로 분류·확장하고, GET /recommendations에 category 파라미터를 추가한다.
marketCapCategory 필드를 응답에 포함해 FE가 카테고리별 UI를 구분할 수 있게 한다.
다이어그램
처리 흐름
flowchart LR Client -->|GET /recommendations?category=mid| Router Router --> get_curated_symbols get_curated_symbols -->|MID symbols| scorer["_safe_signal 병렬 스코어링"] scorer --> filter["composite_score > 0.15 필터·랭킹"] filter -->|marketCapCategory: MID| Client
카테고리 구조
flowchart LR CURATED_SYMBOLS --> large["LARGE: KR 8 + US 4"] CURATED_SYMBOLS --> mid["MID: KR 6 + US 3"] CURATED_SYMBOLS --> small["SMALL: KR 4 + US 2"]
테스트 케이스
get_curated_symbols("large")호출 시 기존 KR 8 + US 4 반환된다get_curated_symbols("mid")호출 시 KR 6 + US 3 반환된다get_curated_symbols("small")호출 시 KR 4 + US 2 반환된다get_curated_symbols("all")호출 시 3개 카테고리 전체 심볼 반환된다- 존재하지 않는 category 값 입력 시 422 에러를 반환한다
GET /recommendations?category=mid응답의 각 항목에marketCapCategory: "MID"포함된다GET /recommendations(category 파라미터 없음) 시 기본값all로 동작한다