
학습 목표
이번 강의에서는 n8n을 활용해서 매주 자동으로 투자 리포트를 생성하고 이메일로 발송하는 워크플로우를 만들어봤다.
단순히 주가 데이터를 수집하는 수준이 아니라,
- 코스피 지수 조회
- 관심 종목 시세 조회
- 데이터 통합
- AI 분석 리포트 생성
- HTML 이메일 발송
까지 하나의 자동화 흐름으로 구성하는 것이 목표였다.
처음에는 "주식 데이터를 가져와서 메일 보내는 정도겠지?"라고 생각했는데, 실제로 구현해보니 데이터를 수집하는 것보다 AI가 이해하기 좋은 형태로 정리하고, 원하는 방식으로 분석하도록 만드는 과정이 더 중요했다.
구현 과정
전체 워크플로우는 아래와 같이 구성했다.

1. Schedule 노드로 자동 실행 설정
가장 먼저 Schedule 노드를 사용해 매주 월요일 오후 1시에 자동 실행되도록 설정했다. 강의에서는 주간 투자 리포트를 기준으로 구성했지만, 조금만 응용하면 매일 아침 시장 브리핑이나 장 마감 리포트 형태로도 활용할 수 있을 것 같았다. 자동화는 결국 사람이 직접 실행하지 않아도 된다는 점이 가장 큰 장점인 만큼, 스케줄 설정부터 제대로 해두는 것이 중요하다고 느꼈다.
2. 공공데이터 API로 코스피 지수 조회
다음으로 공공데이터포털 API를 활용해 코스피 지수를 조회했다. HTTP Request 노드를 사용해 데이터를 가져오는 방식이었는데, 결과는 JSON 형태로 반환됐다.
예전에는 API를 사용하면 무조건 코드를 작성해야 한다고 생각했는데, n8n에서는 노드 몇 개만 연결해도 원하는 데이터를 쉽게 가져올 수 있다는 점이 인상적이었다. 가져온 데이터는 이후 AI 분석에 활용할 수 있도록 별도로 정리해두었다.
3. DataTable로 관심 종목 관리
이번 실습에서는 관심 종목을 DataTable에서 관리하도록 구성했다. 처음에는 종목명을 직접 입력하는 방식인 줄 알았는데, DataTable을 사용하니 훨씬 편했다. 예를 들어 삼성전자, SK하이닉스, NAVER 같은 종목을 저장해두면 워크플로우가 실행될 때마다 자동으로 종목별 시세를 조회한다.

무엇보다 종목을 변경할 때 워크플로우를 수정할 필요가 없다는 점이 좋았다. 관심 종목만 바꾸면 자동으로 새로운 리포트가 생성되기 때문에 유지보수 측면에서도 훨씬 효율적이었다.
4. Merge와 Aggregate로 데이터 정리

코스피 데이터와 종목 데이터를 각각 수집한 뒤 Merge 노드를 사용해 하나로 합쳤다.
처음에는 Merge만 하면 끝날 줄 알았는데 생각보다 그렇지 않았다. 종목 데이터는 여러 건으로 들어오고 코스피 데이터는 한 건으로 들어오기 때문에 AI가 바로 이해하기 좋은 형태가 아니었다.
그래서 Aggregate 노드를 사용해 여러 종목 데이터를 하나의 구조로 다시 정리했다. 이 과정을 거치고 나니 AI가 한 번에 전체 데이터를 읽고 분석할 수 있게 됐다. 이번 실습을 하면서 느낀 점은 데이터를 수집하는 것보다 데이터를 어떤 형태로 전달할지가 더 중요하다는 것이었다.
5. Gemini 투자 리포트 생성

