로컬 LLM과 n8n을 활용한 나만의 AI 퀀트 투자 시스템 구축기 (Echo-Quant)
[Vibe Coding] 로컬 LLM과 n8n을 활용한 나만의 AI 퀀트 투자 시스템 구축기 (Echo-Quant) 최근 M4 맥 미니와 로컬 고성능 서버(T550, Z640, X99) 인프라를 활용하여, AI와 함께 코딩하는 '바이브 코딩(Vibe Coding)' 방...
로컬 LLM과 n8n을 활용한 나만의 AI 퀀트 투자 시스템 구축기 (Echo-Quant)
[Vibe Coding] 로컬 LLM과 n8n을 활용한 나만의 AI 퀀트 투자 시스템 구축기 (Echo-Quant)
최근 M4 맥 미니와 로컬 고성능 서버(T550, Z640, X99) 인프라를 활용하여, AI와 함께 코딩하는 '바이브 코딩(Vibe Coding)' 방식으로 한국 주식 자동매매 프로그램을 기획했습니다. 단순한 매매 봇을 넘어, 전 세계의 시장 흐름과 '정보의 소리'를 분석하는 지능형 시스템을 설계해 나간 사고의 흐름을 정리해 봅니다.
💡 PART 1. 아이디어의 발전 (대화 기록)
1. 바이브 코딩으로 자동매매 앱 만들기, 가능할까?
🤔 고민의 시작: "한국 주식을 위주로 하는 자동매매 프로그램을 Cursor 같은 AI 도구(Vibe Coding)로 만들 수 있을까?" 💡 AI의 답변: 가능합니다. 현대적인 REST API/Websocket을 지원하는 한국투자증권(KIS Developers) API를 추천합니다. M4 맥 미니를 컨트롤 타워로 삼고, T550과 Z640 서버를 매매 엔진 및 분석용으로 활용하면 전문적인 트레이딩 시스템 구축이 가능합니다.
2. "주식이 그렇게 쉬우면 다들 프로그램 만들지 않을까?"
🤔 뼈아픈 질문: 나스닥 급등주 흐름을 한국 주식에 매칭시켜 매매하고 싶은데, 이게 진짜 돈이 된다면 왜 다들 자동매매를 안 할까요? 💡 AI의 답변: 현실적인 벽(슬리피지 비용, 데이터 노이즈, 유지보수의 늪, 그리고 인간의 뇌동매매) 때문입니다. 하지만 24시간 가동 가능한 서버와 GPU를 보유하고 있다면 상황이 다릅니다. 남들은 포기하는 '방대한 데이터 필터링'을 로컬 LLM을 통해 자동화하고, '나스닥 $\rightarrow$ 관련 수혜주 매칭' 이라는 글로벌 매크로 전략을 바이브 코딩으로 구현하면 충분히 승산이 있습니다.
3. 단순 가격이 아닌 '내실'과 '뉴스' 크롤링하기
🤔 확장된 목표: 기업의 영업이익, 수주 뉴스, 프로젝트 참여 현황 같은 비정형 데이터도 수집하고 분석할 수 있을까요? 💡 AI의 답변: 네, 투트랙 전략을 씁니다.
- 정형 데이터: Open DART(전자공시) API로 영업이익 등 재무 데이터를 확실하게 가져옵니다.
- 비정형 데이터(뉴스): 네이버 증권, 구글 뉴스 등을 크롤링하여 로컬 LLM에게 "이 기사가 실제 매출로 이어질 확정 수주인지 점수를 매겨줘"라고 분석을 시킵니다.
4. 실시간 데이터의 한계 돌파
🤔 기술적 의문: 한국투자증권 API라도 실시간 체결가나 전체 매도/매수 잔량을 다 가져오는 건 불가능하지 않나요? 💡 AI의 답변: 일반적인 REST API로는 초당 호출 제한 때문에 불가능하지만, **웹소켓(WebSocket)**을 이용하면 해결됩니다. 증권사 서버가 체결가와 10호가 잔량 데이터를 내 서버로 실시간으로 밀어주게(Push) 만들고, 이를 처리 속도가 빠른 Redis(인메모리 DB)에 먼저 담아두는 아키텍처를 적용합니다.
5. 데이터베이스와 맥락 트리(Context Tree)의 구상
🤔 데이터 구조 설계: 이 방대한 뉴스와 데이터를 어떻게 한눈에 파악하고 필터링하게 만들까요? 자연어 검색이 가능한 PostgreSQL이 좋을까요? 그리고 기사 내용을 AI가 분석해서 시장 흐름과의 인과관계를 '트리(Tree)' 형태로 분류하고 수치화하고 싶습니다. 💡 AI의 답변: 완벽한 접근입니다. PostgreSQL과 pgvector 확장을 사용해 벡터 기반 자연어 검색을 구현합니다. 보유하신 X99(64GB) 서버를 메인 DB로 두고, JSONB 타입과 재귀적 쿼리를 사용해 데이터를 계층화된 **'지식 그래프(Knowledge Graph)'**로 저장합니다.
- 루트: 나스닥 AI 섹터 급등 $\rightarrow$ 가지: 국내 HBM 수주 뉴스 $\rightarrow$ 잎: 삼성전자 호가 변화. 이 연결점마다 '영향력 점수'를 부여합니다.
6. 로컬 LLM의 선택
🤔 AI 모델 선정: 내가 가진 환경(T550 64G, A2 GPU 2장)에서 이런 복잡한 수치화와 트리 구조 분석을 해낼 수 있는 로컬 LLM이 있을까요? 💡 AI의 답변: 네, 32GB VRAM 환경이라면 알리바바의 최신 MoE 모델인 Qwen3.6-35B (또는 동급 모델)가 최적입니다. 한국어 이해도가 뛰어나고, 뉴스에서 [수혜 기업, 금액, 긍정/부정 수치]를 정확히 JSON 트리 구조로 뽑아내는 데 탁월합니다.
7. '소리가 모이는 곳'을 찾아서 (밀도 분석)
🤔 핵심 인사이트: 3,000개가 넘는 기사, 유튜브 대본, 찌라시 등 전 세계의 **'소리가 모이는 지점'**을 찾아서 중복되는 기사에 가중치를 두고, 3/7/15일 단위로 병합해 감정 점수와 등락폭의 상관관계를 분석하면 어떨까요? 💡 AI의 답변: 퀀트 투자의 '대체 데이터(Alternative Data) 모멘텀 전략'의 정수입니다. 뉴스 기사뿐만 아니라 유튜브 경제 채널의 대본(Transcript)까지 추출하여 시장의 실제 온도를 측정합니다. 특정 종목에 갑자기 언급량이 폭발하는 '소리 폭발(Sound Spikes)' 현상을 포착하고, 긍정 기사 속 숨겨진 부정적 키워드 비율을 분석해 세력의 이탈 시점(고점)을 예측하는 시스템으로 발전시킬 수 있습니다.
🚀 PART 2. 최종 프로젝트 기획서
프로젝트명: Echo-Quant (글로벌 소리 밀도 기반 AI 퀀트 및 자동매매 시스템)
본 기획은 온프레미스 고성능 서버 환경과 Cursor(Vibe Coding), 로컬 LLM, n8n 자동화 워크플로우를 결합하여, 글로벌 정보의 맥락을 분석하고 데이터의 '소리 밀도'를 점수화해 자동 매매를 수행하는 퀀트 시스템 구축안입니다.
1. 시스템 아키텍처 및 하드웨어 배분
보유한 서버 자원의 역할을 명확히 분리하여 병목을 없애고 24시간 무중단 운영이 가능하도록 설계합니다.
- M4 맥 미니 (Orchestrator & UI):
- Cursor IDE를 구동하여 전체 코드를 작성/배포하는 통제실.
- 분석된 '소리 지도(Sound Heatmap)'와 매매 대시보드(Streamlit, Grafana) 상시 모니터링.
- Z640 [32GB RAM] (Collector & Automator):
- n8n 메인 엔진: 수집 $\rightarrow$ 분석 $\rightarrow$ 매매 파이프라인을 시각적으로 조율.
- 크롤러 컨테이너: n8n과 연동된 Playwright/Selenium 기반 종목 토론방, 찌라시 실시간 수집 봇 구동.
- T550 [64GB RAM, 2x NVIDIA A2 16GB] (AI Brain):
- 로컬 LLM 서버 (Ollama/vLLM): Qwen3.6-35B-A3B 등 고성능 MoE 모델 구동.
- 뉴스, 유튜브 대본 등의 비정형 데이터를 실시간 처리하여 감정 점수 추출 및 맥락 트리(Context Tree) 생성.
- X99 [64GB RAM] (Knowledge Graph DB):
- 데이터 허브: PostgreSQL (pgvector + JSONB 확장 적용).
- 기사 원문, 벡터 임베딩, 롤링 윈도우(3/7/15일 단위) 합산 점수 및 시장 등락 인과관계 데이터 적재.
2. 핵심 워크플로우: n8n + LLM + DB 연동 방안
n8n을 활용해 시각적이고 유연한 데이터 파이프라인을 구축합니다.
- Trigger (수집):
- 구글 뉴스 RSS, DART 전자공시 API, YouTube Transcript API 등을 10분 단위로 스크래핑.
- AI Processing (분석 및 점수화):
- 수집된 텍스트를 T550의 로컬 LLM API로 전송.
- LLM 역할: 정보 속에서
[대상 종목, 예상 등락 영향력(-1.0~1.0), 섹터 분류, 지식 트리 부모 노드]를 JSON으로 구조화하여 반환.
- Data Routing & Storage (저장 및 가중치 계산):
- LLM 결과물을 X99 PostgreSQL에
INSERT. - 동일한 이슈(유사 벡터 값) 반복 발생 시 중복 기사로 판별하여 'Consensus Score(합의 점수)'
UPDATE및 가중치 부여.
- LLM 결과물을 X99 PostgreSQL에
- Trading Logic & Alert (실행):
- 매일 오전 8:30, DB 쿼리를 통해 최근 3일 누적 감정 점수가 80점 이상이면서 '소리 폭발(Sound Spikes)'이 감지된 종목 추출.
- 조건 충족 시 한국투자증권(KIS) 웹소켓 연동 모듈을 통해 모의/실전 매수 주문 트리거.
- 체결 결과 및 '오늘의 소리 밀도 브리핑'을 개인 텔레그램으로 자동 발송.
3. Cursor (Vibe Coding)를 활용한 마이크로 서비스 개발 전략
복잡한 코딩은 AI에게 맡기고 시스템 통합에 집중합니다.
- A. 맞춤형 크롤러 제작 (Python): 봇 차단을 우회하는 Playwright 기반 스크래퍼를 Cursor로 작성하여 n8n Webhook으로 데이터를 쏘도록 구성.
- B. 지식 그래프 DB 스키마 설계 (SQL):
뉴스 간의 인과관계를 나타내는
parent_node_id와 시계열 검색에 최적화된 PostgreSQL 스키마 및 인덱스 쿼리 자동 생성. - C. 시각화 대시보드 제작 (Streamlit): DB의 '누적 감정 점수'를 시계열 차트로 그리고, 점수가 임계점을 돌파한 시점에 시각적 마커를 표시하는 웹 UI 구축.
4. 단계별 추진 계획 (Sprint Roadmap)
- Sprint 1: 데이터 레이더 셋업
- X99에 PostgreSQL 세팅 및 Z640에 n8n Docker 인스턴스 구축.
- 단순 API 연동(뉴스 RSS, 공시) 기반 데이터 적재 테스트.
- Sprint 2: 지능 부여 및 소리 수치화
- T550 환경에 Ollama 설치 및 최적 LLM 로드.
- n8n 워크플로우에 LLM 분석 노드를 추가하여 기사/대본을 점수화하고 '일일 요약 리포트' 텔레그램 발송 기능 구현.
- Sprint 3: 시계열 분석 및 매매 연동
- 데이터 누적 후 롤링 윈도우(Rolling Window) 기반 감정 점수-주가 등락 상관관계 검증.
- 한국투자증권 API 연동 및 모의투자 자동 매매 파이프라인 완성.
(이 기획서는 개발 진행 상황에 따라 지속적으로 업데이트 및 고도화될 예정입니다.)