Vibe-Trading, 자연어 명령으로 다중 시장을 아우르는 오픈소스 개인 AI 트레이딩 에이전트 (feat. HKUDS)

Vibe-Trading 소개

Vibe-Trading은 홍콩대학교의 데이터 과학 연구실인 HKUDS가 공개한 오픈소스 프로젝트로, 자연어(Natural Language) 명령을 실행 가능한 트레이딩 전략(Trading Strategy), 시장 리서치, 포트폴리오 분석으로 변환해 주는 다중 에이전트(Multi-Agent) 기반의 금융 워크스페이스입니다. "나만의 트레이딩 에이전트(Your Personal Trading Agent)"를 표방하며, pip install vibe-trading-ai 한 줄 설치만으로 CLI/TUI, FastAPI 웹 UI, MCP(Model Context Protocol) 플러그인의 세 가지 진입점이 함께 제공되므로 기존 에이전트 환경에 바로 연결해 사용할 수 있습니다.

Vibe-Trading 프로젝트의 핵심은 단일 LLM 호출이 아니라, 금융 업무를 69개의 전문 기술(Skill)과 29개의 미리 정의된 에이전트 팀(Swarm Preset)으로 분해해 실행한다는 점입니다. 사용자가 "BTC-USDT MACD 전략을 지난 30일 동안 백테스트해 줘" 또는 "AAPL 모멘텀을 분석해 줘"처럼 요청하면, Vibe-Trading은 적절한 스킬과 도구를 라우팅하여 데이터 수집, 백테스트, 통계 검증, 리포트 작성까지의 전 과정을 실행하고 그 과정을 실시간 스트리밍으로 보여줍니다. LLM 제공자로는 OpenRouter, OpenAI, DeepSeek, Gemini, Groq, Qwen, Zhipu, Moonshot/Kimi, MiniMax, Xiaomi MIMO, 그리고 로컬 실행을 위한 Ollama까지 총 11개가 공식 지원됩니다.

:warning: 이 글은 자연어로 여러 시장을 살펴보고 여러 스킬 및 에이전트 팀 기반으로 '나만의 트레이딩 에이전트'를 목표로 하는 프로젝트를 소개하는 글로, 파이토치 한국 사용자 모임은 인공지능 기술이 금융 분야에서 어떻게 활용될 수 있는지 가능성과 그 방법에 대한 소개를 하는 것입니다. 즉, 어떠한 경우에도 파이토치 한국 사용자 모임 및 이 글은 투자를 권유, 제안, 또는 추천하려는 목적으로 작성한 것이 아님을 알려드리며, 투자에 대한 조언을 구성하지 않습니다.

중국 A주(A-Shares)부터 홍콩/미국 주식, 암호화폐, 선물, 옵션, 외환(Forex)까지 전 세계 시장을 하나의 워크스페이스에서 다룰 수 있도록 설계되었고, auto 소스 설정을 사용하면 000001.SZBTC-USDT 같은 서로 다른 시장의 심볼을 하나의 자본 풀(Shared Capital Pool)로 묶어 백테스트할 수도 있습니다. 백엔드는 Python 3.11+과 FastAPI로 구성되어 있고 프론트엔드는 React 19로 작성되어 있습니다.

유사 프로젝트와의 비교

금융 도메인의 오픈소스 멀티 에이전트 프로젝트는 TradingAgents, AI Hedge Fund 등 여러 선행 연구가 있으나, Vibe-Trading은 단일 워크플로우에 국한되지 않고 시장 전역의 리서치/백테스트/전략 내보내기를 하나의 에이전트 런타임으로 통합했다는 점이 차이입니다. 특히 다중 플랫폼 지표 내보내기(Multi-Platform Indicator Export) 기능은 연구용 코드와 실제 트레이딩 플랫폼 사이의 간극을 줄이는 데 초점을 맞추고 있습니다.