데이터가 준비된 후에는 Gemini를 활용해 투자 리포트를 생성했다. 처음에는 단순히 시장 데이터만 전달하고 분석을 요청했다. 그런데 결과를 확인해 보니 내가 등록하지 않은 삼성전자나 SK하이닉스 같은 종목이 리포트에 등장하는 경우가 있었다.
처음에는 데이터 수집 과정에 문제가 있는 줄 알았다. DataTable도 확인하고 Aggregate 결과도 확인했지만 이상한 점을 찾을 수 없었다. 심지어 테스트를 위해 관심 종목에서 특정 종목을 삭제했는데도 메일에는 계속 등장했다. 한참 확인하다가 원인을 찾았다.
문제는 데이터가 아니라 AI였다. 투자 리포트라는 문맥 때문에 대표 종목을 스스로 추가하고 있었던 것이다.
그래서 프롬프트를 수정해 분석 대상을 명확하게 제한했다. 반드시 제공된 종목만 분석한다. 데이터에 없는 종목은 생성하지 않는다. 종목 분석 수는 제공된 종목 수와 일치해야 한다.
이후에는 관심 종목에 등록된 데이터만 분석하는 결과를 얻을 수 있었다. AI를 사용할 때는 단순히 좋은 모델을 사용하는 것보다, 원하는 범위를 명확하게 정의하는 것이 더 중요하다는 점을 체감할 수 있었다.

6. HTML 이메일 생성 및 Gmail 발송
AI가 생성한 분석 결과는 Code 노드를 이용해 HTML 형태로 가공했다. 처음에는 텍스트만 전송해도 괜찮을 것 같았는데 실제로 받아보니 가독성이 많이 떨어졌다. 그래서 시장 총평, 종목별 분석, 투자 전략 형태로 구분해 뉴스레터처럼 구성했다.
마지막으로 Gmail 노드를 연결해 자동 발송까지 완료했다. 워크플로우를 실행한 뒤 몇 초 후 메일함으로 투자 리포트가 도착하는 모습을 보니 꽤 뿌듯했다. "이제는 내가 직접 데이터를 찾아보지 않아도 되겠는데?"라는 생각이 가장 먼저 들었다.

최종 결과
최종적으로 다음과 같은 흐름의 자동화 시스템을 완성했다.

Schedule
↓
코스피 API 조회
↓
DataTable 종목 조회
↓
종목별 시세 API 호출
↓
Merge
↓
Aggregate
↓
Gemini 분석
↓
HTML 리포트 생성
↓
Gmail 발송
매주 월요일 오후 1시마다 자동으로 실행되며,
- 코스피 지수 수집
- 관심 종목 조회
- AI 투자 분석
- HTML 리포트 생성
- 이메일 발송
까지 전부 자동으로 처리된다.
느낀 점
가장 재미있었던 부분은 DataTable에 종목만 바꿔도 리포트 내용이 함께 달라지는 점이었다.
처음에는 강의 예제대로 삼성전자와 SK하이닉스를 사용했지만, 이후 내가 실제로 보유하고 있는 종목으로 변경해 테스트해봤다. 종목만 바뀌었을 뿐인데 생성되는 분석 내용도 함께 달라지는 것을 보면서 "이 정도면 실제로 써볼 만하겠다"는 생각이 들었다. 매주 투자 종목을 확인할 때 참고용으로 활용해도 괜찮을 것 같았다.
이번 실습은 투자 리포트 예제였지만 응용 범위는 훨씬 넓어 보였다.
예를 들어
- 부동산 시세 리포트
- 환율 브리핑
- 업계 뉴스 요약
같은 형태로도 충분히 확장할 수 있을 것 같다.
다음에는 뉴스 API까지 연결해서 단순 시세 정보뿐 아니라 시장 이슈까지 분석하는 투자 리포트를 만들어보고 싶다.
'n8n' 카테고리의 다른 글
| [n8n이 다 해줌] CHAPTER 06. AI 영수증 정리봇 만들기 (0) | 2026.06.21 |
|---|---|
| [n8n이 다 해줌] CHAPTER 05. AI 회의록 서기 만들기 (0) | 2026.06.20 |
| [n8n이 다 해줌] CHAPTER 03 날씨 자동 알림봇 만들기 — Discord로 매일 아침 날씨 받아보기 (0) | 2026.05.20 |
| [n8n이 다 해줌] CHAPTER 02 주식 뉴스 수집봇 만들기 (0) | 2026.05.17 |