주현영
주현영
🎻 루키 파트너
🏡 내집마련 찐친

주식/ETF/외환/금/CFD 투자 한번에 다잡은 궁극의 6종 자가분석 AGENT 만든썰

소개

> 시도하고자 했던 것과 그 이유

저는 "ETF 입문자를 위한 Claude Cowork + 하네스 엔지니어링으로 AI 투자 에이전트 만들기" 라는 4주 스터디를 운영하고 있는 스터디장입니다.

처음 설계할 때의 목표는 단순했어요 — "수강생이 Claude Cowork만 열면, 본인의 성향·자산·목표에 맞춘 포트폴리오를 AI가 직접 분석·검증해주는 개인 투자 에이전트를 만들 수 있게 하자."

그런데 5월 30일 1기 운영을 돌려보니, 제가 너무 "AI에 익숙한 사람 기준" 으로 설계해놨더라고요.

- "Cowork에서 skill 파일 6개 불러와서 자가검증 루프 돌리세요" → 수강생 절반이 skill이 뭐예요? 에서 멈춤

- 포트폴리오 3안을 한 번에 뽑으라고 했더니 자산배분이 잘 이루어지지 않음

- Cowork 서브에이전트가 시각화되어 보이지도 않고, 도중에 토큰 한도로 끊기면 처음부터 다시…

그래서 6월 한 달 동안 "AI/투자가 처음인 분도 따라갈 수 있게" 커리큘럼과 하네스를 거의 다시 짰습니다.

그런데 이걸 고치다 보니 생각지도 못한 부분까지 왔어요. 저는 ETF 외에도 금(Gold), 원유, 외환 같은 CFD 상품을 직접 거래하고 있는데, 기존 에이전트는 주식 중심으로 설계되어 있어서 제 투자에 바로 쓰기가 어려웠거든요. 차트와 타이밍이 생명인 CFD에 P/E, ROE 분석을 들이밀고 있었으니까요.

"어차피 나도 쓸 거면, 제대로 만들자."

그렇게 수강생용 커리큘럼 개선과 동시에, 주식·ETF·외환·금·CFD를 하나의 에이전트로 분석하는 궁극의 분석 AGENT를 만들게 됐습니다. 그 과정에서 겪은 시행착오를 공유합니다.


진행 방법

> 어떤 도구를 사용했고, 어떻게 활용하셨나요?

사용 도구

- Lovable (워크샵 웹앱 빌드 — STEP1~6 인터랙티브 페이지)

- Claude Cowork (수강생용 메인 AI 에이전트)

- Claude Code CLI (Cowork 한계를 우회하기 위한 백업 실행 환경 — 서브에이전트 실제 구동)

- Perplexity (실시간 뉴스·공시 모니터링용 보조 에이전트)

- GitHub (`investment-agent` 하네스 저장소 — skills/, agents/, user/, output/, trades/ 구조)

1. STEP4를 "한 번에" → "4단계 카드"로 쪼갬

5월 30일 버전은 카드 1개에 "관심종목 → 6개 skill 분석 → 후보 도출" 을 다 욱여넣었어요. 수강생들이 멈춰서, 4개 카드로 분리했습니다.

① 관심종목 베이스라인 심층 분석

② 6개 분석 skill 다운로드 (fundamental / valuation / technical / qualitative / risk / deep-analysis)

③ 분석 에이전트 구성 (어떤 skill을 켤지 토글)

④ 분석 에이전트 실행

2. STEP5도 1카드 → 2카드로 분리

기존: "최종 리포트 한 방에 생성" → 환각·누락 다발

① 포트폴리오 3안 → 1안 확정

- A안 코어형 / B안 성장형 / C안 현금흐름형 비교표 강제

- 내 성향·갭 기반 1안 선택 + user/portfolio-selected.md 저장

② 최종 투자 리포트 생성 (output/05-final-report.md)

STEP5 ② 최종 리포트 프롬프트 전문:

#Role: 너는 글로벌 IB 수석 리서치 애널리스트. 1년차 신규 고객용 온보딩 리포트를 작성한다.

- 면책: "본 리포트는 학습 목적이며 투자 자문이 아닙니다."

#Context (read)

memory.md, user/profile.md, user/assets.md, user/freedom-goal.md, 

user/portfolio-selected.md, output/04-deep-analysis.md, output/05-portfolio.md

#Instruction — output/05-final-report.md 작성

