📈잠자는 동안에도 시장 감시! 나노 바나나 프로 로컬 AI 기반 ‘주요 뉴스 알림 시스템’ 구축 가이드

프롤로그: 정보 과부하 시대, AI 필터가 필요한 이유

매일 쏟아지는 수많은 주식 뉴스 중, 진짜 시장에 영향을 미칠 핵심 정보는 몇 개 되지 않습니다. 게다가 외부 AI 서비스를 쓰면 민감한 투자 정보를 외부에 노출할 위험이 있습니다 ❌.

나노 바나나 프로의 로컬 LLM은 이러한 문제들을 해결합니다. 빠른 속도로 대량의 뉴스를 읽고, 사적인 금융 정보를 외부에 유출하지 않으면서 핵심 내용과 시장 반응을 분석하여 즉시 알림을 보냅니다.

🌟 핵심 기능: 크롤링된 뉴스 필터링 $\rightarrow$ 로컬 LLM이 시장 심리/영향 분석 $\rightarrow$ 위험 감지 시 텔레그램 알림


1. ⚙️ 1단계: 준비물 및 데이터 수집 환경 구축

성공적인 주식 감지 시스템을 위해, LLM 이전에 ‘시장 뉴스’라는 원재료를 확보해야 합니다.

① 뉴스 데이터 수집기 설치

  • 추천 방법: Python의 feedparser 라이브러리를 활용하여 주요 경제 뉴스 채널(예: 연합뉴스, 한국경제)의 RSS 피드를 주기적으로 읽어옵니다. (웹 크롤링보다 안정적)
  • 필수 라이브러리: pip install feedparser python-telegram-bot requests

② 텔레그램 알림 채널 준비

  • 채널 생성: 텔레그램에서 나만 볼 수 있는 채널을 만듭니다.
  • 봇 생성: BotFather를 통해 봇을 생성하고 API 토큰과 Chat ID를 준비합니다. (스크립트에 사용될 핵심 정보)

2. 🧠 2단계: AI의 핵심 역할 – 필터링 및 심리 분석 (Deep Dive)

수집된 뉴스 텍스트를 로컬 LLM에게 전달하여 ‘이 뉴스가 시장에 긍정적인가? 부정적인가? 영향도는 어느 정도인가?’를 분석하게 만듭니다.

① LLM API 호출 함수 (Python)

이전 가이드에서 작성한 LLM 호출 함수를 재사용합니다. 다만, 프롬프트를 분석 특화형으로 바꿉니다.

② 프롬프트 엔지니어링 (핵심)

LLM에게 단순 요약 대신, 구조화된 JSON 형태의 답변을 요청하여 파싱(Parsing)이 쉽도록 만듭니다.

LLM에게 주는 명령(Prompt)

“아래 뉴스 기사를 읽고 다음 세 가지 항목을 분석하여 JSON 형식으로만 출력해줘.

  1. 'summary' (2줄 이내 요약)
  2. 'sentiment' (긍정, 부정, 중립 중 택 1)
  3. 'impact_score' (0점(무관)부터 10점(매우 큼) 사이의 영향 점수)”
  • Deep Tip: JSON 출력을 강제하려면 프롬프트 마지막에 “Output only JSON.” 또는 “결과물은 JSON 형식 외에 다른 텍스트를 포함하지 말 것.”을 추가하세요.

3. 🚨 3단계: 위험 감지 및 텔레그램 알림 발송 스크립트

LLM이 분석한 결과를 기반으로 사용자에게 알림을 보낼지 말지를 결정합니다.

① 알림 발송 조건 설정

  • 조건: LLM 분석 결과 impact_score가 7점 이상이거나, sentiment가 ‘부정’일 경우에만 알림을 보냅니다.
  • 스크립트 로직:
    1. LLM 분석 결과를 Python json.loads()로 파싱합니다.
    2. if score >= 7 or sentiment == '부정': 이 참일 경우에만 텔레그램 발송 함수를 호출합니다.

② 텔레그램 알림 스크립트 예시

Python

import telegram
# ... LLM 분석 로직 실행 후 ...

# NBP의 로컬 AI 분석 결과 메시지 생성
message = (
    f"🚨 [AI 긴급 감지 알림] 🚨\n"
    f"시장 심리: {sentiment}\n"
    f"영향 점수: {score}점\n"
    f"요약: {summary}"
)

# 텔레그램 봇으로 메시지 발송
bot = telegram.Bot(token='준비된 텔레그램 API 토큰')
bot.send_message(chat_id='준비된 챗 ID', text=message)

4. ⏰ 4단계: 주식 시장 시간에 맞춘 자동 예약 (Crontab)

스크립트가 한국 주식 시장 시간(KST)에 맞춰 주기적으로 실행되도록 Crontab을 설정합니다.

– Crontab 설정 명령어

Bash

crontab -e

– 실행 예약 예시 (시장 개장 10분 전 ~ 마감 시점)

시장 개장 전(오전 8시 50분)과 장 중 주요 시간대(오전 10시, 오후 1시 30분)에 스크립트가 실행되도록 설정합니다.

Plaintext

# 분 시 일 월 요일 명령어
50 8 * * 1-5 python3 /path/to/script/stock_alert.py   # 8시 50분 (개장 전)
0 10 * * 1-5 python3 /path/to/script/stock_alert.py   # 10시 00분 (장 중)
30 13 * * 1-5 python3 /path/to/script/stock_alert.py   # 13시 30분 (오후장)

Deep Tip: 주말(토, 일, 요일 0, 6)에는 실행되지 않도록 1-5를 명시했습니다. 명령어를 실행하기 전 반드시 SSH 환경에서 스크립트가 잘 작동하는지 확인해야 합니다.


5. ❌ 현실적인 한계 및 극복 방안

문제 상황원인극복 방안
뉴스 분석 속도 지연LLM 모델이 너무 크거나(예: Llama 8B 이상), NPU를 제대로 활용하지 못함.Q4 양자화 모델(TinyLlama 등)을 고정 사용하고, NPU 연결 옵션을 재확인합니다.
오보 알림 발송AI가 금융 용어의 뉘앙스를 오해함.프롬프트에 ‘투자 자문이 아님을 인지하고, 객관적인 사실만 분석할 것’ 등의 제약 조건을 추가합니다.
빈번한 알림impact_score 기준이 너무 낮음 (예: 5점).초기에는 기준 점수를 8점 이상으로 높게 설정하고, 점차 점수를 낮춰가며 최적의 민감도를 찾습니다.

🌟 결론: 나노 바나나 프로와 로컬 LLM을 결합한 이 시스템은 개인 투자자에게 맞춤형, 비공개, 자동화된 시장 감시 능력을 제공합니다. 이제 여러분의 NBP는 단순한 서버가 아닌, 24시간 시장을 분석하는 나만의 금융 비서가 됩니다.