Alpha Vantage NEWS_SENTIMENT API로 뉴스 수집 → Claude Haiku로 2차 분석 + 센티먼트 통합. 처음으로 LLM의 판단력을 파이프라인에 넣는 주차.
Alpha Vantage NEWS_SENTIMENT API로 관심 종목 3개에 대한 최근 24시간 뉴스를 자동 수집합니다.
function=NEWS_SENTIMENT + tickers=AAPL,MSFT,NVDA 등 3개 종목https://www.alphavantage.co/query ?function=NEWS_SENTIMENT &tickers=AAPL,MSFT,NVDA &time_from={{ yesterday }}T0000 &limit=50 &apikey={{ $credentials.av }}
// Code 노드에서 feed 배열을 item별로 분리
const feed = $input.first().json.feed || [];
return feed.map(article => ({
json: {
title: article.title,
url: article.url,
source: article.source,
sentiment_score: parseFloat(article.overall_sentiment_score),
sentiment_label: article.overall_sentiment_label,
time_published: article.time_published,
ticker_sentiment: article.ticker_sentiment
}
}));
이후 Sheets 노드가 각 item을 1행씩 저장.
| A. API 호출 + Key 관리 | 4점 |
| B. 뉴스 파싱 Code 노드 | 5점 |
| C. Sheets 뉴스별 1행 저장 | 5점 |
| D. 2회 Schedule 작동 | 3점 |
| E. 중복 뉴스 체크 로직 (optional) | 3점 |
Alpha Vantage가 제공하는 sentiment_score는 단순 키워드 기반입니다. 여기에 Claude Haiku의 맥락 이해를 더해 더 정밀한 분석을 합니다.
claude-haiku-4-5) 연결{"sentiment": -1~1, "category": "earnings|macro|...", "impact": "short_term|long_term", "confidence": 1-5}System Message: 당신은 금융 뉴스 분석 전문가입니다. 주어진 헤드라인과 요약을 읽고 투자 관점에서 센티먼트를 판단하세요. User Message: Ticker: {{ $json.ticker }} Headline: {{ $json.title }} Summary: {{ $json.summary }} 다음 JSON으로만 답하세요: { "sentiment_score": -1.0 ~ 1.0, "category": "earnings|macro|product|regulation|other", "impact_horizon": "immediate|short_term|long_term", "confidence": 1-5, "reasoning": "한 문장 근거" }
| A. Claude 연결 + 프롬프트 품질 | 6점 |
| B. JSON 파싱 안정성 | 4점 |
| C. Sheets 컬럼 확장 | 4점 |
| D. 두 점수 비교 분석 | 3점 |
| E. 비용 측정 기록 | 3점 |
여러 뉴스를 종합해서 종목별 브리핑을 만들고 Discord로 발송. Aggregate 노드 + Claude Sonnet 활용.
🤖 오전 센티먼트 브리핑{
"embeds": [{
"title": "🤖 오전 센티먼트 브리핑 · 2026-04-22",
"color": 3066993, // 초록
"fields": [
{"name": "AAPL (+0.31)",
"value": "WWDC 기대감 + AI 칩 루머",
"inline": false},
{"name": "MSFT (-0.12)",
"value": "EU 규제 우려",
"inline": false},
{"name": "🎯 오늘 주목",
"value": "NVIDIA 실적 발표 예정"}
]
}]
}
| A. Aggregate로 종목별 그룹핑 | 4점 |
| B. Sonnet 브리핑 품질 | 6점 |
| C. Embed 색상 동적 결정 | 4점 |
| D. "주목 포인트" 강조 로직 | 3점 |
| E. 모바일 가독성 | 3점 |
"뉴스 센티먼트가 실제 주가와 상관관계가 있는가?"를 데이터로 증명합니다.
|r| > 0.3)function pearson(x, y) { const n = x.length; const sumX = x.reduce((a,b) => a+b, 0); const sumY = y.reduce((a,b) => a+b, 0); const sumXY = x.reduce((s, xi, i) => s + xi * y[i], 0); const sumX2 = x.reduce((s, xi) => s + xi*xi, 0); const sumY2 = y.reduce((s, yi) => s + yi*yi, 0); const num = n * sumXY - sumX * sumY; const den = Math.sqrt((n*sumX2 - sumX*sumX) * (n*sumY2 - sumY*sumY)); return den === 0 ? 0 : num / den; }
| A. 데이터 축적 + 전처리 | 4점 |
| B. Pearson 구현 정확성 | 5점 |
| C. 시각화 (산점도 or 차트) | 4점 |
| D. 결과 해석 정확성 | 4점 |
| E. 리포트 품질 | 3점 |
W1(가격 변동률) + W3(뉴스 센티먼트) 두 차원을 통합해 2D Verdict를 생성하는 워크플로를 만듭니다. W4의 "3D Verdict" 예고편.
STRONG_BUYWATCH_REVERSALBUY_OPPORTUNITYAVOID| A. 두 차원 통합 로직 | 6점 |
| B. 4시나리오 분기 처리 | 4점 |
| C. Claude 근거 생성 품질 | 4점 |
| D. Confidence 산정 합리성 | 3점 |
| E. 3일 데이터 기록 | 3점 |