## 1) Executive Summary — 투자자 선언문 1문장 / 핵심 결론 3 / 1년 KPI 3

## 2) 투자자 프로필 카드 (표)

## 3) 재무 현황 진단 (신호등 🟢🟡🔴)

## 4) 경제적 자유 로드맵 (현재 갭 + 1년 액션)

## 5) 포트폴리오 (확정 1안 비중 표 + 종목별 매수 근거 1줄)

## 6) 리스크 TOP 5 (거시·집중·환·유동성·행동편향)

## 7) 1년 실행 캘린더 (분기별 1줄)

## 8) 나에게 전하는 한 줄

#Output

- output/05-final-report.md 저장

- memory.md > 학습 로그에 "최종 리포트 YYYY-MM-DD 생성" append

3. SKILL.md YAML 에러 전수 수정

스킬을 업데이트 하는데 계속 Error in user YAML: mapping values are not allowed in this context at line 4 column 38 나왔어요

원인은 frontmatter의 inputs: 리스트 항목에 콜론이 들어가 있어서 (`tickers: "AAPL, MSFT"`) YAML 파서가 깨진 거였습니다. 6개 분석 skill + 5개 운영 skill 모두에 따옴표 처리로 일괄 픽스.

4. trades/log.csv 스키마 개선

기존: date,ticker,side,qty,price,note (note에 통화·사유 뒤섞임)

변경: date,ticker,side,qty,price,currency,reason (USD/KRW 분리)

5. 자산 타입 자동 감지 오케스트레이터 설계 (신규)

수강생 커리큘럼 개선을 끝내고 나서 제가 직접 부딪힌 문제가 생겼습니다. 저는 주식·ETF 외에도 금(XAUUSD), 원유 CFD, 외환을 병행하고 있는데, 기존 에이전트는 이런 자산에 P/E, ROE, DCF를 들이밀었어요. CFD에 밸류에이션 분석이 무슨 의미가 있겠어요.

그래서 skills/orchestrator.md를 따로 설계했습니다. 핵심은 자산 타입 자동 감지입니다.

TYPE A — 주식 / 주식형 ETF (AAPL, QQQ, 삼성SDI)

  → fundamental + valuation + technical + qualitative + risk + deep-analysis

  → 6개 skill 풀 실행

TYPE B — 채권 ETF (TLT, TIP, BIL)

  → 매크로 + 금리 시나리오 중심 경량 실행

TYPE C — Gold / 원자재 / CFD (XAUUSD, GLD, 원유, 외환)

  → fundamental·valuation SKIP (적용 불가 자산)

  → technical을 PRIMARY로 격상

  → 3-FRAME 교차검증 강제 실행

CFD·Gold에서 가장 중요한 건 타이밍인데, 기존 technical skill은 "일봉/주봉/월봉 중 하나"를 고르는 구조였어요. 오케스트레이터는 이걸 3개 타임프레임 동시 교차검증으로 바꿨습니다.

■ 월봉 — 장기 위치 확인 (역사적 지지/저항, 200일선)

■ 주봉 — 중기 추세 (20주선/50주선, RSI 다이버전스)

■ 일봉 — 단기 진입 타이밍 (골든크로스, 스토캐스틱)

Gold는 여기에 DXY(달러인덱스) 역상관, 실질금리(TIPS) 방향성, 중앙은행 매입 동향까지 자동으로 붙입니다. 차트만 보다가 달러 반등에 당하는 걸 막기 위해서요.

마지막으로 채팅/COWORK/CLAUDE CODE 범용적으로 사용할 수 있게 패키징을 합니다.

한국어 텍스트 편집기의 스크린샷

6. Cowork → CLI 이중화 구조

Cowork의 서브에이전트는 눈에 보이는 시각적 결과물이 제한적이고, 토큰 한도로 중간에 끊기면 컨텍스트 복구가 어렵습니다. 그래서 수강생용 Cowork 경로는 유지하되, 실제 분석 에이전트 구동은 Claude Code CLI에서 이중화했습니다.

CLI에서는 skills/orchestrator.md를 서브에이전트로 등록해두면, 자연어 한 줄로 전체 파이프라인이 실행됩니다.

"XAUUSD, AAPL, TLT 분석해줘"

→ 자산 타입 자동 감지 (TYPE C / A / B)

→ 타입별 skill 자동 선택 + 옵션 결정

→ 6개 skill 순차 실행

→ 3중 자가검증 루프

→ output/04-deep-analysis/ 파일 자동 저장

