본문 바로가기
Automation Tool/n8n Project

Sense Stock, D+18

by 그때 그때 끄적 2025. 7. 15.

📅 Sense Stock 개발 일지 (2025-07-15)

n8n, 사용자 질의 기반 경제/시장/주식 분석 자동화 파이프라인 구축 중 진행한 작업들을 정리합니다.

오늘은 사용자 맞춤 주식 리포트 자동화를 위한 데이터 저장 구조 정비와 판단 범위 설정 작업을 진행했습니다.

 

❓ 지난번 고민 내용

  • 어떤 정보가 어떤 맥락에서 사용될지 참조 방식 설계

 

단순 저장만 반복하다 보니, 어떤 데이터가 있고 어떤 컬럼들이 포함돼 있는지 정확히 감이 안 왔다.

특히 GPT 프롬프트를 구성하려고 할 때,
→ "이걸 어떤 형식으로 불러와야 하지?"
→ "이 데이터로 어떤 질문에 답할 수 있지?"
→ "GPT가 참고할 수 있게 어떤 텍스트 구조로 줘야 하지?"
같은 고민이 쌓이기 시작했고, 취합한 데이터를 통해서 어떻게 응답을 해줄지 정리해 보았다.

 

🔁 주기별 저장 구조

📌 매일 저장 (Daily)

  • 대상 데이터
    • S&P500 일간 퍼포먼스
    • Sector 별 성과
    • S&P500 히트맵 이미지
  • 실행 워크플로우
    • 기존 Schedule Workflow (MARKET_DATA)에서 자동 트리거(매일 9시, 휴장 제외)

📌 매주 저장 (Weekly)

  • 대상 데이터
    • S&P500 주간/월간 성과
    • Sector Performance
    • Economic Calendar (이번주, 다음주)
    • Earnings Calendar (이번주, 다음주)
  • 저장 방식 변화
    • 예전엔 각 이벤트마다 날짜를 반복해서 적었는데 → 이벤트 그룹의 첫 행에만 날짜 기입 방식으로 간결화
      • => 불필요한 날짜기입 제외
    • 이번주/다음주 데이터를 각각의 Sheet에 저장하고,
    • 다음 주가 되면 기존 Sheet Content 모두 삭제 후 이번주/다음주 데이터 Sheet에 저장
  • 트리거 시점
    • 매주 월요일 오전 9시, n8n Schedule Trigger로 워크플로우 실행

 

 

📊 지금까지 확보한 데이터 목록

출처: Investing.com

https://kr.investing.com/

1. Economic Calendar

  • 날짜 / 시간 / 통화 / 중요도 / 이벤트명 / 이전 수치 포함
날짜 시간 외화 중요성 이벤트 실제 예측 이전
2025년 7월 15일 화요일 0:30 USD ★☆☆ (낮은 변동성이 예상됨) 3개월물 국채 입찰     4.26%

...

2. Earnings Calendar

  • 회사명 / 티커 / 주당순이익 / 매출 / 총 시가 등 포함
날짜 회사 주당순이익 주당순이익_예측 매출 매출_예축 총 시가 티커
2025년 7월 14일 월요일 패스널 -- 0.2824 -- 2.07B 49.64B FAST

...

3. S&P500 성과 지표 (일간/주간/월간/YTD)

종목명 일간 주간 월간 YTD 1년 3년
보잉 0.33% 3.76% 13.24% 28.16% 26.65% 53.54%

...

4. Sector 성과 및 추천

No. Name Perf Week Perf Month Perf Quart Perf Half Perf Year Perf YTD Recom Avg Volume Rel Volume Change Volume
1 Basic Materials 0.16% 2.96% 15.00% 13.82% 6.49% 14.00% 2.02 735.76M 0.97 -0.09% 710.99M

5. 사용자 선택 질문(택3)

- 시장 흐름 분석 / 시나리오 예측 / 리스크 요인 / 정책/산업 연결 흐름 / 관심 종목 발굴

6. KYC Yes/No 선택 질문

