요약카드(백엔드 매입가×수량)와 증권사별(매입가 단순 합) 총 매입이 서로
달라 혼란. 박재오 정의대로 총 매입 = Σ매입가(수량 미곱산)로 통일.
getBrokerSummary를 stockUtils.computeBrokerSummary로 추출(테스트 5건),
usePortfolio가 portfolioSummary.total_buy를 프론트 단순 합으로 override해
요약카드·증권사별·AI 프롬프트가 동일 값 사용. 손익은 avg_price×수량 유지.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
TAB_AI 탭과 관련 컴포넌트(AiTradeTab)·훅(useAiBalance) 삭제. 헤더 카드는
aib 모의투자 요약 분기를 제거하고 항상 포트폴리오 요약을 표시.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
빈 catch 블록 3곳에 의도 주석 추가, test-setup.js 의 beforeEach
명시적 import. 우리 신규 코드의 lint error 0으로 정리.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- useScreenerRun: 실행 시마다 previewHistory에 누적 (최대 10, 메모리만 —
새로고침 시 사라짐, DB 부하 없음). top_ticker/score 요약 포함.
- RunHistoryList: '이번 세션 미리보기'와 '저장된 실행' 두 섹션으로 분리.
미리보기 항목은 클릭으로 결과 표 로드 + '비교' 버튼으로 비교 대상 지정.
- ResultTable: compareWith prop으로 비교 모드. 순위Δ(▲▼NEW)·점수Δ
컬럼 추가, 이번엔 빠진 종목은 'OUT'으로 별도 섹션에 회색 표시.
- 헤더에 'vs HH:MM:SS (통과 X)' 라벨로 비교 대상 명시.
- ScoreChips: 아이콘 제거, 풀 라벨 표시 (외국인/거래량급증/20일모멘텀/
52주신고가/RS레이팅/이평선정배열/VCP수축). title에 노드 의미 + 70점
강조 안내.
- ResultTable: 각 컬럼 헤더에 ⓘ 마커 + 의미 hover 설명. 진입/손절/익절
컬럼명에 '(원)' 명시. 상단에 hover 가이드 한 줄 추가.
백엔드 응답의 price_session에 따라 NXT 프리마켓/애프터마켓 거래 중인
종목에 작은 'NXT' / 'NXT 프리' 뱃지를 표시. 툴팁에 거래 시각 노출.
정규장 마감 후에도 평가금액이 자연스럽게 이어지는 흐름을 시각적으로 보강.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 기존 카드의 "매입가" → "평균단가" (avg_price) 로 라벨 변경
- 신규 "매입가" (purchase_price) 컬럼 추가. 추가/수정 폼에 입력 필드 노출
(미입력 시 평균단가 값으로 자동 설정)
- 브로커별 총 매입 금액은 purchase_price × quantity 합계 기준
- 손익/수익률은 평균단가(avg_price) 기준 유지
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8개 커스텀 훅으로 state/handler 로직 추출:
- usePortfolio: 포트폴리오 CRUD, 예수금, 브로커 그룹
- useSellHistory: 매도 내역 CRUD, 드로어/폼 상태
- useAiCoach: AI 코치 분석 + 캐시
- useAssetHistory: 자산 추이 차트 데이터
- useMarketContext: VIX/F&G/국채/WTI 시장 데이터
- useAiBalance: AI 모의투자 잔고, 수동 주문
- useReportData: 리포트 정렬, 차트, 집중도 분석
- useAdvisor: 어드바이저 프롬프트 빌더
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Anthropic API 직접 호출 → /api/stock/ai-coach 백엔드 프록시로 변경
- API 키 입력 UI 제거 (서버에서 관리)
- aiApiKey 상태 변수 및 localStorage 저장 로직 제거
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Gemini API 직접 호출 대신 포트폴리오 데이터 기반 전문가 프롬프트를
자동 생성하고 클립보드에 복사하는 방식으로 변경.
- 보유 종목, 평균매입가, 현재가, 손익, 예수금, 시장 지표 포함
- Gemini/ChatGPT 바로가기 링크 제공
- 프롬프트 미리보기 영역 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Gemini Pro 기반 AI 어드바이저 탭 추가 (TAB_ADVISOR)
- 보유 종목 현재가 + 뉴스 → 종목별 매도/매수/분할매도 지침
- 5분 캐시, 강제 새로고침 버튼
- 경량 마크다운 렌더러 (AdvisorMarkdown)
- 실현손익 수수료 → 수수료 & 세금으로 레이블 변경
- 총 자산 추이 그래프: 0 데이터 제외 (장 미개장일 필터)
- Todo 완료 패널 하단 이동 + 날짜 필터 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>