[STK3-01] 추천 랭킹
작업 내용 (설계 의도)
변경 사항
recommendation.pyrank_recommendations()— 종합 점수>0.15 필터 → 내림차순 정렬 → 상위 limit.
의존
- 선행: Phase 2 시그널 완료
- 후행: STK3-04
다이어그램
처리 흐름
sequenceDiagram participant M as main.py participant R as recommendation.py M->>R: rank_recommendations(signals, limit) Note over R: composite_score > 0.15 필터 Note over R: 내림차순 정렬 Note over R: 상위 limit 슬라이싱 R-->>M: recommendations[] alt 필터 후 결과 0건 R-->>M: [] end
클래스 의존
flowchart LR subgraph Application["Application"] main["main.py\n(라우터)"] end subgraph Domain["ML 도메인"] rec["recommendation.py\nrank_recommendations()"] end main --> rec
테스트 케이스
- 임계값(0.15) 이하 종목은 필터링돼 결과에 포함되지 않는다.
- 임계값 초과 종목이 종합 점수 내림차순으로 정렬되어 반환된다.
- limit=3 요청 시 상위 3개만 반환된다.
- 후보 전체가 임계값 이하면 빈 리스트가 반환된다.
- 동점(같은 composite_score)인 종목의 순서가 일정하게 결정된다.