예시 질문 ⇒ 질문 유형은 바뀔 수 있음, GPT가 생성

  1. 6개월 이내 단기 투자를 고려하고 계신가요?
  2. 반도체 관련 정보 중 글로벌 시장 동향이 더 중요하다고 생각하시나요?
  3. 정책 변화나 규제가 투자 결정에 중요한 영향을 준다고 보시나요?
  4. 즉시 투자 결정을 내리기 위한 정보가 필요하신가요?
  5. 투자 손실 위험을 크게 우려하고 계신가요?

 

어떤 판단까지 ‘의미 있게’ 도달할 수 있는가? 🤔

판단 수준 가능 여부 설명
🔹 단순 지표 해석 금리 상승 → 성장주 타격 등 사전적 해석
🔹 성향 기반 데이터 우선 추천 선택 질문 기반 매칭
🔹 섹터/종목 트렌드 설명 실적 + 정책 + 수급 등 연결
🔹 시나리오별 중기 흐름 예측 가정 기반 설명 가능
🔹 매수 종목 추천 ⚠️ 제한적 직접 추천은 피하고, 후보 제시는 가능
🔹 개인 자산 기반 포트폴리오 자산 정보 없으면 불가능
 
✔️ 사용자의 성향/관심/우선순위에 따라 어떤 데이터를 먼저 보여줄지 판단 가능
✔️ 해당 데이터를 바탕으로 시장의 중기 흐름, 주요 촉발 요인, 정책-섹터 간 연결을 구조화
✔️ 투자자의 성향별로 유의미한 시나리오 분기점을 제시하고, 대응 가능한 업종·ETF·테마를 분석 가능
❌ 단, 개별 종목 추천, 자산관리 설계, 직접 매수 타이밍 제공 등은 제한 있음

 

🚨 진행 중 겪은 이슈

1. 종목명 중복: 한국 investing 사이트의 한계

  • ‘로우스’처럼 종목명이 겹치는 문제 발생
    → Google Sheet 저장시 변동률 값이 저장이 안됨(Output은 잘나오던데...음, Code를 수정하면돼기야하겠지만..Pass)
    실적/지표 데이터는 미국 investing.com으로 전환 (https://www.investing.com/equities/americas)

2. API 호출 과다 대비: 캐시 처리 필요성

Cache Data???

  • 한 번 처리한 결과를 저장해두었다가, 같은 요청이 다시 들어오면 저장된 결과를 재사용하는 기술

현재 GPT 또는 크롤링 요청이 많아지면, 워크플로우가 느려지거나 API 한도 초과 문제가 생길 수 있다. 이럴 경우 대비해서 캐시 처리 구조를 고민 중이다.

⚠ 질문할때마다 여러 API를 호출하게되면.... 

✅ 예: 티커 기반 실적/뉴스 분석 결과가 이미 있는 경우엔
새로 요청하지 않고, 이전에 저장해둔 결과를 반환하도록 설계할 수 있음

이건 Slack 메시지 응답 속도 향상이나 서버 리소스 절약에도 도움이 될 수 있어서, 구조 개선을 위해 우선순위를 높게 잡고 있다.

 

❓ 다음 단계에서 고민 중인 것들

 

  1. Slack 메시지에서 어떤 포맷으로 이 정보를 구성하면 읽기 쉬우면서도 투자 인사이트가 생길까?
  2. 최종 응답을 확인해보고, 이제는 운영을 통해서 Data를 우선적으로 모아봐야겠다.
  3. API를 호출해서 Data를 가져오는게 아니라... 저장되어있는 혹은 단기간 저장(휘발성) Data를 가져오는 기능 구현 필요(Cache)
  4. 캐시 처리를 실제로 어떤 구조로 적용할 수 있을까? Google Sheet vs Supabase?

 

'Automation Tool > n8n Project' 카테고리의 다른 글

Sense Stock, D+20  (3) 2025.07.28
Sense Stock, D+19  (2) 2025.07.22
Sense Stock, D+17  (0) 2025.07.11
Sense Stock, D+16  (3) 2025.07.09
Sense Stock, D+15  (0) 2025.07.07

댓글