왜 만들었나
자산배분 투자를 한다면 리밸런싱은 피할 수 없습니다.
“60/40 포트폴리오 유지” — 한 해 동안 주식이 많이 올라서 비중이 68%가 됐다면, 다시 60%로 맞춰야 합니다. 그러려면 각 자산을 얼마나 사고 팔아야 하는지 계산해야 하는데, 자산이 4~5개만 돼도 머릿속에서 바로 계산이 안 됩니다.
엑셀로 하면 되긴 한데 — 또 해야 하나 싶어서 도구를 만들었습니다.
뭘 하는 도구인가
자산별로 목표 비중(%)과 현재 평가액(만원)을 입력하면:
- 현재 비중 vs 목표 비중 비교 (도넛 차트)
- 편차 바 — 어떤 자산이 얼마나 벗어났는지 한눈에
- 매수·매도 금액 테이블 — 자산별 조치 금액 즉시 계산
- 신규자금 투입 모드 — 매도 없이 새로 넣는 돈만으로 리밸런싱
모드 설명
전체 리밸런싱: 목표 비중에 정확히 맞추기 위해 매도도 허용합니다. 오버웨이트 자산을 팔고 언더웨이트 자산을 삽니다.
신규자금 투입: 매도 없이 새로 투입하는 자금만으로 최대한 목표에 근접합니다. 실현 세금을 피하고 싶을 때 유용합니다. 새 돈을 언더웨이트 자산에 우선 배분합니다.
리밸런싱 계산 원리
전체 리밸런싱:
목표 금액[i] = 총 자산 × 목표비중[i]
조치 금액[i] = 목표금액[i] - 현재금액[i] (양수=매수, 음수=매도)
신규자금 투입:
목표 금액[i] = (총 자산 + 신규자금) × 목표비중[i]
필요금액[i] = max(0, 목표금액[i] - 현재금액[i])
배분금액[i] = 필요금액[i] × (신규자금 / 총필요금액) -- 신규자금 부족 시 비례배분
신규자금 모드에서 새 돈이 충분하다면 언더웨이트 자산을 모두 채울 수 있습니다. 부족하다면 비례 배분으로 최대한 근접합니다.
빌드 로그
- 스택: 정적 Astro + 클라이언트 JS + Chart.js (CDN)
- 상태 관리: localStorage (서버·로그인 없음)
- 차트: Chart.js 도넛 — 현재 배분과 목표 배분 나란히 비교
- 편차 바: 목표 대비 ±편차를 수평 바로 시각화
- 모드: 전체 리밸런싱 / 신규자금 투입 토글
한계 & 다음
- 매매수수료·세금(주식 매도 세금) 미반영
- 환율 변환 미지원 (달러 자산은 원화 환산 후 입력)
- 목표 비중 합계 100% 경고 있음 (합계 다르면 계산 왜곡)
- CSV 내보내기 v2 예정
#리밸런싱 #자산배분 #포트폴리오 #인덱스투자 #89fire #파이어족 #경제적자유 #재테크 #무료도구