[STK3-07] FE 백테스트 요약

작업 내용 (설계 의도)

변경 사항

  • BacktestSummary(승률·edge·감성 미포함 안내).
  • backtestApi.ts: ML GET /backtest/{symbol} 호출.

의존

  • 선행: STK3-05
  • 후행: 없음

다이어그램

처리 흐름

sequenceDiagram
    participant U as 사용자
    participant FE as BacktestSummary
    participant ML as ML /backtest/{symbol}
    U->>FE: 백테스트 탭 진입 (symbol)
    FE->>ML: GET /backtest/{symbol}?horizon=5&lookback=120
    ML-->>FE: {samples, overall_win_rate,\nsignal_win_rate, edge, note}
    Note over FE: 승률·edge 수치 표시
    Note over FE: note → "감성 미포함" 안내 문구 렌더
    alt samples == 0
        Note over FE: "데이터 부족" 안내
    end

클래스 의존

flowchart LR
    subgraph FE["FE"]
        summary["BacktestSummary\n컴포넌트"]
        btApi["backtestApi.ts"]
    end
    subgraph External["External"]
        ML["ML :8000\n/backtest/{symbol}"]
    end
    summary --> btApi
    btApi --> ML

테스트 케이스

  • overall_win_rate·signal_win_rate·edge가 화면에 수치로 표시된다.
  • edge > 0이면 “시그널이 평균 대비 우위” 문구가 함께 표시된다.
  • note 필드 내용(“뉴스 감성 미포함”)이 안내 문구로 렌더된다.
  • samples=0이면 “데이터 부족” 안내가 표시되고 수치 대신 빈 상태가 아닌 메시지가 나온다.
  • 백테스트 API 호출 실패 시 에러 상태가 표시되고 화면이 깨지지 않는다.