STK10-09 종목·기준일 수급 팩터 read API

작업 내용

추천 스코어링이 소비할 수급 팩터 조회 API를 구현한다.

  • presentation: MarketFlowApiControllerGET /market-flow?symbol&baseDate (또는 기간), 5종 팩터를 합쳐 응답
  • application: GetMarketFlowUseCaseMarketFlowDomainService.findBy(symbol, baseDate)
  • Response: 외국인·기관 순매수, 외국인 보유율, PER/PBR/배당, 공매도 잔고비중, 신용잔고 비중
  • 미수집 항목은 null로 반환해 소비측이 graceful하게 가중 제외

다이어그램

처리 흐름

sequenceDiagram
    participant ML as ml scoring
    participant Ctrl as MarketFlowApiController
    participant UC as GetMarketFlowUseCase
    participant DS as MarketFlowDomainService
    ML->>Ctrl: GET /market-flow?symbol&baseDate
    Ctrl->>UC: execute(query)
    UC->>DS: findBy(symbol, baseDate)
    DS-->>UC: factors (null 허용)
    UC-->>Ctrl: response
    Ctrl-->>ML: factors json

클래스 의존

flowchart LR
    Controller[MarketFlowApiController] --> UC[GetMarketFlowUseCase]
    UC --> DS[MarketFlowDomainService]
    DS --> Repos[(5 Repositories)]

테스트 케이스

  • 종목·기준일로 5종 팩터를 합쳐 반환한다
  • 미수집 팩터는 null로 반환한다 (404 아님)
  • 기간 조회 시 거래일 기준 정렬로 반환한다 (공매도 포함)
  • 존재하지 않는 종목은 빈 팩터를 반환한다