Learning Objectives
이번 주 학습 목표
1
Alpaca Paper Trading API에 연동해 AI verdict를 가상 매수/매도 주문으로 실제 체결시킬 수 있다
2
Risk Guards (포지션 크기·손절·익절·일일 손실 한도) 4단계 안전장치를 Code 노드로 구현할 수 있다
3
성과 추적 대시보드를 구축해 일일/주간 수익률·승률·샤프 비율 자동 계산할 수 있다
4
8주 학습 성과를 5분 발표 + GitHub 포트폴리오 + 이력서 한 줄로 정리해 취업/진학에 활용할 수 있다
이번 주의 한 문장: "에이전트가 주문을 낸다." 지금까지 에이전트의 판단은 Discord 메시지로만 머물렀습니다. 이번 주 AI 판단이 실제 주문 체결로 이어지는 완전한 고리를 완성합니다. 그리고 이 8주 여정을 세상에 자랑하는 방법도 배웁니다.
8-Week Journey
여러분이 지나온 8주
🗺️ Zero에서 Agent Architect까지
W1 n8n 기초 + 가격 1차원 수집 (Yahoo·CoinGecko·FRED)
W2 Google Sheets 대시보드 + RSI·MA·볼린저 자동 계산
W3 뉴스 센티먼트 2차원 + 첫 AI Agent (Claude 연결)
W4 차트 Vision 3차원 + Switch 분기 + Discord 알림
W5 24/7 멀티 스케줄 + 멀티채널 + Vector DB 기초
W6 Hybrid RAG + Cohere Reranker + 출처 인용 Q&A
W7 멀티 에이전트 오케스트레이션 (Orchestrator + 3 Specialist)
W8 페이퍼 트레이딩 + 최종 발표 ⬅️ 지금 여기
💡 여러분은 이제 어떤 사람인가: 7주 전 n8n이 뭔지 몰랐던 입문자가 지금은 기관 리서치팀 구조를 AI로 복제했습니다. 이건 입문자 수준 프로젝트가 아닙니다. 실리콘밸리 스타트업·월스트리트 퀀트팀에서 실제로 쓰는 아키텍처입니다. 이 여정을 어떻게 보여주는지가 이번 주의 절반입니다.
Session 1 · 40min
1교시 — Alpaca Paper Trading API 연동
Alpaca는 미국 주식 + 암호화폐 전용 브로커 API입니다. Paper Trading은 완전 무료이며, 가입 직후 $100,000 가상 자본이 자동 지급됩니다. 실제 시장 데이터로 실시간 주문 시뮬레이션이 가능합니다.
Alpaca 가입 + Paper API 키 발급
Alpaca Paper 계정 5분 세팅
https://alpaca.markets 접속 → Sign up (이메일만 필요)
- 가입 후 자동으로 Paper Trading Dashboard 진입 (실계좌 X)
- 우측 상단 Your API Keys → Generate New Key
APCA-API-KEY-ID와 APCA-API-SECRET-KEY 발급 (즉시 한 번만 표시)
- n8n Credentials → Header Auth 생성 → 아래 2개 헤더 등록
// n8n Credentials (Header Auth) 2개 설정
Name: APCA-API-KEY-ID
Value: 여러분의_KEY_ID
Name: APCA-API-SECRET-KEY
Value: 여러분의_SECRET
// 또는 Generic Credential 방식으로 2개 헤더 동시 전송
핵심 엔드포인트 3개
| 엔드포인트 | Method | 용도 |
/v2/account | GET | 현재 잔고·포지션 전체 조회 |
/v2/positions | GET | 보유 중인 종목 리스트 |
/v2/orders | POST | 신규 주문 제출 (매수/매도) |
/v2/orders/{id} | GET | 특정 주문 상태 조회 |
/v2/orders/{id} | DELETE | 대기 중 주문 취소 |
💡 Base URL 주의:
• Paper (무료): https://paper-api.alpaca.markets
• Live (실계좌): https://api.alpaca.markets
이번 주에는 paper-api만 사용. URL을 잘못 설정하면 라이브 계좌에 연결될 수 있으니 절대로 confuse하지 말 것.
매수 주문 예시
💰
HTTP Request — Alpaca 매수
TRADE
W7 Orchestrator의 verdict가 "BUY"이고 confidence ≥ 4일 때만 이 노드 실행.
Method: POST
URL: https://paper-api.alpaca.markets/v2/orders
Authentication: Header Auth (2 헤더)
Send Body: JSON (아래)
// POST Body - 시장가 매수 예시
{
"symbol": "AAPL",
"qty": "1",
"side": "buy",
"type": "market",
"time_in_force": "day"
}
// 응답 (성공)
{
"id": "9d4e1d7f-...",
"status": "accepted",
"symbol": "AAPL",
"qty": "1",
"filled_qty": "0",
"limit_price": null
}
포지션 사이징 Code 노드
Claude verdict가 와도 얼마나 살지는 별도 규칙. 무작정 몰빵 금지. 계좌 자본의 몇 %만 사용하는 규칙을 Code 노드로 구현합니다.
// 포지션 사이징 - 계좌 자본의 2%만 사용 (Kelly Criterion 단순화)
const verdict = $input.item.json;
const account = $('GetAccount').item.json;
// 기본 자본의 2%를 한 포지션에 할당
const equity = parseFloat(account.equity);
const positionBudget = equity * 0.02; // 2%
// confidence에 따라 가중치 (3/5 → 1배, 4/5 → 1.5배, 5/5 → 2배)
let sizeMultiplier = 1;
if (verdict.confidence === 4) sizeMultiplier = 1.5;
else if (verdict.confidence === 5) sizeMultiplier = 2;
const finalBudget = positionBudget * sizeMultiplier;
// 현재 가격 기준으로 수량 계산
const currentPrice = parseFloat(verdict.current_price);
const qty = Math.floor(finalBudget / currentPrice);
// 최소 1주, 최대 자본의 5% 제한
const maxQty = Math.floor((equity * 0.05) / currentPrice);
const safeQty = Math.min(Math.max(qty, 1), maxQty);
return {
symbol: verdict.ticker,
qty: safeQty.toString(),
side: 'buy',
type: 'market',
time_in_force: 'day',
budget_used: finalBudget.toFixed(2),
equity_pct: ((finalBudget / equity) * 100).toFixed(2)
};
Session 2 · 30min
2교시 — Risk Guards 4단계 안전장치
AI 에이전트의 판단을 무조건 실행하면 사고가 납니다. 프로 트레이딩 시스템의 핵심은 "잘 사는 법"이 아니라 "크게 안 잃는 법"입니다. 4가지 필수 안전장치를 구현합니다.
🛡️ Guard 1 — Position Sizing
한 종목에 전체 자본의 일정 비율 이상 투입 금지.
maxPerPosition = equity * 0.05
🛑 Guard 2 — Stop Loss
매수가 대비 -5% 이탈 시 자동 청산.
stopLossPrice = entry * 0.95
💰 Guard 3 — Take Profit
매수가 대비 +10% 도달 시 일부 익절.
takeProfitPrice = entry * 1.10
🚨 Guard 4 — Daily Loss Limit
하루 손실 -2% 이상이면 당일 추가 주문 정지.
if dailyPnL < -2% → freeze
Bracket Order — Alpaca의 원샷 3단 주문
Alpaca는 매수 + 익절 + 손절을 한 번의 주문으로 묶는 "Bracket Order"를 지원합니다. Risk Guard 2, 3을 한 노드로 해결.
// Bracket Order - 매수와 동시에 익절·손절 주문 예약
{
"symbol": "AAPL",
"qty": "10",
"side": "buy",
"type": "market",
"time_in_force": "day",
"order_class": "bracket",
"take_profit": {
"limit_price": "198.00" // 매수가 180 × 1.10
},
"stop_loss": {
"stop_price": "171.00", // 매수가 180 × 0.95
"limit_price": "170.50" // slippage 보호
}
}
✨ Bracket Order의 위력: 일반 주문이면 매수 후 손절·익절 로직을 24시간 감시해야 합니다. Bracket은 Alpaca가 자동으로 대기해줍니다. 여러분이 잠자는 동안에도 안전. 프로 퀀트 시스템의 표준 패턴입니다.
Guard 4 — Daily Loss Limit 구현
매 주문 전에 당일 손실이 한도 초과인지 체크. 초과하면 주문 스킵.
// Daily Loss Limit Guard
const account = $input.item.json;
const equity = parseFloat(account.equity);
const lastEquity = parseFloat(account.last_equity);
// 당일 수익률 계산
const dailyPnLPct = ((equity - lastEquity) / lastEquity) * 100;
const DAILY_LOSS_LIMIT = -2.0; // -2%
if (dailyPnLPct < DAILY_LOSS_LIMIT) {
return {
should_trade: false,
reason: `Daily loss limit hit: ${dailyPnLPct.toFixed(2)}%`,
daily_pnl_pct: dailyPnLPct,
equity: equity
};
}
return {
should_trade: true,
daily_pnl_pct: dailyPnLPct,
equity: equity,
remaining_budget: equity * 0.05
};
전체 트레이딩 워크플로
🔧 W8 최종 워크플로 — 4 Agent + Risk Guards + Paper Trading
Schedule→평일 오전 8시 30분 (장 개장 전)
Orchestrator (W7)→4 에이전트 실행 → 최종 verdict + confidence
IF: verdict = BUY & conf ≥ 4→강한 신호만 진행, 나머지는 로깅만
Get Account→현재 잔고·당일 수익률 조회
Guard 4 Check→Daily Loss Limit 검증 (통과 시만 진행)
Position Sizing→Guard 1 적용 수량 계산
Alpaca Bracket Order→Guard 2+3 포함 매수 주문 제출
Sheets + Discord→거래 로그 + 알림 (차트 이미지 포함)
Session 3 · 30min
3교시 — 성과 추적 대시보드
투자 시스템에서 가장 중요한 것은 기록입니다. 어제 왜 샀고 오늘 얼마가 됐는지 추적 안 하면 개선 못 합니다.
거래 로그 — Sheets "trades" 탭
| 컬럼 | 예시 | 설명 |
timestamp | 2026-04-22 08:32 | 주문 제출 시각 |
ticker | AAPL | 종목 |
side | buy | 매수/매도 |
qty | 5 | 수량 |
entry_price | 178.42 | 체결가 |
verdict | BUY | 에이전트 판단 |
confidence | 4 | 신뢰도 |
agents_used | news,macro | 호출된 에이전트 |
reasoning | "WWDC 호재..." | 요약 근거 |
stop_loss | 169.50 | 손절가 |
take_profit | 196.26 | 익절가 |
alpaca_order_id | 9d4e1d... | Alpaca 주문 ID |
일일 성과 계산 — 저녁 자동 실행
장 마감 후 당일 성과를 자동 집계하는 별도 워크플로. 매일 저녁 8시 실행.
// 일일 성과 요약 계산
const trades = $input.all();
const account = $('GetAccount').item.json;
const today = new Date().toISOString().slice(0, 10);
const todayTrades = trades.filter(t =>
t.json.timestamp.startsWith(today)
);
const buyCount = todayTrades.filter(t => t.json.side === 'buy').length;
const sellCount = todayTrades.filter(t => t.json.side === 'sell').length;
const equity = parseFloat(account.equity);
const lastEquity = parseFloat(account.last_equity);
const dailyReturn = ((equity - lastEquity) / lastEquity) * 100;
// 누적 수익률 (시작 자본 $100,000 기준)
const INITIAL_CAPITAL = 100000;
const totalReturn = ((equity - INITIAL_CAPITAL) / INITIAL_CAPITAL) * 100;
return {
date: today,
trades_count: todayTrades.length,
buy_orders: buyCount,
sell_orders: sellCount,
daily_return_pct: dailyReturn.toFixed(3),
total_return_pct: totalReturn.toFixed(3),
equity: equity.toFixed(2),
status: dailyReturn >= 0 ? '🟢 profit' : '🔴 loss'
};
성과 예시 — 1주일 시뮬레이션 결과
Day 1
BUY AAPL × 5
News+Macro: WWDC 호재 (conf 4)
$892.10
Day 2
BUY MSFT × 3
News: AI 파트너십 발표 (conf 4)
$1,248.60
Day 3
Stop Loss TSLA × 2
자동 청산 (-5% 도달)
-$46.20
Day 5
Take Profit AAPL × 5
자동 익절 (+10% 도달)
+$89.20
Week 1
순이익 · 승률 3/4 · 최대 손실 -5%
+$43.00 (+0.04%)
⚠️ 현실 체크: 일주일 수익률이 크지 않아 보여도 괜찮습니다. Paper Trading의 목적은 "안 망하는 시스템" 검증이지 일확천금이 아닙니다. 승률 70% + 최대 드로다운 -5% 이내면 훌륭한 성적. 프로 헤지펀드 연 수익률도 10~20% 수준입니다.
Session 4 · 80min
4교시 — 최종 발표 + 포트폴리오화
이제 여러분이 만든 것을 세상에 보여줄 시간입니다. 아무리 대단한 프로젝트도 설명 못하면 없는 것입니다. 5분 발표 + GitHub + 이력서 한 줄로 정리합니다.
5분 발표 구조 — 3단계
🎤 Presentation Template — 5분 구조
1분 · PROBLEM
"개인이 주식·암호화폐를 공부하고 싶어도 전업 투자자처럼 24시간 시장을 모니터링할 시간이 없습니다. 특히
뉴스·차트·거시경제를 동시에 봐야 하는데, 한 사람이 모든 걸 보긴 불가능합니다."
3분 · SOLUTION (데모 포함)
"저는
4명의 AI 에이전트로 구성된 리서치팀을 만들었습니다. (화면에 Discord /ask 데모) Orchestrator가 질문을 받으면 News Agent·OnChain Agent·Macro Agent를 전문 분야별로 호출하고, 결과를 종합해
Alpaca Paper Trading으로 실제 가상 주문까지 제출합니다. (실제 동작 시연 30초)"
1분 · IMPACT
"1주일 운영 결과: 승률 75%, 누적 수익률 +1.3%, 최대 드로다운 -2.1%. 평균 응답 시간 8초. 더 중요한 것은 — 이 과정에서
n8n, Claude API, RAG, Vector DB, Discord Bot, 페이퍼 트레이딩 API를 모두 다루게 됐다는 점입니다. 이 기술 스택은 금융 IT·핀테크·퀀트 인턴십에 바로 활용 가능합니다."
발표 시 꼭 보여줄 3가지
Live Demo 필수 요소
- Discord /ask 질문 → 실시간 Orchestrator 호출 → 출처 인용 답변 (30초)
- Sheets 대시보드 공유 화면 — 지난 1주일 거래 로그·수익률 그래프 (20초)
- n8n Canvas — 전체 워크플로 시각화. "이 모든 게 노코드로 작동합니다" (20초)
GitHub 포트폴리오 만들기
프로젝트를 GitHub에 공개해야 진짜 포트폴리오가 됩니다. 면접관이 "코드 보여주세요"라고 할 때 바로 링크 줄 수 있어야 합니다.
GitHub 레포지토리 구성
invest-ai-agent 레포지토리 생성 (공개)
README.md: 프로젝트 개요 + 아키텍처 다이어그램 + 데모 GIF
workflows/: n8n JSON 내보내기 (.json 파일들)
docs/: 각 에이전트 System Message, 주요 프롬프트
screenshots/: Discord 답변·n8n canvas·Sheets 대시보드 스크린샷
.env.example: 필요한 API 키 목록 (실제 키는 절대 커밋 X)
README.md 핵심 섹션
# 🤖 Invest AI Agent — Multi-Agent Research System
4명의 AI 에이전트가 협력하는 가상투자 자동화 시스템.
n8n + Claude API + RAG + Paper Trading으로 구축.
## 🎯 What it does
• Orchestrator가 News·OnChain·Macro 3 전문 에이전트 조율
• Hybrid RAG로 FOMC 의사록·증권사 리포트 검색
• Claude Vision으로 차트 패턴 자동 판독
• Alpaca Paper API로 실제 가상 주문 자동 체결
• Risk Guards 4단계 안전장치
## 🏗️ Architecture (이미지)
## 📊 Performance (1-week backtest)
## 🚀 Tech Stack
## 📖 Setup Guide
이력서/자소서 한 줄 문구
이 8주 프로젝트를 이력서 한 줄로 압축합니다. 모호한 "AI 프로젝트" 말고 구체적 기술·성과로.
✨ 이력서 용 Bullet Points — 즉시 쓸 수 있는 표현
- n8n + Claude API 기반 멀티 에이전트 투자 리서치 시스템 구축 — 4개 전문 에이전트 오케스트레이션 + Alpaca Paper Trading 연동
- Hybrid RAG (Supabase/Qdrant + Cohere Reranker) 구축해 FOMC 의사록·증권사 리포트 자연어 질의응답 구현, 단순 Vector 대비 정답률 40%p 향상
- Claude Vision을 활용해 TradingView 차트 이미지에서 헤드앤숄더·삼각수렴 등 패턴 자동 판독, 1주일 페이퍼 트레이딩에서 승률 70% 달성
- Risk Guards(포지션 사이징·손절·익절·일일 손실 한도) 설계로 최대 드로다운 -2% 이내 유지
- Discord 슬래시 커맨드(/ask)로 출처 인용 Q&A 시스템 구현, 투자 의사결정 지원 도구로 활용
💡 지원서에 이 문구 쓸 때: "AI 프로젝트를 만들었다"가 아니라 "멀티 에이전트 아키텍처를 설계하고 배포했다". 기술 용어가 많을수록 기술 채용자에게 진지하게 보입니다. 하지만 과장 금지 — GitHub에서 검증되니 모두 진짜 구현한 것만.
Test & Debug
이번 주 자주 발생하는 오류
🚨 Alpaca + 발표 관련 문제
Alpaca 주문이 403 Forbidden
대부분 URL 실수. api.alpaca.markets(라이브) 대신 paper-api.alpaca.markets 사용해야 Paper 키로 주문 가능. 또는 API Key/Secret이 헤더에 제대로 전달 안 됨.
매수 주문은 되는데 Bracket의 stop/take가 안 걸림
order_class: "bracket" 누락. 또는 stop_price ≥ 현재가 또는 limit_price ≤ 현재가 같은 가격 논리 오류. Alpaca는 잘못된 가격이면 주문 자체 거부.
시장 시간 외 주문 거부
미국 주식은 한국시간 밤 11:30~새벽 6:00만 체결. 그 외 시간에는 time_in_force: "day" 주문이 다음 개장까지 대기. 장외 시간 주문 원하면 extended_hours: true 추가.
발표 중 데모가 느려 보임
Orchestrator + 3 서브 에이전트 호출하면 실제 10~15초 소요. 발표 전에 미리 실행해서 응답 캐시해두거나, 녹화 영상 준비. 라이브 데모는 긴장 요인.
GitHub에 API 키가 실수로 올라감
즉시 모든 API 키 재발급(Alpaca, Claude, Cohere, OpenAI). Git 히스토리에서도 제거해야 함 — BFG Repo Cleaner 사용. .env를 .gitignore에 반드시 등록하고 시작.
Final Completion Checklist
8주 전 과정 완료 체크리스트
✅ 아래 항목이 모두 체크되면 8주 과정 수료
Alpaca Paper Trading 계정 생성 + API 키 n8n 등록
Bracket Order로 매수 + 익절 + 손절 한 번에 제출 성공
Risk Guards 4가지(포지션·손절·익절·일일손실) Code 노드로 구현
Orchestrator verdict → Paper Trading 주문 자동 연동 검증
Sheets "trades" 탭에 최소 5건 이상 거래 로그 자동 기록
일일 성과 계산 워크플로 + 저녁 자동 실행 설정
GitHub 공개 레포지토리 생성 + README + 워크플로 JSON 업로드
5분 발표 스크립트 작성 + Live Demo 3가지 준비
이력서용 bullet point 5개 작성 (구체적 수치 포함)
최종 발표 실시 — 문제 정의·솔루션·임팩트 순
Beyond W8 · Next Steps
수료 후 다음 단계
🚀 AFTER GRADUATION
에이전트 시스템을 계속 발전시키는 방법
- [다음 주] KIS 특별세션 수강 — 한국 증권사 API로 국내 주식 지원 확장
- [1~2개월] Backtesting 추가 — 지난 1년 historical data에 에이전트 판단 적용해 전략 검증 (yfinance + pandas로 Python 분석)
- [3~6개월] 본인만의 4번째 에이전트 개발 — 관심 분야(반도체·바이오·AI 섹터) 전문 에이전트 추가
- [6개월+] 금융 IT·핀테크 인턴 지원 — 이 포트폴리오로 KB국민은행·미래에셋·토스증권·크래프톤 퀀트팀 등 도전
- [장기] 친구들 / 후배들에게 이 시스템 직접 가르치기 — 가르치는 것이 가장 강력한 학습법. 본인의 AI 교육 브랜드 시작 가능
💫 마지막 메시지: 8주 전 여러분은 n8n을 몰랐습니다. 지금은 기관급 멀티 에이전트 시스템을 혼자 만들어 운영합니다. 이 과정을 믿고 완주한 것에 대해 가장 먼저 여러분 자신을 칭찬하세요. 이 시스템은 끝이 아니라 시작입니다. AI 시대의 파도를 타는 법을 배웠습니다. 이제 각자의 해안으로 항해를 시작하세요. Good luck. 🌊
References
참고 자료
| 자료 | 용도 |
Alpaca Paper Trading Docs
docs.alpaca.markets/docs/trading-api | 모든 엔드포인트, Bracket Order 파라미터 |
Alpaca — How to Start Paper Trading
alpaca.markets/learn/start-paper-trading | 초보자 온보딩 공식 가이드 |
Binance Testnet
testnet.binance.vision | (선택) 암호화폐 가상 트레이딩 — HMAC 서명 필요, 중급 이상 |
n8n HTTP Request 공식
docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest | Header Auth, Body JSON 구성 상세 |
| Kelly Criterion 입문 (Investopedia) | 포지션 사이징 이론 배경 |
| Stop Loss · Take Profit 개념 (Investopedia) | Risk Guard 기초 이해 |
| GitHub README Best Practices | 포트폴리오 레포지토리 작성 가이드 |
n8n Community Templates
n8n.io/workflows | 다른 트레이딩 자동화 예시 참고 |