LangChain으로 주식 정보 수집 프로젝트 진행기 📊
최근 들어 LLM 프레임워크인 LangChain을 활용한 프로젝트를 진행해 보았습니다.
이번 주제는 “주식 정보 수집 및 활용”으로, 단순한 데이터 크롤링이 아니라 언어 모델 기반의 체계적 수집·분석 파이프라인을 만들어보는 것이 목표였습니다.
1. 프로젝트 개요
2. 시스템 구조
이번 프로젝트는 크게 세 단계로 나누어 진행했습니다.
-
데이터 수집 단계
yfinance 라이브러리로 일별 주가 데이터 확보
- 뉴스 API(예: Google News, Yahoo Finance API)로 종목 관련 기사 수집
-
데이터 처리 & LLM 분석
- LangChain의 Document Loader로 뉴스 기사 텍스트 정리
- Text Splitter를 활용해 문단 단위로 분리
- GPT 모델을 이용해 기사 요약 및 종목별 긍정/부정 감정 분석 수행
-
결과 저장 및 질의응답
- 분석된 데이터를 SQLite DB에 저장
- LangChain의 RetrievalQA 체인을 이용해
“이 기업의 최근 투자 관련 리스크는?” 같은 질문에 답변
3. LangChain 적용 포인트
LangChain의 강점은 단순 API 호출이 아니라 데이터 파이프라인 전체를 연결할 수 있다는 점이었습니다.
- PromptTemplate: 기사 요약 및 감정 분석을 위한 맞춤 프롬프트 작성
- LLMChain: “기사 → 요약 → 감정 태그” 흐름 자동화
- RetrievalQA: DB에 저장된 기사 및 분석 정보를 검색 기반 질의응답으로 연결
덕분에 코드를 모듈화하여 관리할 수 있었고, 새로운 데이터 소스를 추가하는 것도 비교적 간단했습니다.
4. 결과물 & 활용 가능성
프로젝트 결과물은 주식 종목별 자동 요약 리포트 형태였습니다.
예시)
-
📈 삼성전자 (005930.KQ)
- 최근 1주 주가 변동률: +2.4%
- 주요 뉴스 요약:
- 메모리 반도체 수요 회복 기대
- AI 서버용 HBM 수요 증가
- 종합 감정 분석: 긍정
-
📉 네이버 (035420.KQ)
- 최근 1주 주가 변동률: -1.1%
- 주요 뉴스 요약:
- 종합 감정 분석: 중립~부정
5. 한계와 개선점
- 실시간 데이터: 뉴스/주가 API가 제한적이라 완벽한 실시간 대응은 어려웠음
- 분석 정확도: 단순 감정 분석보다는 금융 특화 LLM(예: BloombergGPT, FinBERT)을 쓰는 것이 더 정확했을 것
- 시각화 부족: 결과를 단순 텍스트 리포트로 보여주는 대신, 차트나 대시보드와 결합했으면 더 직관적이었을 것
6. 배운 점
- LangChain은 단순히 LLM을 호출하는 수준을 넘어, 데이터 수집 → 가공 → 분석 → 검색 → 응답의 전 과정을 파이프라인으로 구성할 수 있는 도구라는 걸 체감했습니다.
- 금융 데이터는 민감하고 복잡하기 때문에, 데이터 품질과 LLM 프롬프트 설계가 결과 신뢰도를 좌우했습니다.
- 추후에는 이 구조를 확장해 실시간 알림 시스템이나 Streamlit 대시보드 형태로 발전시켜보고 싶습니다.
7. 마무리
이번 프로젝트는 “LangChain으로 무엇을 할 수 있을까?”를 탐색하는 첫 단계였습니다.
특히 주식 정보처럼 다양한 데이터 소스가 필요한 주제에서, LangChain이 데이터와 모델을 연결하는 허브 역할을 할 수 있다는 점이 가장 큰 인사이트였습니다.