개요

  • 목적: 투자 판단에 필요한 시장 데이터를 n8n 워크플로로 자동 수집
  • 배경: 공시, 뉴스, 매크로 지표 등 다양한 소스를 수동으로 확인하는 것은 비효율적. n8n으로 수집 → DB 저장 → 알림까지 자동화

워크플로 분류 체계

  • 네이밍 컨벤션: [카테고리]: [이름] [이모지]
카테고리태그역할예시
📊 Datadata시장 데이터 수집Market Indicators, Coinglass
📰 Newsnews뉴스 수집/분석Auto Fetcher, Market Briefings
👁️ Watchwatch공시/규제 모니터링DART, EDGAR, Congress
🔎 Discoverydiscovery종목 발굴KO/US Stocks
⚡ Tradetrade트레이딩 실행Executor, Order Monitor

1. 공시 Watcher

DART 공시 Watcher (한국)

  • OpenDART API로 15분 주기 공시 수집 → 상장사 중요 공시만 AI 분석 → 텔레그램 알림

파이프라인

graph LR
    A["Schedule<br/>(15분)"] --> B["Fetch<br/>(유가/코스닥/지분)"]
    B --> C["Format &<br/>Dedupe"]
    C --> D["UPSERT<br/>DB"]
    C --> E["원문 크롤링<br/>→ Qdrant"]
    D --> F["AI 분석<br/>(Gemini)"]
    F --> G["Telegram<br/>알림"]

주요 기능

기능상세
데이터 소스OpenDART API (유가 주요사항, 코스닥 주요사항, 지분공시)
중요 공시 필터유상증자, 합병, 자기주식, 최대주주변경 등 키워드 기반
AI 분석Gemini Flash로 투자 임팩트 판정 (impact, score, summary)
카테고리 분류major_event, financial, governance, regular
관심 종목 연동market_targets 테이블 매칭 → 우선 처리

EDGAR Filing Watcher (미국)

  • SEC EDGAR에서 8-K, Form 4, S-1 공시를 15분 주기로 수집 → AI 분석 → 텔레그램 알림

파이프라인

graph LR
    A["Schedule<br/>(15분)"] --> B["Fetch<br/>(8-K/Form 4/S-1)"]
    B --> C["Parse &<br/>Dedupe"]
    C --> D["UPSERT<br/>DB"]
    C --> E["본문 추출<br/>→ Qdrant"]
    D --> F["AI 분석<br/>(Gemini)"]
    F --> G["Telegram<br/>알림"]

주요 기능

기능상세
데이터 소스SEC EFTS API (Elasticsearch JSON)
중복 방지최근 3일 accession_no 조회 → 기존 건 스킵
본문 추출SEC Submissions API → Primary Document 직접 fetch
AI 분석Gemini 투자 영향도 점수 (-1.0 ~ 1.0)

트러블슈팅: SEC API URL이 www.sec.gov/cgi-bin/browse-edgarefts.sec.gov로 변경되어 EFTS API로 전환. XML 파싱 대신 JSON 직접 반환으로 간소화.


2. 매크로 데이터 수집

FRED 경제지표

  • Data Watchers 워크플로에서 FRED API를 통해 주요 경제지표 자동 수집
심볼지표빈도
T10Y2YUS 10Y-2Y Spread (경기침체 선행)일간
BAMLH0A0HYM2US High Yield Spread일간
DEXKOUSUSD/KRW 환율일간
DFFFed Funds Rate일간
IRLTLT01KRM156N한국 10Y 국채금리월간
IRSTCI01KRM156N한국 콜금리 (기준금리 대용)월간

트러블슈팅: OpenBB API의 limit=1 파라미터가 가장 오래된 데이터를 반환하는 문제 발견 (1960년대 값이 현재 값으로 저장됨). start_date를 90일 전으로 지정하고 마지막 행을 사용하여 해결.

파생상품/옵션 데이터

워크플로데이터소스주기
Coinglass DerivativesOI, 청산, Funding Rate (BTC/ETH/SOL 등)Coinglass API4시간
CBOE Put/Call RatioSPY 옵션 P/C RatioOpenBB API평일 1회
KRX KOSPI200 OptionsCALL/PUT 거래량, 미결제약정KRX Open API평일 장마감 후
Naver Investor Flow프로그램매매 순매수네이버 금융 API평일 2회

3. 멀티소스 스크래퍼

  • 동일한 패턴(Schedule → Fetch → Filter → UPSERT → Qdrant)으로 다양한 외부 데이터 수집
워크플로데이터 소스수집 내용주기
Tech Trend WatcherHackerNews + GitHubTop 30 스토리, stars > 100 레포6시간
Corporate Intel WatcherEDGAR S-1 + HN HiringIPO 신청, 채용 공고1일
Policy Watcher정책브리핑 RSS + 법제처 API정책 뉴스, 제/개정 법령6시간
Real Estate US WatcherFRED (OpenBB 경유)Case-Shiller, 모기지, 착공 건수주 1회
Real Estate KR Watcherdata.go.kr아파트 실거래가, 분양 정보1일
Congress WatcherUS Congress API미국 의회 법안1일
Central Bank Speech중앙은행 API연설/성명 모니터링1일

4. 공통 아키텍처

데이터 흐름

graph TB
    subgraph 수집
        A["API 호출<br/>(OpenDART, SEC, FRED...)"]
    end
    subgraph 처리
        B["Format & Filter"]
        C["중복 제거<br/>(DB 기존 건 체크)"]
    end
    subgraph 저장
        D["PostgreSQL<br/>(구조화 데이터)"]
        E["Qdrant<br/>(벡터 임베딩)"]
    end
    subgraph 알림
        F["AI 분석<br/>(Gemini)"]
        G["Telegram<br/>알림"]
    end
    A --> B --> C
    C --> D --> F --> G
    C --> E

DB 테이블 요약

테이블Watcher용도
dart_disclosuresDART한국 공시
edgar_filingsEDGAR미국 공시
congress_billsCongress미국 의회 법안
market_pricesData WatchersFRED/네이버 시세
coinglass_derivativesCoinglass암호화폐 파생상품
cboe_put_call_ratioCBOE옵션 심리 지표
tech_trendsTech TrendHN/GitHub 트렌드
policy_regulationPolicy정책/법령

활용

  • Market Briefings: 수집된 데이터를 AI가 종합하여 텔레그램 브리핑 생성
  • 종목 발굴: DART 공시 + 뉴스를 AI가 분석하여 주목 종목 선정
  • RAG 검색: Qdrant에 저장된 벡터 데이터로 시맨틱 검색 지원

각 활용 사례의 상세 구성은 별도 글에서 다룸.