구분 Vibe-Trading TradingAgents AI Hedge Fund
에이전트 구성 29개 Swarm Preset + DAG 오케스트레이션 고정 역할(애널리스트/트레이더 등) 가상 투자위원회 시뮬레이션
지원 시장 A주, 홍콩/미국 주식, 암호화폐, 선물, 외환, 옵션 주로 미국 주식 주식 중심
백테스트 엔진 7개 시장별 엔진 + Composite 크로스마켓 제한적 제한적
전략 내보내기 Pine Script v6 / TDX / MQL5 없음 없음
실행 인터페이스 CLI + Web UI + MCP 플러그인 CLI 중심 CLI 중심
LLM 지원 11개 제공자 + Ollama 로컬 일부 제공자 일부 제공자

Vibe-Trading의 4가지 핵심 기능

Vibe-Trading은 크게 네 가지 축으로 기능이 구성되어 있으며, 각 축은 서로 다른 시점에 독립적으로 호출되면서도 스킬 레지스트리를 통해 공통된 데이터와 도구를 공유합니다. 아래에서는 공식 문서에 소개된 네 가지 시나리오(Research, Swarm, Backtest, Quant)를 중심으로 구조를 살펴봅니다.

Vibe-Trading의 DeepResearch 기능

DeepResearch는 69개의 전문 스킬(Skill) 레지스트리를 기반으로 자연어 요청을 복수의 리서치 단계로 라우팅하는 기능입니다. 각 스킬은 SKILL.md 파일로 기술되어 있으며 데이터 소스(Data Source), 전략(Strategy), 분석(Analysis), 자산군(Asset Class), 암호화폐(Crypto), 자금 흐름(Flow), 도구(Tool)의 7개 카테고리로 정리되어 있습니다.

예를 들어 factor-research, macro-analysis, global-macro, valuation-model, earnings-forecast, credit-analysis와 같은 분석 스킬이 15개 포함되어 있고, tushare, yfinance, okx-market, akshare, ccxt와 같은 데이터 소스 스킬이 6개 마련되어 있습니다.

리서치 과정은 ReAct(Reason + Act) 루프 형태로 실행되어 에이전트가 스스로 어떤 스킬과 도구를 호출할지 판단하고, 그 결과를 메모리/아티팩트 저장소에 기록하면서 후속 분석에 재활용합니다. 웹 검색은 web_search 도구와 web_reader(Jina 기반)를 통해 이루어지므로 정적 데이터뿐 아니라 실시간 뉴스나 SEC 공시 같은 외부 문서도 함께 참고할 수 있습니다. 이러한 구조 덕분에 단순한 질의응답을 넘어 "특정 섹터에 대한 거시 리서치 후 관련 종목군에 대한 전략 초안 작성"과 같은 복합 요청도 단일 대화로 처리할 수 있습니다.

Vibe-Trading의 Swarm 지능 오케스트레이션

Swarm Intelligence는 DAG(Directed Acyclic Graph) 기반의 다중 에이전트 오케스트레이션 엔진으로, 특정 금융 업무에 특화된 29개의 프리셋 팀을 곧바로 실행할 수 있도록 제공합니다. 각 프리셋은 YAML로 정의되어 있어 역할, 프롬프트 템플릿, 스킬, 도구의 조합을 투명하게 확인하고 수정할 수 있으며, TUI의 /swarm run <preset> 또는 CLI의 --swarm-run 플래그로 실시간 스트리밍 방식의 실행이 가능합니다.

대표적으로 investment_committee는 불/베어 토론(Bull/Bear Debate) → 리스크 리뷰 → PM 최종 판단 워크플로우를 따르며, global_equities_desk는 A주·홍콩/미국·암호화폐 리서처가 글로벌 전략가에게 보고하는 구조를 취합니다. 그 외에도 crypto_trading_desk, earnings_research_desk, macro_rates_fx_desk, quant_strategy_desk, technical_analysis_panel, risk_committee, global_allocation_committee 등 투자/거래/리스크 관리 관점의 워크플로우가 준비되어 있습니다. 최근 업데이트에서는 프리셋 프롬프트 템플릿의 변수({market}, {target} 등)가 누락될 경우 컨텍스트에서 자동 추론하도록 개선되어 워커가 중단되지 않도록 안정성이 강화되었습니다.

