AI로 주식 뉴스의 연쇄 효과를 추론하는 시스템 만들기 — 프롬프트 설계부터 자동 분석까지
주식 시장은 연쇄 반응이다
주식 시장에서 하나의 뉴스는 단독으로 끝나지 않습니다. "반도체 수출 137.6% 급증"이라는 뉴스는 삼성전자, SK하이닉스 같은 반도체 종목뿐 아니라 장비주, 소재주, 그리고 수출 관련 매크로 지표까지 영향을 미칩니다. 이 **연쇄 효과(chain reaction)**를 사람이 매번 추적하는 건 한계가 있습니다.
이 글에서는 AI를 활용해 뉴스의 연쇄 효과를 자동으로 추론하는 시스템을 설계하고, 실제 80건의 뉴스 데이터로 테스트한 과정을 공유합니다.
핵심 설계 철학: 프롬프트가 곧 분석 품질이다
이 시스템의 백엔드는 Python(FastAPI)이고, AI 추론은 Claude API를 execute_one_shot() 방식으로 호출합니다. 복잡한 ML 파이프라인이 아니라 프롬프트 설계가 곧 시스템의 핵심입니다.
프로젝트 초기에 가장 먼저 한 작업도 코드 작성이 아니라 프롬프트 설계와 테스트였습니다.
프롬프트 품질 = 리포트 품질
→ 코드보다 프롬프트를 먼저 설계하고 검증하자
세 가지 핵심 프롬프트 설계
PRD 분석을 거쳐 시스템에 필요한 프롬프트를 세 가지로 정의했습니다.
| 프롬프트 | 역할 | 핵심 포인트 |
|---|---|---|
chain_analysis | 뉴스 → 연쇄 효과 추론 | 탑다운 + 바텀업 양방향 분석 |
stock_evaluation | 재무 + 이슈 → 투자 매력도 | 멀티팩터 종합 점수 산출 |
report_generation | 분석 결과 → 리포트 생성 | 마크다운 기반 구조화된 리포트 |
1단계: chain_analysis — 뉴스에서 연쇄 효과 추론
가장 핵심이 되는 프롬프트입니다. 뉴스 묶음을 입력받아 시장에 미치는 연쇄 효과를 추론합니다.
실제 테스트에서 사용한 입력과 출력 구조는 다음과 같습니다.
{
"analysis_date": "2026-02-11",
"market_context": "코스피가 미국 고용보고서 경계심리로 장 초반 하락 전환...",
"issues": [
{
"title": "2월 초순 수출 44.4% 급증, 반도체 137.6% 폭증",
"category": "매크로",
"importance": "상",
"summary": "2월 1~10일 수출액이 214억 달러로 전년 동기 대비 44.4% 증가..."
}
]
}
연쇄 효과 추론의 핵심은 양방향 분석입니다. 매크로 이벤트가 섹터와 종목으로 흘러내리는 탑다운 효과뿐 아니라, 특정 기업의 실적이나 수주가 산업 전체에 영향을 미치는 바텀업 효과도 함께 포착해야 합니다.
탑다운: 수출 급증 → 반도체 섹터 강세 → 삼성전자, SK하이닉스 수혜
바텀업: 대우건설 체코 원전 수주 → 원전 섹터 전체 모멘텀 → 에너지 정책 기대감
2단계: 피처 추출 — 80건 뉴스의 구조화
연쇄 효과 분석에 앞서, 뉴스 원문에서 의미 있는 피처를 추출하는 단계가 필요합니다. 80건의 뉴스를 AI에 한꺼번에 넘기면서 관련 뉴스를 클러스터링하고 핵심 정보를 구조화합니다.
{
"features": [
{
"title": "환율 변동성 완화",
"summary": "원/달러 환율이 2일 연속 하락하며 1,459원 수준으로 안정...",
"category": "매크로",
"source_articles": [
"원/달러 환율 이틀째 하락…1,459.1원 마감",
"구윤철 \"환율 최대한 안정시켜 수입물가 안정 노력하겠다\"",
"金총리 \"환율, 펀더멘털·외환보유 문제 아냐…현재는 수급반영\""
],
"article_count": 3
}
]
}
핵심은 개별 뉴스를 나열하는 것이 아니라 관련 뉴스를 묶어 하나의 피처로 추출하는 것입니다. "환율" 관련 기사 3건이 각각 독립적으로 분석되는 것이 아니라 하나의 "환율 변동성 완화"라는 피처로 통합됩니다.
3단계: stock_evaluation — 종목별 투자 매력도 판별
연쇄 효과 분석 결과와 재무 데이터를 결합하여 특정 종목의 투자 매력도를 종합적으로 평가합니다. 이 프롬프트에서는 재무 분석, 이슈 연쇄 효과, 모멘텀, 배당 등 멀티팩터를 종합하여 점수를 산출합니다.
실제 테스트: 80건 뉴스로 검증하기
프롬프트 설계 후 실제 80건의 뉴스 데이터로 두 차례 테스트를 진행했습니다.
1차 테스트 — 피처 추출
경제, 정치, 세계 뉴스가 혼합된 80건에서 피처를 추출한 결과, 환율 안정화, 국고채 금리 하락, ESG 투자 확대 등 시장에 의미 있는 시그널이 잘 추출되었습니다.
2차 테스트 — 연쇄 효과 추론
같은 날 50건의 뉴스로 연쇄 효과를 추론한 결과가 특히 인상적이었습니다.
"반도체 수출 137.6% 급증"
→ AI 수요 확대 → HBM 관련주 수혜 (SK하이닉스)
→ 수출 비중 31.5%로 확대 → 무역수지 개선 기대
→ 원화 강세 요인 → 환율 추가 하락 가능성
하나의 뉴스에서 섹터 수혜, 매크로 영향, 환율 연동까지 다층적인 연쇄 효과가 추론되는 것을 확인할 수 있었습니다.
시스템 아키텍처
최종적으로 이 분석 시스템은 다음과 같은 파이프라인으로 동작합니다.
뉴스 수집 (Google News / 연합뉴스)
↓
피처 추출 (chain_analysis 프롬프트)
↓
연쇄 효과 추론 (탑다운 + 바텀업)
↓
종목 매칭 (stock_evaluation 프롬프트)
↓
리포트 생성 (report_generation 프롬프트)
↓
텔레그램 발송 (하루 2회: 오전 7시, 오후 7시)
기술 스택은 Python + FastAPI + APScheduler이며, AI 추론은 Claude API를 사용합니다. 뉴스 데이터는 별도의 newsdb 서비스에서 벡터 저장 방식으로 관리합니다.
핵심 정리
1. 프롬프트 먼저, 코드는 나중에
AI 기반 분석 시스템에서는 프롬프트 품질이 곧 결과 품질입니다. 코드를 작성하기 전에 프롬프트를 설계하고 실제 데이터로 검증하는 것이 효율적입니다.
2. 프롬프트는 역할별로 분리하라
하나의 거대한 프롬프트보다 피처 추출 → 연쇄 효과 → 종목 평가로 단계를 나누면 각 단계의 품질을 독립적으로 개선할 수 있습니다.
3. 양방향 분석이 핵심
탑다운(매크로 → 섹터 → 종목)만으로는 충분하지 않습니다. 바텀업(기업 이벤트 → 섹터 → 시장) 효과를 함께 추론해야 실제 시장 움직임에 가까운 분석이 가능합니다.
4. 뉴스 클러스터링이 정확도를 높인다
개별 뉴스를 독립적으로 분석하는 것보다 관련 뉴스를 묶어 피처로 추출하면, 노이즈가 줄고 의미 있는 시그널이 부각됩니다.