<div align="center">
<h1 align="center">TradingGoose 스튜디오</h1>
Discord
기술 분석 및 대규모 언어 모델(LLM) 트레이딩을 위한 AI 워크플로우 플랫폼으로, 분석, 리서치, 차트 작성, 모니터링 및 워크플로우 자동화에 최적화되었습니다.
[TradingGoose Studio 저장소]와 [빠른 시작 가이드]로 시작하세요. 원본 TradingGoose 프로젝트 문서는 이 README의 아래쪽에 보존되어 있습니다.
</div>
<img src="https://raw.githubusercontent.com/TradingGoose/TradingGoose.github.io/HEAD/public/tradinggoose-studio-preview.png" alt="TradingGoose 스튜디오 미리보기">
📑 목차
⚠️ 🤝 기여하기
⚠️ 🙏 감사의 말
TradingGoose Original
<div align="center">
<h1 style="line-height:50px;" align="center"><img src="https://raw.githubusercontent.com/TradingGoose/TradingGoose.github.io/HEAD/public/goose.png" alt="TradingGoose 로고" style=" vertical-align: middle; width:35px; height:35px;"> TradingGoose </h1>
여러 AI 에이전트가 협력하여 시장을 분석하고, 포트폴리오를 관리하며, 정교한 위험 관리를 통해 거래를 실행하는 지능형 트레이딩 플랫폼으로, 이제 완전 오픈 소스입니다.
</div>
<img src="https://raw.githubusercontent.com/TradingGoose/TradingGoose.github.io/HEAD/public/screen-shot.png" alt="TradingGoose UI">
📖 개요
TradingGoose는 AI 에이전트의 힘과 Alpaca의 시장 데이터를 활용하여 정교한 트레이딩 추천 및 자동화된 포트폴리오 관리 통찰력을 제공하는 이벤트 기반 트레이딩 전략 및 분석에 중점을 둡니다. 이 시스템은 전문 AI 에이전트들이 협력하여 실시간으로 시장 변화를 일으키는 이벤트를 분석하는 다중 에이전트 워크플로우 아키텍처(multi-agent workflow architecture)를 사용합니다.
🎯 핵심 개념
이 시스템은 대규모 언어 모델(Large Language Models)의 자연어 처리(natural language processing) 기능을 활용하여 시장 변동성을 자주 유발하는 뉴스, 소셜 미디어 및 기타 텍스트 데이터 소스를 신속하게 분석합니다. 이러한 이벤트들을 기존 방식보다 빠르게 처리함으로써, TradingGoose는 잠재적인 시장 움직임을 식별하고 사용자가 선택한 주식에 대한 시기적절한 트레이딩 신호를 생성합니다.
🔄 지능형 실행
분석 에이전트들이 추천을 제공하면, **포트폴리오 매니저 AI 에이전트(Portfolio Manager AI agent)**가 다음 작업을 수행합니다:
- 사용자의 Alpaca 계정 세부 정보 및 현재 포트폴리오 상태 분석
- 사용자 설정의 포지션 크기(position sizing), 할당 전략(allocation strategies), 위험 허용 범위(risk tolerance) 고려
- 특정 티커에 대한 정확한 값과 조치를 가진 최종 트레이딩 주문 생성
- 실제 포트폴리오 제약 조건 및 위험 관리에 기반하여 초기 추천과 다를 수 있는 자율적인 결정 수행
이 2계층 접근 방식은 분석 에이전트가 기회 식별에 집중하는 동안 포트폴리오 매니저가 실행에서 규율을 유지하도록 보장하며, 이는 포트폴리오 건전성, 위험 한도 또는 할당 규칙과 충돌할 경우 추천 사항을 무시(override)할 수 있습니다.
🏗️ 아키텍처 기반 (Architecture Foundation)
이 프로젝트의 다중 에이전트 분석 워크플로우 아키텍처는 금융 분석을 위한 협업 AI 에이전트 개념을 개척한 TauricResearch/TradingAgents 프레임워크를 기반으로 합니다.
✨ 주요 기능 (Features)
🤖 다중 에이전트 아키텍처 (Multi-Agent Architecture)
- 코디네이터 에이전트 (Coordinator Agent): 분석 워크플로우를 오케스트레이션하고 에이전트 협업을 관리합니다.
- 시장 분석가 (Market Analyst): 시장 동향과 기술 지표(technical indicators)를 분석합니다.
- 기초 분석가 (Fundamentals Analyst): 회사 재무제표와 가치 평가 지표(valuation metrics)를 평가합니다.
- 뉴스 분석가 (News Analyst): 시장 뉴스 및 이벤트를 처리하고 해석합니다.
- 소셜 미디어 분석가 (Social Media Analyst): 소셜 감성(social sentiment)과 트렌딩 주제를 모니터링합니다.
- 위험 분석가 (Risk Analysts) (안전/중립/위험): 다각적인 관점의 위험 평가를 제공합니다.
- 포트폴리오 매니저 (Portfolio Manager): 포트폴리오 할당 및 리밸런싱을 최적화합니다.
📊 핵심 기능 (Core Capabilities)
- 실시간 시장 분석 (Real-time Market Analysis): 주식 및 시장 상황을 지속적으로 모니터링합니다.
- 다중 종목 분석 (Multi-Stock Analysis): 단일 워크플로우 내에서 여러 종목을 동시에 분석합니다.
- 포트폴리오 관리 (Portfolio Management): 포지션 사이징(position sizing) 및 할당 전략을 포함한 종합적인 포트폴리오 최적화를 제공합니다.
- 예정된 리밸런싱 (Scheduled Rebalancing): 일별, 주별 또는 월별 일정에 따른 자동화된 포트폴리오 리밸런싱이 가능합니다.
- 실시간 거래 실행 (Live Trade Execution): Alpaca Markets를 통한 실제 주문 실행(모의 및 실거래)을 지원합니다.
- 위험 평가 (Risk Assessment): 보수적인 관점부터 공격적인 관점까지 다차원적인 위험 분석을 수행합니다.
- 워크플로우 시각화 (Workflow Visualization): 분석 및 의사 결정 과정을 실시간으로 추적합니다.
- 이력 추적 (Historical Tracking): 분석, 거래, 리밸런싱 활동에 대한 완전한 감사 기록(audit trail)을 제공합니다.
🔐 보안 및 접근 제어 (Security & Access Control)
- 역할 기반 접근 제어 (RBAC): 관리자, 모더레이터, 사용자 역할을 가진 세분화된 권한 시스템
- 안전한 인증: 이메일 인증을 지원하는 Supabase 기반 인증
- 초대 시스템: 관리자가 관리하는 초대를 통해 통제된 사용자 온보딩
- API 키 관리: 트레이딩 API 자격 증명의 안전한 저장 및 관리
🛠️ 기술 스택 (Tech Stack)
🎨 프론트엔드 (Frontend)
- React 18와 TypeScript
- 빠른 개발 및 빌드를 위한 Vite
- 스타일링을 위한 TailwindCSS
- 컴포넌트 라이브러리인 Shadcn/ui
- 네비게이션을 위한 React Router
- 데이터 시각화를 위한 Recharts
⚙️ 백엔드 (Backend)
- 데이터베이스, 인증 및 실시간 업데이트를 위한 Supabase
- 서버리스 API 엔드포인트 및 백그라운드 워크플로우 실행을 위한 Edge Functions
- 데이터 영속성을 위한 PostgreSQL
- 데이터 격리를 위한 행 수준 보안 (Row Level Security, RLS)
📈 트레이딩 통합 (Trading Integration)
- 시장 데이터 및 거래 실행을 위한 Alpaca Markets API
- 에이전트 지능을 위한 맞춤형 AI 제공업체 (OpenAI, Anthropic, Google, DeepSeek 등)
<br >
🔄 작동 방식 (How It Works)
🔬 분석 프로세스 (The Analysis Process)
사용자가 주식 분석을 시작하면, TradingGoose는 정교한 다중 에이전트 워크플로우를 오케스트레이션합니다:
<p>
<img alt="Analysis Flow" src="https://raw.githubusercontent.com/TradingGoose/TradingGoose.github.io/HEAD/public/analysis-flow.png" style="width:100%; max-width:700px; height:auto;">
</p>
참고: 이 워크플로우 아키텍처는 [TauricResearch/TradingAgents] 프레임워크에서 각색되었습니다.
<details>
<summary><strong >1. 📊 데이터 분석 단계 (Data Analysis Phase)</strong></summary>
⚠️ [IMG:N] 형식 토큰은 이미지 플레이스홀더입니다. 번역하지 말고 원래 위치에 그대로 유지하세요.
- 🌍 거시 경제 분석가 (Macro Analyst): 정부 데이터 및 경제 지표
- 📈 시장 분석가 (Market Analyst): 과거 데이터 및 기술적 지표
- 📰 뉴스 분석가 (News Analyst): 최신 뉴스 및 감성 분석(Sentiment Analysis)
- 💬 소셜 미디어 분석가 (Social Media Analyst): 소셜 플랫폼 트렌드 및 감성
- 💼 펀더멘털 분석가 (Fundamentals Analyst): 회사 재무제표 및 실적 보고서
- 🌡️ 리스크 분석 팀 (Risk Analyst Squad): 보수적(Conservative), 균형 잡힌(Balanced), 공격적(Aggressive) 관점에서의 위험 조정 통찰력
<details>
<summary><strong>2. 🧠 기회 합성 (Opportunity Synthesis)</strong></summary>
- 에이전트들이 협업하여 기회를 정교화합니다.
- 기회에는 확신 점수(Conviction Scores), 위험 요소 및 권장 조치가 포함됩니다.
- 포트폴리오 매니저가 현재 배분을 평가합니다.
</details>
<details>
<summary><strong>3. 💼 포트폴리오 매니저 실행 (Portfolio Manager Execution)</strong></summary>
- 제안된 거래를 포트폴리오 제약 조건과 검증합니다.
- 위험 및 분산화를 위해 포지션 크기를 조정합니다.
- Alpaca 실행을 위해 준비된 최종 주문을 생성합니다.
</details>
<details>
<summary><strong>4. 🔁 지속적 모니터링 (Continuous Monitoring)</strong></summary>
- 시장 변화 및 에이전트 상태를 추적합니다.
- 중단된 워크플로우(Workflow)를 감지하고 재시작을 트리거합니다.
- 실시간 진행 상황 업데이트를 제공합니다.
</details>
🚀 사용법 (Usage)
🧪 분석 실행하기 (Running an Analysis)
- 대시보드로 이동하여 **분석 실행(Run Analysis)**을 선택합니다.
- 티커를 선택하고 분석 매개변수를 구성합니다.
- 분석을 시작하고 실시간 에이전트 협업을 모니터링합니다.
- 생성된 통찰력(Insights), 위험 점수 및 권장 조치를 검토합니다.
- 실행 전에 제안된 거래를 승인하거나 조정합니다.
💼 포트폴리오 리밸런싱 (Portfolio Rebalancing)
- **설정(Settings) → 리밸런싱(Rebalancing)**으로 이동합니다.
- 리밸런싱 설정(포지션 크기, 임계값, 빈도)을 구성합니다.
- 자동 리밸런싱 일정을 잡거나 수동으로 트리거합니다.
- 실행 전에 제안된 변경 사항을 검토합니다.
- 리밸런싱 이력 및 성과를 추적합니다.
🔒 보안 고려 사항 (Security Considerations)
- 모든 API 키는 환경 변수(environment variables)에 암호화되어 저장됩니다.
- 데이터베이스 접근은 행 수준 보안(Row Level Security)을 통해 제어됩니다.
- 사용자 작업은 역할 기반 접근 통제(RBAC)를 통해 인증 및 권한 부여됩니다.
- 민감한 작업을 수행하려면 관리자 권한(admin privileges)이 필요합니다.
- 모든 거래는 테스트를 위해 모의 거래(paper trading) 모드에서 실행될 수 있습니다.
📄 라이선스 (License)
TradingGoose는 AGPL-3.0 라이선스(License) 하에 공개됩니다. 전체 약관은 LICENSE를 참조하십시오.
💬 지원 (Support)
문제, 질문 또는 제안 사항이 있는 경우:
🚀 자체 배포 (Self Deployment)
다음 워크플로우를 사용하여 자체 TradingGoose 인스턴스를 온라인으로 가져오십시오.
전제 조건 (Prerequisites)
- Supabase CLI (최신 버전)
- Node.js 18 이상
- npm 또는 pnpm
- Alpaca Markets 계정 (모의 거래 지원)
- Perplexica/Perplefina 인스턴스 또는 다른 호환 가능한 LLM 오케스트레이션 레이어
Perplefina 설정 (Perplefina Setup)
Perplefina는 TradingGoose가 시장 뉴스 및 웹 컨텍스트를 위해 의존하는 외부 리서치 레이어(external research layer)를 제공합니다. Supabase 엣지 함수(edge functions)가 접근할 수 있는 실행 중인 인스턴스가 필요합니다.
- Perplefina 클론 및 설치
git clone https://github.com/Trading-Goose/Perplefina.git
cd Perplefina
npm install
2. **제공업체 구성 (Configure providers)**
- [Perplefina 리포지토리](https://github.com/Trading-Goose/Perplefina)의 구성 지침을 따르십시오.
- 사용하려는 AI 모델(OpenAI, Anthropic, Google, DeepSeek 등)에 대한 API 키를 추가하십시오.
- 선호하는 웹 검색 제공업체 자격 증명(credentials)을 구성하십시오.
3. **Perplefina 공개 배포**
- Railway, Render, Fly.io 또는 다른 클라우드 호스트에 배포하고 공개 URL을 기록하십시오.
- 해당 URL이 인터넷에서 접근 가능한지 확인하십시오. Supabase 엣지 함수는 `localhost`에 접근할 수 없습니다.
4. **API 엔드포인트 기록**
- 이 URL은 Supabase 시크릿(secrets)을 설정할 때(`PERPLEFINA_API_URL`) 제공하게 됩니다.
### 백엔드 설정 (Backend Setup)
1. Supabase CLI를 설치하고 인증합니다:
```bash
npx supabase login
- 프로젝트를 Supabase 인스턴스에 연결합니다:
npx supabase link --project-ref your-project-ref
3. Perplefina URL을 포함하여 필요한 비밀(secrets)을 설정합니다:
```bash
npx supabase secrets set PERPLEFINA_API_URL=https://your-public-perplexica-url.com
- 다중 에이전트 워크플로우(multi-agent workflow)를 구동하는 엣지 함수(edge functions)를 배포합니다:
export SUPABASE_ACCESS_TOKEN=your-access-token-here
./deploy-functions.sh
### 프론트엔드 설정 (Frontend Setup)
1. 의존성(dependencies)을 설치합니다:
```bash
npm install
- 정적 사이트를 빌드합니다:
npm run build
3. `dist` 폴더를 로컬에서 서비스하거나 호스팅 제공업체에 배포합니다.
```bash
npm run dev # 개발용 서버 (hot reload 기능 포함)
npm run serve # dev 실행 후 빌드된 사이트 미리보기
개발 모드 (Development Mode)
Hot Reload를 위해:
애플리케이션은 http://localhost:8080에서 사용 가능합니다 (또는 터미널에 표시된 포트).
🚧 개발 (Development)