본문으로 건너뛰기

Watchlist 탭

Equity 페이지의 첫 번째 탭. 관심 종목을 자산군별로 등록·관리하고, 한 클릭으로 LLM 분석을 의뢰합니다.

📸 Watchlist 탭 화면 (추후 자동 캡처 예정)

화면 구성

상단의 Add symbol 카드와 자산군별 Watchlist 섹션(US / KR / Crypto)이 세로로 배치됩니다.

영역설명
Add symbol통합 SymbolSearch 박스
US Watchlistus_equity 종목 테이블
KR Watchlistkr_equity 종목 테이블
Crypto Watchlistcrypto 종목 테이블

자산군 필터(헤더)에서 특정 자산군만 선택하면 해당 섹션만 표시됩니다.

SymbolSearch (자동완성)

web/src/components/equity/SymbolSearch.tsx — 검색어 1자 이상 입력 시 자동 호출.

  • 검색 키워드: ticker(AAPL, 005930, BTC/USDT) 또는 종목명(한·영)
  • 결과 행: 자산군 배지 + 심볼 + 종목명 + 통화
  • 키보드 네비게이션: ↑/↓ 이동, Enter 선택, Esc 닫기
  • 자산군 prop: all 또는 단일 자산군 — 페이지 필터를 따라감

검색 결과를 클릭하면 해당 자산군의 watchlist에 즉시 추가됩니다 (Zustand persist → localStorage).

종목 테이블

각 자산군 섹션은 다음 5컬럼 테이블입니다.

컬럼의미비고
Ticker심볼AAPL, 005930
Asset자산군 배지컬러 일관
Last마지막 가격미연결 시
% Chg일중 변동률미구현 시
ActionsAnalyze / Trash우측 정렬
실시간 시세

현재 last/% Chg 컬럼은 placeholder입니다. WebSocket 시세 피드 연결은 P6 후속 작업입니다.

Analyze 버튼

각 행의 우측 Analyze 버튼은 standard 모드 LLM 분석을 즉시 의뢰합니다.

curl -s -X POST -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
http://localhost:8000/api/equity/analyze \
-d '{"items": [{"asset_class": "us_equity", "symbol": "AAPL"}], "mode": "standard"}'

응답:

{
"reports": [
{ "report_uuid": "8b3e...", "status": "queued", "asset_class": "us_equity", "symbol": "AAPL" }
]
}

생성된 report_uuid로 ReportDrawer가 자동 열립니다 (Reports 탭 참고).

Trash 버튼

해당 종목을 watchlist에서 제거합니다 (서버 호출 없음 — 클라이언트 store만 수정).

API 호출

MethodPath호출 시점
GET/api/equity/symbols/search?q=AA&asset_class=us_equity검색어 입력
POST/api/equity/analyzeAnalyze 클릭

자주 묻는 질문

Q. 한국어로 검색해도 되나요?
A. 네. 삼성전자, 현대차 같은 한글 키워드도 KIS 종목 마스터에서 매칭됩니다.

Q. Watchlist는 사용자별로 저장되나요?
A. 현재는 브라우저 localStorage 기준입니다. 다른 기기에서는 다시 추가해야 합니다 (서버 동기화는 후속 작업).

Q. Crypto 심볼은 어떤 형식인가요?
A. CCXT 표준인 BTC/USDT, ETH/USDT 등 슬래시 구분 형식을 사용합니다.

Q. Analyze 버튼이 비활성화돼요.
A. 분석 분당 5건 제한(ANALYZE_RATE_CAPACITY=5)에 걸렸을 가능성이 높습니다. 1분 후 재시도하세요.

관련 페이지