나만의 투자 보고서, 이렇게 만들면 끝! — 1페이지 월간 리포트 포맷
투자 기록을 해도 행동으로 이어지지 않는 이유는 간단합니다. 보고서가 길고 복잡하기 때문이죠. 저는 한 장짜리 1페이지 투자 보고서로 바꿔서, 매월 10분 만에 점검을 끝냅니다. 오늘 그 구조와 제작법을 통째로 드립니다.
1) 원칙: 숫자를 ‘행동’으로 바꾸는 1페이지
- 📌 길이: A4 한 장(차트 4 + KPI 카드 + 경보 + 3문장 코멘트)
- 🎯 목적: “이번 달 무엇을 바꿀지”를 1분에 결정
- 🧱 가드레일: 주식합산 ≤ 55%, 리밸런싱 밴드 ±20%, 현금 10~15%
2) 레이아웃(권장 배치)
영역 | 내용 | 자료 원천 |
---|---|---|
상단 KPI 카드 | 순자산, XIRR, TWR, MDD, 변동성, 비용률 | 월별 스냅샷·계정원장 |
좌상 차트 | 도넛: 자산 비중(현재w) | 자산입력 시트 |
우상 차트 | 막대: 드리프트(목표 대비 편차) | 자산입력 시트 |
좌하 차트 | 콤보: 순자산 라인 + MDD 영역 | 월별 스냅샷 |
우하 차트 | 막대: 월 수익률(TWR) | 월별 스냅샷 |
3) KPI 카드 수식(구글 시트 예시)
지표 | 수식(예시) | 설명 |
---|---|---|
순자산 | =LOOKUP(2,1/(LEN(평가열)),평가열) | 월말 평가금액 |
XIRR | =XIRR(현금흐름열, 날짜열) | 내 돈의 실제 수익률 |
총 TWR | =PRODUCT(1+월TWR범위)-1 | 전략 성과 |
MDD | =MIN(드로우다운열) | 최대 낙폭 |
변동성(연) | =STDEV(월수익률)*SQRT(12) | 월 수익률 필요 |
비용률 | =연간(수수료+세금)/평균자산 | 낮을수록 좋음 |
4) 경보 박스(리스크 규칙 체크)
항목 | 기준 | 상태 수식(예시) |
---|---|---|
주식합산 | ≤ 55% | =IF(주식비중<=0.55,"정상","경보") |
밴드 이탈 | |드리프트| ≤ 20% | =IF(MAX(ABS(드리프트범위))<=0.2,"정상","조정") |
현금 버퍼 | 10~15% | =IF(현금비중>=0.1, IF(현금비중<=0.15,"정상","과다"),"부족") |
조건부 서식으로 “경보/조정/부족”에 색(빨강/주황)을 주면 한눈에 보입니다.
5) 3문장 코멘트 규칙(복붙 템플릿)
[무슨 일이 있었나] 8월 TWR +0.7%, 순자산 사상 최고, MDD -9.8% 유지. [원인] 해외주식 강세로 주식합산 53%→54.6%, 채권 약세로 드리프트 확대. [다음 액션] 화·금 21:00 슬롯에서 채권 +2%p, 현금 버퍼 12% 유지.
6) PDF & 이메일 자동 발송(간단 스크립트)
보고서 완성 후 버튼 한 번으로 PDF 저장·이메일 전송까지 자동화할 수 있습니다.
function sendMonthlyReport(){ const ss = SpreadsheetApp.getActive(); const sheetName = '대시보드'; // 1페이지 보고서가 모여 있는 시트 const url = ss.getUrl().replace(/edit$/,'export?'); const pid = ss.getId(); const gid = ss.getSheetByName(sheetName).getSheetId(); const params = { format:'pdf', size:'A4', portrait:'true', fitw:'true', gridlines:'false', printtitle:'false', sheetnames:'false', pagenum:'DISABLED', top_margin:'0.4', bottom_margin:'0.4', left_margin:'0.4', right_margin:'0.4', gid: gid }; const query = Object.keys(params).map(k=>`${k}=${params[k]}`).join('&'); const token = ScriptApp.getOAuthToken(); const resp = UrlFetchApp.fetch( `https://docs.google.com/spreadsheets/d/${pid}/export?${query}`, { headers:{Authorization:`Bearer ${token}`}} ); const blob = resp.getBlob().setName(`월간투자보고서_${Utilities.formatDate(new Date(),'Asia/Seoul','yyyy-MM')}.pdf`); MailApp.sendEmail(Session.getActiveUser().getEmail(), '월간 투자 보고서', 'PDF 첨부 확인 바랍니다.', {attachments:[blob]}); }
Apps Script에서 트리거를 매월 1일 21:05로 설정하면 자동 발송됩니다.
7) 10분 루틴(매월 말)
- 자산입력: 현재금액 업데이트 → 현재w·드리프트 자동
- 월별스냅샷: 순자산·월 TWR 1줄 추가
- 대시보드: KPI·경보 색상 확인
- 3문장 코멘트 작성 → PDF/이메일 전송
마무리
보고서는 길수록 실행이 늦어집니다. 그림 4개 + 숫자 6개 + 3문장이면 충분합니다. 이번 달부터는 1페이지로 빠르게 보고하고, 리스크는 낮추고, 결정은 빨라지세요.
※ 교육용 정보이며 특정 상품 권유가 아닙니다. 수수료·세율·앱 기능은 각 기관 공지를 확인하세요.
- 👨👩👧 표지: 목표 진행률·비상금·보험 체크
- 📊 차트: 자산 비중·순자산 추이(간단 버전)
- 💬 코멘트: 가족 결정 3문장(무엇/왜/언제)
- 📤 공유: PDF·이메일·인쇄 체크리스트
재무는 혼자보다 함께가 강합니다.