Vibe-Trading의 크로스마켓 백테스트 엔진

Vibe-Trading의 백테스트 엔진은 시장별로 분리된 7개 엔진과 이들을 결합하는 CompositeEngine으로 구성됩니다. 개별 엔진은 중국 A주, 홍콩/미국 주식, 암호화폐, 중국 선물(CFFEX/SHFE/DCE/ZCE, 50+ 계약), 글로벌 선물(CME/ICE/Eurex, 30+ 계약), 외환(24개 통화쌍, 스프레드/스왑 포함), 옵션(American Exercise, IV Smile)을 각각의 시장 규칙으로 처리하며, T+1 결제나 펀딩비 같은 제약도 심볼 단위로 적용됩니다. CompositeEngine은 ["000001.SZ", "BTC-USDT"]처럼 서로 다른 시장의 심볼을 한 번의 백테스트에 담아 공유 자본 풀을 운용하고, 각 심볼의 거래 캘린더에 맞춰 신호를 정렬합니다.

데이터 로더는 Protocol 기반 인터페이스와 레지스트리(Registry)를 통해 자동 폴백 체인을 구성하며, tushare, yfinance, OKX, AKShare, CCXT까지 총 5개의 소스가 기본 제공됩니다. 통계적 유효성 검증을 위해 Monte Carlo 순열 검정(Monte Carlo Permutation Test), Bootstrap 기반 Sharpe 신뢰 구간(Sharpe CI), Walk-Forward 분석이 내장되어 있어 단순 수익률 곡선 이상의 과적합 검증이 가능합니다. 또한 /pine 명령 하나로 동일한 전략을 TradingView의 Pine Script v6, 중국 현지 플랫폼의 TDX Formula(통달신/동화순/동방재부), MetaTrader 5의 MQL5로 동시에 내보낼 수 있어 연구 단계에서 운영 단계로의 이행 비용을 크게 줄여줍니다.

Vibe-Trading의 정량 분석 툴킷

정량 분석 영역에서는 팩터 IC/IR 분석과 분위수 백테스트(Quantile Backtesting), Black-Scholes 가격 결정 모델과 전체 그릭스(Greeks) 계산, 차트 패턴 자동 인식, 그리고 MVO(Mean-Variance Optimization)·리스크 패리티(Risk Parity)·Black-Litterman을 포함하는 포트폴리오 최적화가 제공됩니다. 15개 이상의 성능 지표와 4종의 최적화 알고리즘을 기본 탑재하고 있어 전략 개발 이후 포트폴리오 단위의 배분 검토까지 동일한 런타임에서 수행할 수 있습니다.

추가로 options-strategy, options-advanced, convertible-bond, etf-analysis, asset-allocation, sector-rotation 같은 자산군(Asset Class) 스킬이 9종 준비되어 있어 파생상품과 ETF 중심의 분석 요구도 함께 대응합니다. 이러한 기능들은 모두 CLI/웹 UI뿐 아니라 MCP 도구로도 노출되므로, Claude Desktop이나 Cursor, OpenClaw와 같은 외부 에이전트가 별도 구현 없이 Vibe-Trading의 정량 분석 능력을 호출할 수 있습니다.

Vibe-Trading의 MCP 통합

Vibe-Trading은 stdio 서브프로세스 형태로 동작하는 MCP 서버를 제공하며, 17개의 도구를 외부 에이전트에 노출합니다. 노출되는 도구는 list_skills, load_skill, backtest, factor_analysis, analyze_options, pattern_recognition, get_market_data, web_search, read_url, read_document, read_file, write_file, list_swarm_presets, run_swarm, get_swarm_status, get_run_result, list_runs이며, 이 중 16개는 별도 API 키 없이 홍콩/미국/암호화폐 데이터만으로 작동하고 run_swarm만 LLM 키를 요구합니다.

