Skip to content

feat: 대시보드 바스켓 트랙 화면 — 내 돈이 웹에 보이게#441

Merged
easygap merged 1 commit into
mainfrom
feat/dashboard-basket-tracks
Jul 6, 2026
Merged

feat: 대시보드 바스켓 트랙 화면 — 내 돈이 웹에 보이게#441
easygap merged 1 commit into
mainfrom
feat/dashboard-basket-tracks

Conversation

@easygap

@easygap easygap commented Jul 6, 2026

Copy link
Copy Markdown
Owner

무엇

오너 질문("웹으로 데이터 보는 기능은 불필요? 누락?")에 대한 답: 대시보드(--mode dashboard)는 있었지만 정작 바스켓 트랙의 돈이 화면에 없었습니다/api/portfolio는 기본 계정('')만 보여줘서 kr_pocket·kr_diversified_hold의 원금/평가/수익률이 어디에도 안 떴습니다. 이걸 채웁니다.

추가

  • /api/baskets (신규, DB 전용 — 10초 폴링에 네트워크 조회 없음): enabled 바스켓별
    • 최신 스냅샷(평가금·현금·TWR 누적수익률·MDD — 일일 사이클이 저장한 값 그대로, 재계산 없음)
    • 누적 원금(초기+입금) + 원금 대비 손익(원) — 적립식의 핵심 질문 "내가 넣은 돈 대비 얼마"
    • 주식 배치율(실제/설계) · 보유 목록
  • "바스켓 트랙 — 내 돈 화면" 섹션: 바스켓별 카드 7종(평가금/원금/원금대비/TWR/MDD/배치율/보유)
  • 수익률 추이 차트에 계정 선택기: 기본 선택 = 첫 바스켓(내 돈부터 보이게), 기본 계정 전환 가능 — /api/snapshots?account_key= 재사용

실서버 검증 (운영 DB)

kr_diversified_hold | 원금 10,000,000 | 평가 9,699,586 | TWR -3.0% | 배치 59.9%/80% | 9종목
kr_pocket           | 원금    300,000 | 평가   300,126 | TWR +0.04% | 배치 42.7%/50% | 1종목

HTML에 basketTracks/chartAccount 섹션 렌더 확인, 서버 정상 기동·종료.

테스트

  • tests/test_dashboard_baskets.py: 원금(입금 포함)·스냅샷 그대로(TWR 재계산 금지)·원금 대비 손익·배치율·보유 계약 + 스냅샷 없는 신규 트랙 null 처리 + HTTP 엔드포인트 + HTML 섹션 존재.
  • 전체 스위트 통과.

대시보드는 있었지만 정작 바스켓 트랙의 돈이 화면에 없었다 —
/api/portfolio는 기본 계정만 보여줘서 kr_pocket·kr_diversified_hold의
원금/평가/수익률이 어디에도 안 떴다.

추가:
- /api/baskets (DB 전용 — 10초 폴링에 네트워크 조회 없음):
  바스켓별 최신 스냅샷(평가금·현금·TWR 누적수익률·MDD — 일일 사이클
  저장값 그대로, 재계산 없음) + 누적 원금(초기+입금) + 원금 대비
  손익(원) + 주식 배치율(실제/설계) + 보유 목록
- 바스켓 트랙(내 돈) 섹션: 바스켓별 카드 7종
- 수익률 추이 차트 계정 선택기(기본 = 첫 바스켓, 기본 계정 전환 가능)

실서버 검증(운영 DB): 두 트랙 숫자 정상 표시, HTML 섹션 렌더 확인.
전체 스위트 1635 통과.
@easygap easygap merged commit 834d660 into main Jul 6, 2026
1 check passed
@easygap easygap deleted the feat/dashboard-basket-tracks branch July 6, 2026 04:29
easygap added a commit that referenced this pull request Jul 6, 2026
feat: 대시보드 바스켓 트랙 화면 — 내 돈이 웹에 보이게
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant