Files
llm-wiki/docs/superpowers/specs/2026-06-05-investment-wiki-pipeline-design.md
T

206 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 투자 자료·전략 파이프라인 — 설계 (Design Spec)
> 날짜: 2026-06-05
> 상태: 설계 승인 대기 → 구현 계획(writing-plans)
> 작성 맥락: 사용자가 개발 프로젝트와 **무관한** 개인 투자/자산관리 문서를 이 wiki에서 관리하고 싶어 한다. 현 자본 60만원을 근거 있는 규율로 운용하기 위해, 기존 `raw → wiki canonical → derived` 파이프라인을 **별도 폴더·별도 명령**으로 복제한다. 자동 실행은 없고 사용자가 명령을 칠 때마다 깊게 조사한다. "넓게(거시) 조사 / 좁게(소액 현실 종목) 실행 / 매매 원장 + 규칙 강제"가 확정 요구사항.
---
## 0. 가장 중요한 고지 (Non-negotiable Disclaimer)
이 시스템은 **"AI 자산관리사"가 아니다.** 진짜 PB(프라이빗뱅킹)와 비교하면:
| 층 | 진짜 PB | 이 시스템 | 수준 |
|---|---|---|---|
| ① 프로세스·규율 | 리스크 프로파일링→자산배분→문서화→리밸런싱 | **동일 구조 재현** | 70~80% |
| ② 리서치 | 전담 애널리스트 + 실시간 독점 데이터 | 공개 웹 조사 + 출처 보존 (실시간 ❌, 환각 위험) | 30~40% |
| ③ 실행·수탁 | 주문 체결 + 자산 보관 | **0% (본인이 증권사에서)** | 0% |
| ④ 세금·계좌구조 | 절세 설계·실행 | 지식·체크만 (인프라 ❌) | 10~20% |
| ⑤ 행동·책임 | 코칭 + **법적 fiduciary 책임** | 가드레일은 됨 / **법적 책임 0** | 40% / 0% |
**종합: 진짜 PB의 35~45% 수준. 단 개인이 따라 할 수 있는 프로세스·규율 층만 보면 70%+.**
정확한 성격은 **"규율을 강제하는 투자 의사결정 저널 + 리서치 보조"**다. Claude는 면허 있는 투자자문이 아니며, 환각으로 틀릴 수 있고, 손실에 책임지지 않는다. 모든 수치는 **조사 시점 기준**이며 사용자가 출처 링크로 교차검증해야 한다. 이 고지는 `wiki/invest-strategy/` 최상단에 고정된다.
---
## 1. 문제 / Problem
- 사용자는 투자를 "전혀 모르는" 출발점에서 시작한다. 따라서 시스템은 (a) 거시 자금 흐름을 매일 조사해 쌓고, (b) 그로부터 검증된 지식·전략을 canonical로 정제하고, (c) 그 위에서 금액·목표·규칙이 있는 투자 계획을 세우고, (d) 실제 매매를 기록하며 규칙 위반을 기계적으로 체크해야 한다.
- 기존 dev wiki와 **섞이면 안 된다** (사용자 명시 요구) → 별도 `raw/invest-*`, `wiki/invest-*` 트리.
- "근거 없는 단정 금지"라는 저장소 제1원칙이 투자 판단에도 그대로 적용되어야 한다. 감(感)이 아니라 출처로 떠받친 규율이 목표.
### 성공 기준 (측정 가능)
- `/invest-daily` 1회로 출처 링크가 달린 거시 스냅샷 raw 노트가 생성된다 (수치마다 출처 + 조사시점).
- `/invest-decide`가 매매를 기록하는 동시에 `wiki/invest-strategy/`의 고정 규칙과 대조해 위반 시 빨간 플래그를 낸다.
- canonical(`wiki/invest-strategy/`)의 모든 규칙이 `raw/invest-research/` 증거 문서로 추적된다 (근거 없는 규칙 0, 또는 `UNSUPPORTED_DECISION` 명시 라벨).
- 외부 산출물(블로그 등) 파생은 기존 게이트(status ≥ reviewed) 그대로 적용.
### 비목표 / Non-goals (YAGNI · 못 하는 것)
- 자동 스케줄 실행(cron/loop) — **범위 밖** (사용자 결정: 수동 트리거).
- 실시간 시세 피드 / 자동 주문 체결 / 자산 보관 — 구조적으로 불가.
- 세금 신고·최적화 실행 인프라 — 지식·체크까지만.
- 외부 공개를 전제한 derived 층 — 1차 범위 밖 (나중에 `/blogify` 재활용 가능).
---
## 2. 아키텍처 — 폴더 분류 (raw + wiki)
```text
raw/ (증거 — 가공 전, 출처 보존)
├── invest-daily/ 매일의 "돈의 흐름" 거시 조사 (날짜별) [자료조사]
├── invest-research/ 특정 분야/자산 심층 조사 (verbatim 인용 보존) [자료조사·심화]
└── invest-ledger/ 실제 매수/매도 기록 (종목·금액·날짜·근거·규칙체크) [매매원장]
wiki/ (canonical — 검증된 판단 근거)
├── invest-concepts/ 검증된 지식 (ETF·금리·환율·분산 메커니즘 등) [넓은 조사 산출]
├── invest-strategy/ 내 전략 규칙 (포지션·손익·행동·절세 + 고지) [투자전략]
├── invest-plan/ 현재 활성 투자 계획 (금액·목표·배분·워치리스트) [계획·분야·금액·목표]
└── invest/invest-hub.md named hub (cluster 루트, index.md 금지)
```
요청 6항목 매핑: ①자료조사→`invest-daily`+`invest-research` / ②문서관리→파이프라인+lint / ③투자계획→`invest-plan` / ④투자분야→`invest-concepts`+plan 워치리스트 / ⑤투자전략→`invest-strategy` / ⑥금액·목표→`invest-plan` 고정 파라미터. 매매원장+규칙강제→`invest-ledger`+`invest-strategy` 규칙.
> `invest-ledger`를 raw에 두는 이유: 매매는 "사실 기록 = 증거"이므로 raw가 맞다. canonical은 *판단 근거*, ledger는 *일어난 일*.
---
## 3. 파이프라인 & 명령 (6종 `/invest-*`)
기존 `/daily → /ingest → ...` 구조를 본뜬다.
```text
[조사] /invest-daily → raw/invest-daily/YYYY-MM-DD.md
/invest-research <주제> → raw/invest-research/<slug>.md
│ (deep-research 하베스트: 웹 fan-out → fetch → 교차검증 → 출처발췌 보존)
[변환] /invest-ingest → wiki/invest-concepts/ (+ 규칙 발견 시 invest-strategy/)
[계획] /invest-plan → wiki/invest-plan/active-plan.md
[결정] /invest-decide <매수/매도> → raw/invest-ledger/ + ⚠️규칙 강제 체크
[리뷰] /invest-review → 포지션 vs 목표 vs 규칙 점검, 리밸런싱·stale 플래그
└────────── (루프백: 리뷰 결과가 다음 조사·계획에 반영) ──────────┘
```
| 명령 | 입력 | 출력 | 핵심 가드 |
|---|---|---|---|
| `/invest-daily` | (오늘) | `raw/invest-daily/` 거시 스냅샷(금리·환율·원자재·지수·코인) + "무엇이 바뀌었나" | 수치마다 **출처 링크 + 조사시점** |
| `/invest-research <주제>` | 분야/자산명 | `raw/invest-research/` 심층 + verbatim 인용 | official-doc vs 블로그 구분 |
| `/invest-ingest` | `raw/invest-*` | `wiki/invest-concepts/`(+`invest-strategy/`) | 검증된 것만, 환각 금지 |
| `/invest-plan` | strategy + 최근 daily | `wiki/invest-plan/active-plan.md` | 모든 항목 canonical 근거 링크 |
| `/invest-decide` | 매매 의도 + 근거 링크 | `raw/invest-ledger/` 기록 + 규칙 체크 리포트 | **규칙 위반 시 경고·차단**, 근거 없으면 기록 거부 |
| `/invest-review` | ledger + plan | 점검 리포트 | 패닉셀·목표이탈·stale 플래그 |
설계 포인트:
- **`/invest-decide`가 규칙 강제의 심장.** 매매 기록 시 `invest-strategy` 고정 규칙(포지션 비중·손익 라벨·패닉셀 쿨다운·절세계좌 조건)을 자동 대조.
- **`/invest-daily`·`/invest-research`는 기존 `deep-research` 스킬을 호출** — "근거하는 내용 기반" 요구를 구조적으로 보장.
---
## 4. 전략·규칙 모델 (`wiki/invest-strategy/`) — **출처 검증 완료**
> 2026-06-05 병렬 리서치로 모든 load-bearing 주장을 권위 출처에 대조함. 판정(KEEP/CORRECT/REJECT)과 출처는 §7. 아래는 검증 후 확정본.
**① 포지션 크기 (자본 구간별)** — `[KEEP]`
| 자본 구간 | 기본 전략 | 근거 |
|---|---|---|
| ~200만 이하 | **광범위 ETF 1~2개로 집중** (개별주 분산 ❌) | 광범위 ETF 1개 = 수백~수천 종목 분산. 소액 개별주 분산은 비효율 [SPIVA, Statman 1987] |
| 200만~1,000만 | ETF 코어 + 위성 1~2 자산군 | 분산효과가 비용 초과 시작 |
| 1,000만~ | 자산군 배분(주식·채권·원자재) 본격화 | 진짜 자산배분 단계 |
> **현 60만원의 정답은 "올인"이 아니라 광범위 ETF 1~2개**(그 자체가 분산). 자본이 늘면 규칙이 자동 전환.
**② 손절/익절** — `[REJECT한 부분 있음 — 대폭 수정]`
- **코어(광범위 ETF): 손절·익절 규칙 없음. 장기보유.** `[KEEP]` (지수 드로다운은 역사적으로 회복 — 단 수년~수십년 걸린 적 있음)
- **개별 베팅(선택 시): 손절/익절은 "근거 있는 규칙"이 아니라 본인의 위험감내 재량.** 두면 반드시 `UNSUPPORTED_DECISION` 라벨 + "이건 근거가 아니라 내 재량" 한 줄. **기계적 익절(+X%)은 근거상 비권장**(승자를 일찍 잘라 복리 손상 — Kaminski-Lo 2014, Haghani 2023). 특정 숫자(15%, +20~30%)는 임의값.
**③ 행동 가드레일** — `[CORRECT — 근거 정교화]`
- **패닉셀 쿨다운**: 급락 보고 24h 내 매도 결정 시 빨간 플래그 + "이유 먼저 쓰라" 강제
- **FOMO 가드**: 단기 급등 종목 신규매수 시 경고
- **거래 빈도 상한**: 주 N회 초과 매매 플래그 [잦은 매매 = 순수익 손상, Barber-Odean 2000]
- **선(先)근거 원칙**: 근거 문서 링크 없는 매매는 `/invest-decide`가 기록 거부
- ⚠️ "최고의 날 놓치면 망한다" 류 논리는 **약함(대칭성 반론)** — 가드 근거로 사용 금지.
**④ 절세계좌 우선순위** — `[CORRECT — 조건부 규칙으로]`
- **먼저 체크**: "낼 소득세(결정세액)가 있나? 이 돈 곧 쓰나?" → 무소득/단기자금이면 연금계좌(연금저축·IRP) **비권장** (중도인출 16.5% 페널티 = 락업). 무조건 "연금 먼저" ❌.
- **숫자 (전부 2025년 시행 기준)**: ISA 연 2,000만/총 1억/비과세 일반 200만(서민 400만)·초과 9.9% 분리과세·3년 의무 / 연금저축 연 600만 세액공제(16.5% 또는 13.2%) / IRP는 연금저축 합산 900만 세액공제·총납입 1,800만.
- **2026 ISA 확대안(연 4,000만·비과세 500만)은 국회 통과 전 — 확정 숫자로 인용 금지.**
**⑤ 목표·금액** — `[KEEP]`
- 시작자본(60만), 목표 금액·기간, 월 추가납입, 최대 감내손실(MDD)을 한 줄씩 명시 → ①~④의 기준점.
- DCA(분할)/일시매수: 일시매수가 평균 ~2/3 우세지만, DCA는 하락·후회 위험을 줄이는 선택 [Vanguard]. **수익전략이 아니라 리스크/심리 전략으로 표기.**
---
## 5. 신규 템플릿 & 메타 등록
| 신규 템플릿 | 대상 | 본뜬 것 |
|---|---|---|
| `templates/invest-daily-template.md` | `raw/invest-daily/` | daily-note-template |
| `templates/invest-research-template.md` | `raw/invest-research/` | raw-source-template (verbatim) |
| `templates/invest-ledger-template.md` | `raw/invest-ledger/` | 신규 (매매 + 규칙체크 필드) |
| `templates/invest-concept-template.md` | `wiki/invest-concepts/` | concept-template |
| `templates/invest-strategy-template.md` | `wiki/invest-strategy/` | 신규 (5규칙군 + 고지) |
| `templates/invest-plan-template.md` | `wiki/invest-plan/` | 신규 (금액·목표·배분·워치리스트) |
추가 등록:
- **`source_type` 어휘 추가** (CLAUDE.md §4 + templates): `invest-daily`, `invest-research`, `invest-ledger`, `invest-concept`, `invest-strategy`, `invest-plan`.
- **신뢰도 표(CLAUDE.md §5)** 에 위 6종 취급 방식 추가.
- **named hub** `wiki/invest/invest-hub.md` ([[rules/linking-rules]] 준수, `index.md` 금지). `wiki/llm-wiki.md` MOC에 등록.
- **태그**: `rules/tag-taxonomy.md``invest`/`finance` 계층 + 하위(equity·etf·macro·tax-account 등) 추가.
- **6개 명령** `.claude/commands/invest-*.md`.
---
## 6. 기존 규율과의 정합
- **증거 우선**: `/invest-research`는 [[rules/evidence-first-research]] 따라 verbatim 인용 + self-grep.
- **링킹**: 모든 raw가 `invest-hub`로 upward link, concept↔strategy↔plan 양방향 ([[rules/linking-rules]]).
- **status 게이트**: canonical이 `reviewed`+ 여야 derived 파생 (1차엔 derived 없음).
- **3-플랫폼 sync 여부 — 결정 필요**: 기존 명령은 `scripts/sync_automation.py`로 Codex/Antigravity에 sync된다. 단 `/project`처럼 **Claude 전용 예외**로 둘 수도 있다 (§8 Open Question).
- **lint**: `/lint`에 invest 트리 검사 항목 추가 (출처 없는 수치, `UNSUPPORTED_DECISION` 미라벨 규칙, 고지 누락).
---
## 7. 검증 근거 (Verified Evidence Base, 2026-06-05)
구현 시 이 출처들은 `raw/invest-research/`의 첫 증거 문서가 된다 (verbatim 인용 보존).
| 주장 | 판정 | 핵심 출처 |
|---|---|---|
| 액티브 펀드 대다수 장기 패배 (10y 84~90%, 20y 92~94%) | **KEEP** | S&P DJI **SPIVA** US YE2024 (공식) |
| 소액=광범위 ETF > 개별주 (10종목 룰 과소; ~3,500종목 보유) | **KEEP** | Statman 1987(JFQA), Evans-Archer 1968, VTI SEC 공시 |
| 잦은 매매가 순수익 손상 (최다거래 11.4% vs 시장 17.9%) | **KEEP** | Barber-Odean 2000 (Journal of Finance) |
| 광범위 지수 손절 불요·드로다운 회복(귀납적) | **KEEP** (단서: 회복 수년~수십년) | S&P500 역사 (다출처) |
| "자산배분이 수익률 결정" | **CORRECT** | 변동성 ~90%일 뿐(수준·펀드간 차이 아님), Ibbotson-Kaplan 2000 / CFA Institute |
| 행동격차(behavior gap) | **CORRECT**: 연 **1.1%p** (DALBAR 3~4% ❌) | Morningstar Mind the Gap 2024 |
| DCA vs 일시매수 | **CORRECT**: 일시 ~2/3 우세, DCA는 리스크·후회↓ | Vanguard 2023 |
| 절세계좌 "연금 먼저" | **CORRECT→조건부**: 결정세액 있어야 + 락업 16.5% | 국세청·금융위·KB (2025 기준) |
| 기계적 손절(−15%) 위험조정수익 개선 | **CORRECT(재작성)**: 지수엔 기대수익↓; 모멘텀에만 조건부 | Kaminski-Lo 2014 (J.Fin.Markets), CFA Institute 2026 |
| 기계적 익절(+20~30%) 장기수익 개선 | **REJECT** (지수투자엔 역효과; 숫자 임의값) | Haghani 2023, Dybvig 1988 |
---
## 8. Open Questions — 결정 완료 (2026-06-05)
1. **3-플랫폼 sync vs Claude 전용** → ✅ **Claude 전용.** `/project`처럼 예외. `scripts/sync_automation.py` 포팅 안 함. CLAUDE.md 3-플랫폼 서술에 예외로 표기.
2. **명령 이름** → ✅ `/invest-*` 접두 확정.
3. **invest-ledger 단위** → ✅ **단일 원장 파일** `raw/invest-ledger/ledger.md` (모든 매매를 표로 누적, 포지션·손익 전체 조망).
4. **`/invest-daily` 조사 범위** → ✅ **고정 체크리스트** (금리·환율·원자재·주요지수·코인 매일 점검) + 그날 이슈는 추가 섹션.
5. **사용자 소득 프로필** → ✅ strategy 문서에 "현재 과세소득(결정세액) 유무" 한 줄 필드. 비우면 절세계좌 규칙이 "조건 미확인"으로 보수 처리(연금계좌 권고 보류). 민감정보이므로 사용자가 직접 채움.
---
## 9. 구현 순서 (writing-plans로 상세화)
1. 폴더 + 6개 템플릿 생성, frontmatter 어휘 등록 (CLAUDE.md §4·§5).
2. `invest-hub` named hub + `wiki/llm-wiki.md` MOC 등록, 태그 taxonomy 추가.
3. `wiki/invest-strategy/` 초기본 작성 (§4 확정본 + §0 고지 + §7 근거 링크). §7 출처를 `raw/invest-research/`로 아카이브.
4. 6개 `/invest-*` 명령 작성 (sync 여부는 Open Q1 결정 후).
5. `/lint` invest 검사 항목 추가.
6. 첫 실사용: `/invest-daily` 1회 → `/invest-plan` 초안 → 검수.