| name | isa-briefing |
| description | Monthly ISA contribution briefing for the long-term Korean ETF book. Values the ISA portfolio, checks drift vs the approved target allocation, optionally proposes a tilt (code-clamped to ยฑ10%p), runs the sell-free contribution allocator, and composes a Korean briefing with per-ETF buy amounts, track record vs benchmarks, and the decision-log id. Triggers on keywords like isa, ISA ๋ธ๋ฆฌํ, ์ ๋ฆฝ, ์ ์ ๋ฆฝ, ๋ฆฌ๋ฐธ๋ฐ์ฑ, ETF ์ ๋ฆฝ, isa briefing, monthly contribution. |
ISA Monthly Briefing
์ฅ๊ธฐ ISA ETF ์ ๋ฆฝ ๊ณ์ข์ ์๊ฐ ๋ธ๋ฆฌํ. ๋ฐ์ดํฐ์ ์คํ์ ์ ๋ถ bin/stock-cli isa ...,
ํ๋จ(ํธํธ ์ฌ๋ถ)๋ง LLM โ ํธํธ ํด๋จํ(ยฑ10%p)์ ๊ฒฐ์ ๋ก๊ทธ๋ ์ฝ๋๊ฐ ๊ฐ์ ํ๋ค.
When to Use
- ๋งค์ ์ ๋ฆฝ์ผ (์๋ cron
scheduler/isa_briefing.py ๋๋ ์๋ ํธ์ถ)
- ์ ๋ฆฝ๊ธ ๋ฐฐ๋ถ์ ๊ฒฐ์ ํ๊ณ ์คํ ๋ด์ญ์ ๊ธฐ๋ก์ผ๋ก ๋จ๊ธธ ๋
- ๋ถ๊ธฐ(1/4/7/10์) ๋ฆฌ๋ฐธ๋ฐ์ค ๋ฐด๋ ์ ๊ฒ
Prerequisites
bin/stock-cli ์คํ ๊ฐ๋ฅ (uv-managed env)
- ์น์ธ๋ ๋ชฉํ ๋ฐฐ๋ถ์ด ์ ์ฅ๋ผ ์์ด์ผ ํจ (
isa init, ์ต์ด 1ํ)
- KR ํฌํธํด๋ฆฌ์ค ์ด๋ฆ "ISA" (
portfolio create --market KR --name ISA;
๊ฑฐ๋ ๊ธฐ๋ก์ ๋ฐ๋์ --portfolio ISA๋ก)
- ์ด๋ฒ ๋ฌ ์ ๋ฆฝ๊ธ์ ํญ์ ๋ช
์์ ์
๋ ฅ โ ํ๋กฌํํธ/์ธ์๋ก ์ฃผ์ด์ง ๊ธ์ก๋ง ์ฌ์ฉํ๊ณ ,
์์ผ๋ฉด ์ฌ์ฉ์์๊ฒ ๋ฌผ์ด๋ณธ๋ค. ์ ๋ ์์ ๊ธ์ก์ ๊ฐ์ ํ์ง ์๋๋ค.
Workflow
1. ํํฉ ์์ง
bin/stock-cli isa status
bin/stock-cli isa rebalance
bin/stock-cli isa log --limit 5
status๊ฐ error๋ฅผ ๋ฐํํ๋ฉด (๋ชฉํ ์์ / ISA ํฌํธํด๋ฆฌ์ค ์์) ์๋ด ๋ฉ์์ง๋ฅผ
์ ๋ฌํ๊ณ ์ค๋จํ๋ค.
2. ๋งคํฌ๋ก ์ปจํ
์คํธ
bin/stock-cli macro-news --limit 10
๋ฆฌ์คํฌ ๋ ๋ฒจ์ ์ปจํ
์คํธ์ผ ๋ฟ์ด๋ค. Stage-24์ RISK_OFF ์ค์์น๋ ๊ฐ๋ณ ์ข
๋ชฉ์
์ ๊ท BULL ์์ธก์ ๋ง๋ ๊ฒ์ดํธ์ด๋ฉฐ, ISA ์ ์ ๋ฆฝ์๋ ์ ์ฉ๋์ง ์๋๋ค โ ์ฅ๊ธฐ
DCA๋ ์ค๊ณ์ ๋ฆฌ์คํฌ์คํ ๊ตฌ๊ฐ์๋ ๊ณ์ํ๋ค. ๋ฆฌ์คํฌ์คํ๋ผ๋ฉด ์ด๋ฒ ๋ฌ์ ๊ฑด๋๋ฐ๋
๊ฒ ์๋๋ผ ํธํธ๋ฅผ 0์ผ๋ก ์ ์งํ๋ ๊ทผ๊ฑฐ๋ก ์ผ๋๋ค.
3. (์ ํ) ๋์ผ ์ง์ ๋ด ๋ ์ผ ํฐ์ปค ์ ๊ฒ
ํฅํ ๋งค์๋ถ์ ํํด ๊ฐ์ ์ง์๋ฅผ ์ถ์ข
ํ๋ ๋ ์ผ ETF๋ก์ ์ ํ์ ๊ฒํ ํ ์ ์๋ค:
bin/stock-cli etf compare --query "๋ฏธ๊ตญ S&P500"
์ ํ์ ์์ผ๋ก์ ๋งค์ ๋์ ๋ณ๊ฒฝ๋ง ์๋ฏธํ๋ค โ ๊ธฐ์กด ๋ณด์ ๋ถ ๋งค๋๋ ์ ๋
๊ถํ์ง ์๋๋ค (ISA ๋น๊ณผ์ธ/์๋ฌด๊ธฐ๊ฐ). ์ ํ์ ๊ถํ๋ฉด ๋ชฉํ ์ฌ์ ์ฅ(isa init)์ด
ํ์ํ๋ค๊ณ ์๋ดํ๋ค.
4. ํธํธ ๊ฒฐ์ (๊ธฐ๋ณธ: ํธํธ ์์)
- ๊ธฐ๋ณธ๊ฐ์ ํธํธ ์์์ด๋ค. ํธํธ๋ ์์ธ์ด๋ฉฐ, ํด๋์ค๋น 2-3๋ฌธ์ฅ์ ํ๊ตญ์ด ๊ทผ๊ฑฐ๊ฐ
์์ ๋๋ง ์ ์ํ๋ค.
- ์ ์ ํ๋๋ ยฑ10%p โ ๊ทธ ์ด์ ์จ๋ CLI๊ฐ ํด๋จํํ๋ค. CLI๊ฐ ์ถ๋ ฅํ ํด๋จํ
๊ฒฐ๊ณผ๊ฐ ์ต์ข
์ด๋ค.
5. ์ ๋ฆฝ ์คํ
bin/stock-cli isa allocate --amount <AMOUNT>
bin/stock-cli isa allocate --amount <AMOUNT> --tilt "overseas_equity=+5,bond=-5"
์ถ๋ ฅ์ per_etf (์ข
๋ชฉ๋ณ ๋งค์์ก + ์์ ์๋)์ decision_id๋ฅผ ๋ธ๋ฆฌํ์ ๊ทธ๋๋ก
์ธ์ฉํ๋ค. ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ง ํ์ํ๋ฉด --dry-run (๊ฒฐ์ ๋ก๊ทธ ๋ฏธ๊ธฐ๋ก).
6. ๋ถ๊ธฐ ๋ฆฌ๋ฐธ๋ฐ์ค ์น์
(1/4/7/10์ ์คํ ์)
isa rebalance์ ๋ฐด๋ ์๋ฐ๊ณผ min_contribution_to_restore(๋ฐด๋๋ฅผ ๋ณต์ํ๋
์ต์ ์ถ๊ฐ ์ ๋ฆฝ์ก)๋ฅผ ํ๋ก ๋ณด์ฌ์ค๋ค. ๊ต์ ์๋จ์ ์ถ๊ฐ ์ ๋ฆฝ๋ฟ โ ๋งค๋ ๋ฆฌ๋ฐธ๋ฐ์ค๋
์ ์ํ์ง ์๋๋ค.
7. ํ๊ตญ์ด ๋ธ๋ฆฌํ ์์ฑ
์์๋๋ก:
- ์ด๋ฒ ๋ฌ ์ ๋ฆฝ ๋ฐฐ๋ถํ โ ์ข
๋ชฉ๋ณ ๋งค์์ก + ์์ ์๋ (
per_etf)
- ํฌํธํด๋ฆฌ์ค ํํฉ โ ํด๋์ค๋ณ ๋น์ค vs ๋ชฉํ, ๋๋ฆฌํํธ (
status)
- ํธ๋๋ ์ฝ๋ โ ์ต๊ทผ ์ค๋
์ท(
recent_snapshots), ๋์ ์์ต๋ฅ
(since_inception_return_pct) vs ๋ฒค์น๋งํฌ (S&P 500, KOSPI)
- ๋งคํฌ๋ก ์ฝ๋ฉํธ โ 2-3๋ฌธ์ฅ, ํธํธ ๊ฒฐ์ ๊ณผ์ ์ฐ๊ฒฐ
- ๊ฒฐ์ ๋ก๊ทธ ID โ
decision_id ๋ช
์
Hard Rules
- ์ ์ ๋ฆฝ์ ์์ฅ ๋ด๋ฌํฐ๋ธ๋ก ๊ฑด๋๋ฐ์ง ์๋๋ค. ๋ฆฌ์คํฌ์คํ = ํธํธ 0, ์ ๋
"์ด๋ฒ ๋ฌ์ ์ฌ์"๊ฐ ์๋๋ค.
- ํธํธ๋ ์ฝ๋์์ ยฑ10%p๋ก ํด๋จํ๋๋ค. ํด๋จํ๋ ๊ฒฐ๊ณผ์ ์ด์๋ฅผ ๋ฌ์ง ์๋๋ค.
- ๋ฆฌ๋ฐธ๋ฐ์ค๋ฅผ ์ํ ๋งค๋๋ฅผ ๊ถํ์ง ์๋๋ค โ ๊ต์ ์ ์ถ๊ฐ ์ ๋ฆฝ์ผ๋ก๋ง
(ISA ๋น๊ณผ์ธ/์๋ฌด๊ธฐ๊ฐ).
- ๋ชจ๋ ์คํ์
isa allocate/isa rebalance๋ฅผ ํตํด ๊ฒฐ์ ๋ก๊ทธ์ ๋จ๋๋ค.
๋ก๊ทธ๋ฅผ ์ฐํํ๋ ์๋ ๊ณ์ฐ ์ง์๋ฅผ ํ์ง ์๋๋ค.
- ์ ๋ฆฝ๊ธ์ ํญ์ ๋ช
์์ ์
๋ ฅ์ด๋ค. ์์ ๊ธฐ๋ณธ๊ฐ ๊ธ์ง.