Skip to content

feat(backend): 시장 대비 당일 및 보유 기간 상대성과 계산 구현 #22

Description

@dkfhddla

Problem

제품의 핵심 질문은 단순 수익률이 아니라 KOSPI/KOSDAQ 대비 내 보유 종목과 투자 판단이 얼마나 강한가이다. 현재 문서에는 상대수익률 수식이 있으나, 토스증권 provider에서 들어오는 현재가/지수 데이터와 보유 종목 정보를 사용한 계산 서비스가 필요하다.

Expected Behavior

백엔드는 정규화된 보유 종목, 현재가, KOSPI/KOSDAQ 지수 데이터를 입력받아 평균 매수가 대비 현재 수익률, 당일 시장 대비 상대성과, 보유 기간 기준 시장 대비 상대성과를 계산해야 한다.

Scope

  • 평균 매수가 대비 현재 수익률 계산
  • 당일 종목 수익률과 당일 시장 수익률의 차이 계산
  • 보유 기간 종목 수익률과 보유 기간 시장 수익률의 차이 계산
  • KOSPI 종목은 KOSPI, KOSDAQ 종목은 KOSDAQ 기준 지수 선택
  • 기준값 부족 시 미산출 또는 계산 경고 상태 반환
  • 단위 테스트 추가

Acceptance Criteria

  • 평균 매수가 대비 현재 수익률이 재현 가능한 수식으로 계산된다.
  • 당일 상대성과가 종목 당일 수익률에서 소속 시장 당일 수익률을 뺀 값으로 계산된다.
  • 보유 기간 상대성과가 동일 기간 종목 수익률에서 동일 기간 시장 수익률을 뺀 값으로 계산된다.
  • KOSPI/KOSDAQ 시장 구분에 따라 올바른 기준 지수가 선택된다.
  • 기준가, 현재가, 기준 지수, 현재 지수 중 필수값이 없으면 계산값 대신 명확한 상태를 반환한다.
  • 테스트가 양수, 음수, 결측값, 시장 구분 케이스를 포함한다.

Evidence Pointers

  • docs/specs/mvp-foundation.md: R-004 상대수익률 산출 수식 - accepted
  • docs/specs/stock-signal-view-calculation-rules.md: 계산 규칙 소유 문서 - pending verification
  • 사용자 인터뷰: 당일 KOSPI/KOSDAQ 대비 당일 수익률과 보유 기간 기준 상대성과 - accepted

Affected Areas

  • backend/app/services/
  • backend/app/schemas/
  • backend/tests/

Non-Goals

  • 투자 추천 생성
  • 출처 없는 AI 요약
  • 주문 실행

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions