📋 목차
매일 아침 눈 뜨면 카카오톡에 AI가 정리해준 주식 시황이 와 있다면? 직접 파이썬과 카카오 API로 자동 시황 봇을 만들어봤고, 한 달 운영 비용은 커피 한 잔도 안 됐거든요.
사실 처음엔 별생각 없었어요. 그냥 출근 전에 네이버 증권 한 번 훑어보면 되지 않나 싶었는데, 문제는 매일 하기가 너무 귀찮다는 거였거든요. 어떤 날은 바빠서 놓치고, 어떤 날은 보다가 딴 뉴스에 빠져서 정작 시황은 제대로 안 읽고. 그러다 “이거 자동화하면 되잖아”라는 생각이 스쳤어요.
근데 막상 찾아보니까 방법이 여러 가지더라고요. 파이썬으로 직접 짜는 법, n8n이나 Make 같은 노코드 도구 쓰는 법, Google Apps Script로 이메일 받는 법까지. 저는 결국 세 가지 다 해봤는데, 카톡으로 받는 게 압도적으로 편했어요. 이메일은 안 열어보게 되고, 슬랙은 회사용이라 개인 투자 정보 넣기가 좀 그랬거든요.
오늘은 제가 삽질하면서 정리한 과정을 그대로 공유하려고 해요. 코딩 초보도 따라 할 수 있게 가능한 한 쉽게 풀어봤어요.
왜 AI 주식 시황 자동 알림을 만들었나
계기가 좀 민망한데, 작년 가을에 반도체 관련주를 들고 있었는데 미국 장 마감 뉴스를 놓쳐서 대응이 하루 늦은 적이 있었어요. 금액으로 따지면 크진 않았지만, “매일 아침 핵심만 뽑아서 알려주는 비서가 있으면 좋겠다”는 생각이 확 들었거든요.
증권사 앱 알림이 있긴 하잖아요. 근데 그건 내가 원하는 형태가 아니에요. 종목별 등락률만 덜렁 오거나, 광고성 리포트가 섞여 있거나. 저는 전날 미국 시장 흐름, 국내 시황 전망, 내 관심 종목 관련 뉴스 이 세 가지만 딱 정리된 게 필요했어요.
그래서 “AI한테 뉴스 읽게 하고 요약본을 카톡으로 보내면 되지 않을까?”가 출발점이었어요. 실제로 만들어보니까 생각보다 어렵진 않았는데, 중간에 삽질 포인트가 꽤 있었어요.
특히 카카오 API 토큰이 만료되는 걸 몰라서 어느 날 갑자기 알림이 안 오더라고요. 그거 해결하는 데만 이틀 걸렸어요. 이런 함정들을 미리 알면 훨씬 수월해요.
전체 시스템 구조와 필요한 도구들
큰 그림부터 그려볼게요. 이 시스템은 크게 세 단계로 돌아가요. 첫째 뉴스 데이터를 수집하고, 둘째 AI가 요약하고, 셋째 카카오톡으로 발송하는 거예요. 각 단계별로 필요한 도구가 다릅니다.
뉴스 수집에는 파이썬의 requests와 BeautifulSoup 조합을 쓰거나, 네이버 뉴스 API를 활용할 수 있어요. 저는 네이버 뉴스 검색 API가 편해서 그걸로 갔어요. 하루 25,000건 호출이 무료거든요. AI 요약은 OpenAI API를 사용했어요. GPT-4o mini 기준 입력 100만 토큰당 약 15센트라서 매일 뉴스 5~10건 요약하는 데 한 달에 1달러도 안 나와요.
카카오톡 발송은 카카오 디벨로퍼스에서 앱을 만들고 ‘나에게 보내기’ API를 쓰면 돼요. REST API로 POST 요청 한 번이면 내 카톡 ‘나와의 채팅방’에 메시지가 도착하거든요. 스케줄링은 서버 크론잡이 가장 안정적인데, 서버 없이 하려면 GitHub Actions 무료 플랜이나 Google Apps Script 트리거를 쓸 수도 있어요.
📊 실제 데이터
제가 한 달간 운영해본 결과, OpenAI API 비용은 월 0.3달러 수준이었어요. 매일 아침 8시에 뉴스 8건을 수집하고 GPT-4o mini로 요약하는 패턴이었는데, 네이버 API는 무료, 카카오 API도 무료, 서버는 GitHub Actions 무료 플랜을 썼거든요. 실질적으로 드는 돈은 OpenAI 비용뿐이에요.
정리하면 필요한 건 이렇게 네 가지예요. 네이버 개발자센터 계정(뉴스 API용), OpenAI API 키(AI 요약용), 카카오 디벨로퍼스 앱(카톡 발송용), 그리고 스케줄러(자동 실행용). 전부 무료 또는 거의 무료로 쓸 수 있어서 부담이 없어요.
카카오톡 API 설정부터 토큰 발급까지
제가 가장 헤맸던 부분이 이거였어요. 코드 자체는 쉬운데, 카카오 API 설정 과정이 처음엔 좀 복잡하게 느껴지거든요. 순서대로 가볼게요.
먼저 카카오 디벨로퍼스(developers.kakao.com)에 가서 로그인한 뒤 애플리케이션을 추가해요. 앱 이름은 아무거나 상관없어요, 저는 “주식시황봇”이라고 했어요. 앱이 생성되면 REST API 키가 발급되는데, 이게 나중에 인증할 때 쓰여요.
그다음이 중요해요. 좌측 메뉴에서 카카오 로그인을 활성화하고, 동의항목에서 ‘카카오톡 메시지 전송’ 권한을 설정해야 해요. 접근권한 관리 탭에 들어가서 ‘이용 중 동의’를 체크하고 동의 목적에 ‘알림’이라고 적으면 돼요. 이걸 안 하면 나중에 토큰 발급받아도 메시지 전송이 안 됩니다.
토큰 발급은 카카오 로그인 인증 과정을 거쳐야 해요. 앱 설정에서 Redirect URI를 등록하고(보통 https://localhost:3000 같은 걸 넣어요), 브라우저에서 인증 URL에 접속해서 동의 버튼을 누르면 인가 코드가 발급돼요. 이 코드로 POST 요청을 보내면 access_token과 refresh_token을 받을 수 있어요.
여기서 함정. access_token은 6시간이면 만료돼요. 그래서 refresh_token으로 주기적으로 갱신해줘야 하거든요. 저는 이걸 몰라서 처음 만든 뒤 “잘 되네~” 하고 잠들었다가 다음 날 아침에 발송 실패 에러를 만났어요. 파이썬 스크립트 안에 토큰 자동 갱신 로직을 넣어두면 이 문제가 해결돼요. refresh_token도 만료 기한이 있긴 한데, 갱신할 때마다 새로 발급되니까 계속 자동으로 돌릴 수 있어요.
⚠️ 주의
카카오 메시지 API의 ‘나에게 보내기’는 앱 멤버에게만 동작해요. 개인 프로젝트니까 본인만 쓰면 문제없지만, 다른 사람한테도 보내려면 비즈 앱 전환과 추가 기능 신청(심사 포함)이 필요합니다. 개인 용도라면 그냥 ‘나에게 보내기’로 충분해요.
뉴스 크롤링과 AI 요약 연결하기
뉴스 수집은 네이버 뉴스 검색 API를 추천해요. 네이버 개발자센터에서 애플리케이션을 등록하면 Client ID와 Secret을 받고, 이걸로 검색 API를 호출할 수 있어요. “주식 시황”, “코스피”, “미국 증시” 같은 키워드를 넣으면 최신 뉴스 기사 목록이 JSON으로 넘어와요.
저는 키워드 3개를 돌려서 각각 상위 3건씩 총 9건 정도를 가져오게 했어요. 근데 여기서 바로 AI한테 넘기면 안 돼요. 네이버 API가 돌려주는 건 기사 제목과 짧은 요약(description)뿐이라서 내용이 부실하거든요. 그래서 각 기사 URL에 접속해서 본문을 긁어오는 크롤링 단계를 추가했어요. BeautifulSoup으로 기사 본문만 뽑는 건 몇 줄이면 돼요.
수집된 기사 본문을 OpenAI API에 보내서 요약을 받는 부분이 핵심이에요. 프롬프트를 어떻게 짜느냐에 따라 결과 퀄리티가 완전히 달라져요. 처음에 “아래 뉴스를 요약해줘”라고만 했더니 너무 딱딱한 요약이 나오더라고요. 그래서 프롬프트를 이렇게 바꿨어요. “아래 주식 관련 뉴스들을 분석해서, 오늘 아침 개인 투자자가 알아야 할 핵심 포인트 3가지를 친근한 말투로 정리해줘. 시장 분위기가 긍정적인지 부정적인지 한 줄 판단도 포함해줘.” 이렇게 하니까 훨씬 읽기 좋은 시황 브리핑이 나왔어요.
모델은 GPT-4o mini면 충분해요. 뉴스 요약이 엄청 고난도의 추론을 요구하는 작업은 아니라서, 비싼 모델 쓸 이유가 없었어요. 입력 100만 토큰당 15센트니까 뉴스 9건 본문을 다 넣어도 한 번 호출에 0.01달러도 안 나가요. 단, 이건 제가 실제 운영한 시점 기준이고 OpenAI 요금은 수시로 바뀌니까 공식 사이트에서 최신 가격을 확인하는 게 좋아요.
매일 아침 자동 발송 스케줄링
코드가 완성되면 이제 매일 정해진 시간에 자동으로 실행되게 해야 해요. 서버가 있다면 crontab에 한 줄 추가하면 끝이에요. 저는 처음에 집에 있는 라즈베리파이에서 돌렸는데, 솔직히 좀 불안정했어요. 와이파이가 끊기거나 전원이 나가면 당연히 안 돌아가니까요.
그래서 GitHub Actions로 옮겼는데 이게 신세계였어요. 무료 플랜으로 월 2,000분의 실행 시간을 주는데, 이 스크립트가 한 번 돌아가는 데 2분이면 충분해서 하루 한 번 실행이면 한 달에 60분밖에 안 써요. workflow 파일에서 cron 스케줄을 설정하면 매일 아침 원하는 시간에 자동으로 트리거돼요.
주의할 점은 GitHub Actions의 cron이 UTC 기준이라는 거예요. 한국 시간 아침 8시에 실행하고 싶으면 UTC로 23시(전날)를 설정해야 해요. 저는 이것도 몰라서 처음에 한국 시간 오후 5시에 알림이 오더라고요. 허탈했어요.
코드 파일과 토큰 정보를 GitHub 저장소에 올리면 되는데, 당연히 API 키나 토큰을 코드에 직접 넣으면 안 돼요. GitHub의 Repository Secrets 기능을 사용해서 환경 변수로 관리해야 해요. 카카오 토큰, OpenAI API 키, 네이버 API 키 전부 Secrets에 넣어두고 코드에서는 os.environ으로 불러오면 됩니다.
한 가지 더, GitHub Actions에서 실행하면 카카오 토큰 갱신이 좀 까다로워요. 매번 실행 시 토큰을 갱신하고 새 토큰을 다시 Secrets에 저장해야 하는데, GitHub API를 통해 Secret을 업데이트하는 로직을 추가해야 하거든요. 이 부분이 전체 과정에서 기술적으로 가장 까다로운 포인트였어요. 구글에 “GitHub Actions update secrets automatically”로 검색하면 예제 코드가 많이 나와요.
| 스케줄링 방법 | 비용 | 안정성/특징 |
|---|---|---|
| GitHub Actions | 무료 (월 2,000분) | 높음, 토큰 갱신 로직 필요 |
| Google Apps Script | 무료 | 높음, 자바스크립트 기반 |
| 개인 서버 (크론잡) | 서버 비용 별도 | 최고, 자유도 가장 높음 |
| n8n / Make | 무료~월 $9 | 높음, 코딩 불필요 |
운영 비용과 노코드 대안까지
코딩이 부담스러운 분들도 있을 거예요. 사실 저도 파이썬을 잘 하는 편은 아니거든요. 그래서 노코드 대안도 같이 소개해 드릴게요.
n8n이라는 워크플로우 자동화 도구가 있어요. 셀프 호스팅하면 완전 무료고, 클라우드 버전도 있어요. 노드를 드래그 앤 드롭으로 연결하는 방식이라 코딩 없이도 “HTTP 요청으로 뉴스 가져오기 → OpenAI 노드로 요약 → 카카오톡 HTTP 노드로 발송” 이런 파이프라인을 만들 수 있어요. 유튜브에 “n8n 카카오톡 자동화”로 검색하면 실제 구축 영상이 꽤 나와요.
Make(구 Integromat)도 비슷한 도구인데, 카카오톡 연동 모듈을 직접 지원하진 않아요. HTTP 모듈로 직접 API를 호출해야 하는 건 n8n이랑 같아요. 무료 플랜이 월 1,000회 실행이라 하루 한 번 돌리기엔 넉넉해요.
재밌는 건 ChatGPT 유료 구독자라면 ‘작업(Tasks)’ 기능을 쓸 수도 있다는 거예요. “매일 아침 8시에 한국 주식 시황을 요약해서 알려줘”라고 스케줄을 걸어둘 수 있거든요. 다만 이건 카톡이 아니라 ChatGPT 앱 알림으로 오는 거라서 카톡 수신을 원하는 분들에겐 좀 아쉬울 수 있어요.
💡 꿀팁
처음 만들 때 실수하기 쉬운 게 프롬프트 설계예요. “뉴스 요약해줘”만 넣으면 맥락 없는 나열이 오거든요. “개인 투자자 관점에서”, “긍정/부정 톤 판단 포함”, “핵심 3줄 이내” 이런 조건을 프롬프트에 명시하면 퀄리티가 확 올라가요. 저도 프롬프트를 7번쯤 수정한 뒤에야 만족스러운 결과물이 나왔어요.
비용을 한번 정리해볼게요. 파이썬 직접 구축 기준으로 네이버 API 무료, 카카오 API 무료, GitHub Actions 무료, OpenAI API만 월 0.3~0.5달러 수준. 한 달 운영 비용이 약 400~600원 정도인 셈이에요. 카페에서 아메리카노 한 잔 마시는 것보다 싸요.
한 가지 흔한 오해를 바로잡자면, “AI가 주식 추천을 해준다”고 생각하시면 안 돼요. 이건 뉴스를 정리해주는 거지, 매수/매도 신호를 주는 게 아니에요. 투자 판단은 본인이 하는 거고, AI는 그 판단에 필요한 정보를 빠르게 정리해주는 보조 역할이에요. 이 차이를 분명히 인식하고 있어야 해요.
자주 묻는 질문
Q. 코딩을 아예 모르는데 만들 수 있나요?
파이썬 기초 문법(변수, 함수, import)만 이해하면 따라 할 수 있어요. GPT한테 코드 작성을 부탁하면 거의 다 만들어주거든요. 아예 코딩이 싫다면 n8n이나 Make 같은 노코드 도구를 추천해요.
Q. 카카오톡이 아니라 텔레그램이나 슬랙으로도 보낼 수 있나요?
오히려 텔레그램이 더 쉬워요. 텔레그램 봇은 토큰 하나로 바로 메시지를 보낼 수 있어서 카카오보다 설정이 간단해요. 슬랙도 웹훅 URL 하나면 발송이 가능합니다.
Q. 관심 종목별로 맞춤 시황을 받을 수 있나요?
네이버 뉴스 검색 API의 키워드를 종목명으로 바꾸면 돼요. “삼성전자”, “SK하이닉스” 같은 키워드로 검색하면 해당 종목 관련 뉴스만 수집됩니다. 프롬프트에도 종목명을 포함시키면 더 정교한 요약이 나와요.
Q. 하루에 여러 번 받을 수도 있나요?
스케줄 설정만 바꾸면 돼요. 장 시작 전, 점심, 장 마감 후 이렇게 세 번 받는 사람도 있어요. 다만 너무 자주 보내면 카카오 API 쿼터에 걸릴 수 있으니 일 10회 이내를 권장해요.
Q. OpenAI 말고 무료 AI 모델을 쓸 수는 없나요?
Google의 Gemini API 무료 티어를 사용하면 비용 0원으로 요약이 가능해요. 요약 품질도 GPT-4o mini와 크게 차이 나지 않았어요. Groq에서 제공하는 Llama 모델도 무료 호출이 가능한 대안이에요.
본 포스팅은 개인 경험과 공개 자료를 바탕으로 작성되었으며, 전문적인 의료·법률·재무 조언을 대체하지 않습니다. 정확한 정보는 해당 분야 전문가 또는 공식 기관에 확인하시기 바랍니다. API 요금 및 정책은 각 서비스 제공사의 공식 사이트에서 최신 정보를 반드시 확인하세요.
매일 아침 눈 뜨면 카톡에 AI가 정리해준 시황이 와 있는 생활, 한번 경험하면 못 돌아가요. 하루 운영 비용 20원도 안 되는 이 자동화가 매일 아침 10분의 시간을 벌어다 주거든요. 파이썬이 익숙하다면 직접 구축을, 코딩이 부담스럽다면 n8n부터 시도해보세요.
직접 만들어보고 궁금한 점이 생기면 댓글로 남겨주세요. 비슷한 자동화 프로젝트를 다루는 글도 계속 올릴 예정이에요. 이 글이 도움이 됐다면 공유도 부탁드려요!