Claude Desktop 사용자는 claude_desktop_config.json에 아래와 같이 추가하면 바로 연동됩니다.

{
  "mcpServers": {
    "vibe-trading": {
      "command": "vibe-trading-mcp"
    }
  }
}

OpenClaw 사용자는 ~/.openclaw/config.yamlskills 항목을 추가하는 방식으로, Cursor나 Windsurf 같은 다른 MCP 클라이언트는 vibe-trading-mcp --transport sse 형태의 SSE 전송을 사용해 웹 기반 에이전트와도 연결할 수 있습니다. 또한 npx clawhub@latest install vibe-trading --force 한 줄로 ClawHub 레지스트리에서 바로 설치하는 경로도 제공됩니다.

Vibe-Trading 설치 및 사용법

가장 간단한 설치 경로는 PyPI 패키지를 이용하는 것으로, 설치 후에는 세 가지 명령(vibe-trading, vibe-trading serve, vibe-trading-mcp)이 함께 제공됩니다. Python 3.11 이상이 필요하며, LLM API 키는 어떤 제공자든 하나만 있으면 되고 Ollama로 로컬 실행을 선택하면 API 키가 아예 필요 없습니다.

pip install vibe-trading-ai

vibe-trading init              # 대화형 .env 초기화
vibe-trading                   # 인터랙티브 CLI/TUI 실행
vibe-trading serve --port 8899 # FastAPI 기반 웹 UI 실행
vibe-trading-mcp               # MCP 서버(stdio) 실행

소스로부터 직접 개발 환경을 구성하려면 저장소를 클론한 뒤 가상 환경을 만들고 pip install -e .로 편집 모드 설치를 진행한 후, agent/.env.example을 복사해 자신의 LLM 제공자와 키를 지정하면 됩니다.

git clone https://github.com/HKUDS/Vibe-Trading.git
cd Vibe-Trading
python -m venv .venv
source .venv/bin/activate
pip install -e .
cp agent/.env.example agent/.env
vibe-trading

예제로 세팅으로 바로 실행해 보고 싶다면 저장소 루트에서 docker compose up --build를 실행해 백엔드와 프론트엔드가 하나의 컨테이너로 올라간 환경을 http://localhost:8899에서 확인할 수 있습니다.

실제 사용 단계에서는 아래와 같이 자연어 프롬프트나 스웜 프리셋을 직접 호출합니다:

# 단발성 실행: 자연어로 전략 백테스트 요청
vibe-trading run -p "Backtest BTC-USDT MACD strategy, last 30 days"

# 애플 모멘텀 분석 결과를 JSON으로 출력
vibe-trading run -p "Analyze AAPL momentum" --json

# 투자위원회 스웜 실행(변수 JSON 전달)
vibe-trading --swarm-run investment_committee '{"topic":"BTC outlook"}'

# 이전 실행 ID의 전략을 TradingView/TDX/MT5 지표로 내보내기
vibe-trading --pine <run_id>

무료 데이터 소스 덕분에 yfinance(홍콩/미국), OKX(암호화폐), AKShare(중국 A주, 미국, 홍콩, 선물, 외환), CCXT(100여 개 암호화폐 거래소)는 별도 키 없이도 사용할 수 있고, TUSHARE_TOKEN은 선택 사항으로 설정하지 않아도 AKShare가 자동 폴백합니다.

라이선스

Vibe-Trading은 MIT 라이선스로 공개되어 있어 개인 및 상업 목적 모두에서 자유롭게 사용·수정·재배포할 수 있습니다. 다만 금융 전략의 실제 거래 적용은 사용자 책임 영역이므로, 저장소가 제공하는 예시 코드와 통계 검증 결과를 바탕으로 충분한 검증을 거친 후 활용하시기를 권장합니다.

:github: Vibe-Trading 프로젝트 GitHub 저장소

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요