plain text
[뉴스 / 텍스트 수집]
├─ 과거 5개년 텍스트 덤프 (메인) ──▶ FMP Starter (분당 300회, DB 적재)
└─ 감성 지표 실시간 검증 (보조) ──▶ Alpha Vantage (NEWS_SENTIMENT)
[주가 시세 (OHLCV) 수집]
├─ 로컬 연구 / 백테스팅 ──▶ yfinance (무료 파이썬 라이브러리)
└─ 클라우드 운영 환경 (배포) ──▶ Alpaca Paper API (메인, 분당 200회)
└─ (비상 백업) Finnhub (분당 60회)수집 도구 요약
| 데이터 구분 | 추천 도구 | 비용 | 주요 용도 및 한도 |
| 과거 뉴스·거시 텍스트 (메인) | FMP (Starter) | 유료 (월 29, 69) | 최근 5년 기사 요약 및 거시 뉴스 덤프, 분당 300회 호출 |
| 뉴스 감성 분석 (보조·경량) | Alpha Vantage | 무료 (일 25회) / 유료 | NEWS_SENTIMENT API 활용, 종목별 감성 점수 자체 산출 |
| 주가 시세 (로컬 환경) | yfinance | 무료 | 파이썬 로컬 분석, 장기 일봉(OHLCV) 및 배당·수정주가 조회 |
| 주가 시세 (클라우드 환경) | Alpaca (Paper Trading) | 무료 | 클라우드 환경 메인 시세 수집, 분당 200회 호출, 공식 REST/WebSocket |
| 클라우드 시세 (보조 백업) | Finnhub | 무료 | 분당 60회 제한, Alpaca 장애 시 비상 백업 채널 |
1. 뉴스 및 거시경제 텍스트: FMP (메인) vs Alpha Vantage (보조)
- 역할: 모델 학습 및 백테스팅을 위한 최근 5개년 뉴스 아카이브 구축.
- 선정 이유: 분당 300회 호출 제한 외에 일일 누적 쿼리 상한이 없어 최근 5년간의 종목 뉴스, 거시 지표 요약문을 일괄 크롤링하여 로컬 DB에 적재하기에 가장 안정적이다.
- 역할: 실시간 종목 감성 점수(Sentiment Analysis) 추출.
- 특징: 단순 기사 원문뿐 아니라
ticker_sentiment_score와relevance_score를 API 단에서 계산해 제공하므로, 자체 NLP 모델 구축 없이 감성 지표를 파이프라인에 통합할 수 있다. - 운영 전략: 무료 플랜(일 25회)의 한계로 인해 전체 과거 데이터 수집은 불가능하며, 당일 핵심 감시대상 종목(Watchlist)의 뉴스 감성 검증용 또는 실시간 트리거로 한정해 호출한다.
2. 주가 시세 (로컬 환경): yfinance (무료)
- 환경: 개인 로컬 PC, Jupyter Notebook 환경.
- 장점: 별도의 API 키 발급 없이
yfinance라이브러리로 전 종목 장기 일봉(OHLCV), 액면분할, 배당 반영 수정주가를 즉시 판다스 데이터프레임으로 수집할 수 있다. - 주의점: 웹 스크래핑 기반이므로 클라우드 IP에서는 차단 위험이 있으며, 다년간의 고빈도 분봉 수집에는 적합하지 않다.
3. 주가 시세 (클라우드 환경): Alpaca Paper Trading (메인) & Finnhub (백업)
AWS, GCP 등 클라우드 인프라에서는 스크래핑 방식(yfinance)이 차단되므로 인증 기반의 정식 금융 API를 사용해야 한다.
- 환경: 클라우드 인스턴스 (EC2, Cloud Run, VPS 등).
- 장점: 무료 가상 거래(Paper Trading) 계정만 발급받아도 정식 마켓 데이터 API 키가 제공된다.
- 수집 한도: 분당 200회 호출이 가능하며, 공식 Python SDK(
alpaca-py)를 통해 일봉/분봉 OHLCV 수집 및 실시간 WebSocket 연동이 매우 안정적이다.
- 위상 조정: 무료 계정 분당 60회 호출이 가능하나 지원 데이터 범위가 제한적이므로, Alpaca API의 점검이나 일시적 장애 발생 시 사용하는 페일오버(Failover) 용도로만 유지한다.