→ user/portfolio.md 업데이트

한 번 투자 판단할 때 무려 6개 skill 기반 검증이 돌아가고, 그 결과가 파일로 쌓입니다. 다음 분석 때는 직전 회차 데이터를 불러와서 "이번에 의견이 바뀌었는지"까지 자동으로 비교해줘요. 제가 Gold를 3달째 보고 있는데, 매주 분석 파일이 쌓이면서 제 판단 변화 이력이 고스란히 남습니다.


결과와 배운 점

> 배운 점과 나만의 꿀팁

🔑 배운 점 3가지

1. "한 카드 = 한 책임"이 진리. AI 친화적인 사람은 5단계를 한 프롬프트에 욱여넣어도 되지만, 입문자에겐 카드 4개로 쪼개는 게 완료율을 2배로 올립니다.

2. YAML frontmatter는 항상 따옴표. 콜론·쉼표 들어가는 값은 무조건 "...". 6개 skill 동시 에러를 한 번 겪으면 평생 안 잊어요.

3. 자산 타입마다 분석 방법론이 달라야 한다. 주식엔 DCF가 맞지만 Gold엔 DXY가 맞습니다. 하나의 에이전트로 모든 자산을 커버하려면 "타입 감지 → 방법론 분기" 구조가 필수입니다. Cowork ≠ Claude Code CLI 라는 것도 마찬가지 — 서브에이전트가 보여지는 것도 다르고 기능도 다릅니다. 입문자 동선은 Cowork 중심으로 하되 실제 구현되는 모습을 CLI로 이중화하는 게 좋습니다.

💡 꿀팁

- 분석 skill의 산출물 파일명을 YYYY-MM-DD-<TICKER>-<skill>.md 로 통일하면, STEP5에서 read할 때 와일드카드 한 줄로 끝납니다.

- 포트폴리오 추천은 무조건 "3안 비교표 강제 + 1안 선택 근거 3줄" 포맷으로 가두세요. AI가 "이거 사세요" 단정 못 하게 막는 가장 효과적인 가드레일.

- Gold/CFD 분석은 단일 타임프레임 금지. 월봉(위치) → 주봉(추세) → 일봉(타이밍) 순서로 탑다운이 기본입니다. 일봉만 보다가 월봉 저항선에 막히는 경험을 두 번 하면 자연스럽게 몸에 익습니다.

🌀 시행착오

- Cowork에서 harness/skills/*.md 6개를 한 번에 read하라고 했더니 4번째에서 항상 끊김 → skill을 사용자가 직접 다운로드 받아 폴더에 두는 방식으로 변경

- "monthly-report" skill이 존재하지 않는 output/03-freedom-roadmap.md 를 read하려다 실패 → 의존성 감사(`.lovable/plan.md`) 후 user/freedom-goal.md 로 교체

- 수강생이 직접 입력한 STEP1~3 데이터가 하네스 user/*.md 로 자동 동기화 안 되는 문제 → 일단 "Cowork 대화 중 복붙" 방식으로 우회, 자동 sync는 2기 과제

- 오케스트레이터가 TYPE C 자산에 P/E를 계산하려다 "해당 지표 없음" 루프에 빠짐 → 자산 타입 감지 단계에서 SKIP 목록을 명시적으로 선언하는 방식으로 해결

📅 앞으로의 계획

주식 거래 화면의 스크린샷

- 2기(7월) 오픈 전까지 현재 운영하고 있는 자동투자 전략 분석을 실시간으로 연동되게 하면서 + 알림 생성 + 포트폴리오 검증 후 리밸런싱 추천받을 수 있도록 자동 sync 구현

게임의 최고 점수를 보여주는 막대 차트

- 오케스트레이터에 외환(FX) 전용 분석 모듈 추가 — 금리 차이(Interest Rate Differential), COT 포지셔닝 리포트 연동


도움 받은 글 (옵션)

- Anthropic 공식 [Claude Skills 문서](https://docs.anthropic.com/) — SKILL.md frontmatter 스펙

- 지피터스 "Claude Code로 개인 비서 만들기" 시리즈 — 하네스(skills/ + memory.md) 구조 차용

- Bogle, The Little Book of Common Sense Investing — 코어 ETF 3안 설계 기준

- World Gold Council (WGC) 분기 보고서 — Gold 중앙은행 매입 동향 데이터 출처

6
2개의 답글

뉴스레터 무료 구독