[MAKE] 좌충우돌 주식 뉴스레터 만들기 (청강)

배경 및 목적

저는 "Learn by Doing"이라는 철학을 좋아합니다. 이에 따라 일단 들이박으면서 실행에 옮기고, 막히는 부분들은 유튜브, 공식 문서, 커뮤니티, 그리고 지피터스를 통해 해결해 나갔습니다.

초기 목표는 급변하는 AI Trend를 따라가기 위해 트위터에서 AI 관련 전문가들과 기업들의 글을 수집하여 뉴스레터로 만들고자 했습니다. 하지만 두가지 문제가 있었는데...

  • 트위터 Basic 이상 유료 플랜 ($100/m)을 써야만 크롤링이 가능했으며,

  • Selenium 등 파이썬 라이브러리 사용은 트위터 규정 위반으로 계정 정지 위험이 있었습니다.

이에 따라 프로젝트 방향을 수정하여 파이썬 기반 주식 데이터 크롤링을 한 뒤, Make를 활용하여 주식 종목들의 동향을 알려주는 뉴스레터를 만들기로 결정하였습니다.

이와 같은 주제를 정한 이유는 저부터 직장인들 중 한명으로써 주식 거래를 위해 각 기업의 동향 파악과 주가 분석을 하기에는 시간이 부족하고 귀찮은 면도 있습니다. 또한, 모든 종목을 살펴보기 어렵고 관심 있는 섹터만 확인하게되는 한계가 있어 이를 보완하고자 했습니다.


참고 자료

  • 프롬프트 작성 보조 툴

    • Claude Project 내 기본 프로젝트 (How to use Claude)

      • Claude prompting guide 가 이미 첨부되어져있는 상태로,
        프롬프트 초안을 작성하여 피드백 요청을 하니 잘 수정해주었습니다.

    • Anthropic Console 내 Generate Prompt

      • 기본 프로젝트로 작성한 프롬프트를 보다 더 고도화하기 위해 사용하였는데

        • 기본 프로젝트에서 생성되는 프롬프트와 크게 차이가 없고

        • 좋은 점은 프롬프트에 대한 출력 테스트를 해볼 수 있는 점이였습니다.

그래서 기본 프로젝트로 프롬프트 고도화 - Console에서 잘 작동되는지 테스트 - 이후 기본 프로젝트 기반 고도화 작업 진행하였습니다.


활용 툴

  • Make

    • Custom webhook

    • Perplexity

      • Create a Chat Completion

    • Google Sheets

      • Get Range Values

    • Tools

      • Text aggregator

      • Set variable

    • Claude

      • Create a Prompt

    • Markdown

      • Markdown to HTML

    • Gmail

      • Send an Email

실행 과정

  • 전체 Flow

  1. Python에서 Webhook 실행하며 분석 대상 종목 리스트 보내기

import requests
webhook_url = "Custom Webhook에서 생성되는 url"
data = {
    "stock_list": ["분석","대상","주식","리스트"],
}
response = requests.post(webhook_url, json=data)
  1. Perplexity로 주식 종목 리스트에 대한 최근 일주일 간의 주요 뉴스 Summary
    (샘호트만님 스터디 OT 보고 참고)

  2. Google Sheets에서 전체 Data 추출

    • Range를 처음에 A1부터 할 경우, Header도 같이 Bundle로 들어가져 A2부터로 수정
      (Table contains headers 옵션이 있고, 해당 옵션 설정을 비워두면
      자동적으로 첫번째 Row를 header로 인식하며 제외할 줄 알았으나 그러지 않았음)

    Google 동기화 설정을 보여주는 화면
  3. Text aggregator로 개별 Data 하나의 Text로 통합기

    • 처음에 Make.com의 Operation Count가 어떻게 되는지 확인하지 않고 하다가
      각 Bundle에 대해 Count되며 무료 리소스 증발했었습니다....

    • 이후 새로 계정 파서 Make 커뮤니티를 보니 Array aggregator를 쓰라고 하여,
      Array aggregator 기반 Array에서 JSON 형태로 변환하려 집착하다
      샘호트만님과 허세임님 도움으로 잘 해결하였습니다 👍

보라색 배경 화면의 스크린샷
  1. Set variable 로 뉴스 조사 결과에서 불필요한 인트로 제외

  2. 주식 데이터와 뉴스 조사 결과 기반 종목 별 분석

    텍스트 상자와 텍스트 상자가 있는 화면의 스크린샷
  3. Markdown to HTML

    • Markdown 형식으로 바로 메일을 보내보니 셔니님 글처럼 줄바꿈이 안되는 현상 발생하여 HTML 형식 변환 추가

  1. Gmail로 보내기

결과 및 인사이트

  • API를 거의 사용해보지 않다가 단기간에 다양한 API를 활용할 수 있는 좋은 기회였습니다.

  • 다른 사람들이 주식 데이터를 기반으로 하지 않은 이유가 있다고 느꼈으며
    (토큰 소비량이 너무 큼)

  • Make.com을 활용해 전체 프로세스를 단기간에 구축할 수 있는 유익한 한주였습니다.

향후 계획으로는

  • Oracle Cloud Free Tier를 활용해 서버에서 Python Code가 주기적으로 실행되도록 설정

  • 뉴스레터에 plotly로 그린 반응형 그래프 집어넣을 방법 모색

  • Gmail 외 다른 SNS 채널에도 자동 포스팅 되도록 추가할 예정입니다.

Trouble Shooting? 애로사항?

  • Airtable은 이번에 처음 사용해보았는데 기존 테이블 내 데이터를 삭제 및 업데이트 속도가 매우 느렸습니다 (2000~3000ea 올리는데 2~30분 정도 소요)

  • 초기에 Make.com의 워크 플로우를 어떻게 짜야 햘지 감이 오지 않아 PPT로 이리저리 그려보고 했는데 결국 구상했던 것 대비 매우 심플하게 한 줄로 구현 가능했습니다.
    (Simple Is Best)

  • Make에 있는 AI Assistant는 가끔 내가 에러 수정해줄까? 하고 답변이 와서 그러라고 하면
    전반적인 워크 플로우나 각 모듈 내 설정을 다 틀어버려서 수정해줄까 라고 답변이 온다면
    초기 전반적인 워크 플로우 구성 단계에서만 사용하는게 좋을 것 같습니다

지피터스를 이제야 알게되어 아쉽고, 이런 좋은 기회를 마련해주셔서 감사합니다.😍

3
3개의 답글

(채용) 콘텐츠 마케터, AI 엔지니어, 백엔드 개발자

지피터스의 수 천개 AI 활용 사례 데이터를 AI로 재가공 할 인재를 찾습니다

👉 이 게시글도 읽어보세요