Skip to content

joocy75-hash/ai_Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Auto Dashboard - 암호화폐 자동 거래 시스템

Status License Docker

실전 매매 검증 완료 - Bitget 거래소 기반 암호화폐 선물 자동 거래 시스템


🎯 주요 기능

  • 실시간 자동 매매: Bitget USDT-M 선물 거래
  • 다중 전략 지원: Ultra Aggressive, MA Cross 등
  • 실시간 차트: Lightweight Charts 기반 차트 (줌 문제 해결 완료)
  • WebSocket 스트리밍: 실시간 시장 데이터 및 포지션 업데이트
  • 안전한 API 키 관리: Fernet 암호화 저장
  • 백테스팅: 과거 데이터 기반 전략 검증
  • 모니터링: Prometheus + Grafana 대시보드
  • 멀티봇 시스템: 사용자당 최대 5개 봇 동시 운용
  • 다중 거래소 지원: Bitget, Binance, OKX, Bybit, Gate.io
  • Trading 페이지 리디자인: Bitget 스타일 다크 테마

📊 시스템 아키텍처

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│   React     │────▶│   FastAPI    │────▶│ 5 Exchanges │
│  Frontend   │ WS  │   Backend    │ API │             │
└─────────────┘     └──────────────┘     └─────────────┘
                           │
                    ┌──────┴──────┐
                    │  PostgreSQL │
                    │   / SQLite  │
                    └─────────────┘

기술 스택

Backend

  • FastAPI 0.104+ (Python 3.11)
  • SQLAlchemy 2.0 (async)
  • 거래소: Bitget, Binance, OKX, Bybit, Gate.io (CCXT)
  • AI: Gemini (Primary), DeepSeek (Fallback)
  • JWT + Fernet 암호화
  • WebSocket (실시간 스트리밍)

Frontend

  • Next.js 14+ / React 18
  • Lightweight Charts API
  • TailwindCSS
  • WebSocket Client

Infrastructure

  • Docker + Docker Compose
  • PostgreSQL (운영) / SQLite (개발)
  • Redis (세션 관리)
  • Nginx (리버스 프록시)
  • Prometheus + Grafana (모니터링)

🚀 빠른 시작

방법 1: 자동 배포 스크립트 (권장)

# 1. 저장소 클론
git clone https://github.com/yourusername/auto-dashboard.git
cd auto-dashboard

# 2. 환경 변수 설정
cp .env.example .env
# .env 파일 편집하여 실제 값 입력

# 3. 배포 실행
./deploy.sh

스크립트가 다음 옵션을 제공합니다:

  1. 개발 환경 (SQLite, 로컬)
  2. Docker 운영 환경 (PostgreSQL)
  3. HTTPS 운영 환경 (Nginx + SSL)

방법 2: 수동 설정

개발 환경 (로컬)
# 백엔드
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

export DATABASE_URL="sqlite+aiosqlite:///./trading.db"
export ENCRYPTION_KEY="your-encryption-key"

uvicorn src.main:app --reload

# 프론트엔드 (새 터미널)
cd frontend
npm install
npm run dev

접속

Docker Compose 운영 환경
# 환경 변수 설정
cp .env.example .env
# ENCRYPTION_KEY, JWT_SECRET 등 설정

# Docker Compose 실행
docker-compose up -d

# 로그 확인
docker-compose logs -f backend

# Health Check
curl http://localhost:8000/health

포트


📁 프로젝트 구조

auto-dashboard/
├── backend/
│   ├── src/
│   │   ├── api/                  # REST API 엔드포인트
│   │   ├── services/
│   │   │   ├── bot_runner.py          # 봇 실행 엔진
│   │   │   ├── ccxt_price_collector.py # 시장 데이터 수집
│   │   │   ├── bitget_rest.py         # Bitget API 클라이언트
│   │   │   └── chart_data_service.py  # 차트 서비스
│   │   ├── strategies/           # 트레이딩 전략
│   │   │   ├── ultra_aggressive_strategy.py
│   │   │   ├── aggressive_test_strategy.py
│   │   │   └── ma_cross_strategy.py
│   │   ├── database/             # DB 모델
│   │   └── main.py               # FastAPI 앱
│   ├── scripts/
│   │   ├── migrate_sqlite_to_postgres.py  # DB 마이그레이션
│   │   └── emergency_stop_all.py          # 긴급 정지
│   └── Dockerfile
├── frontend/
│   ├── src/
│   │   ├── components/
│   │   │   └── TradingChart.jsx  # Lightweight Charts (줌 수정 완료)
│   │   ├── pages/
│   │   └── services/
│   └── Dockerfile
├── nginx/
│   └── nginx.conf                # 리버스 프록시 설정
├── monitoring/
│   ├── prometheus.yml            # Prometheus 설정
│   └── grafana/                  # Grafana 대시보드
├── docker-compose.yml            # 메인 Docker Compose
├── docker-compose.monitoring.yml # 모니터링 스택
├── deploy.sh                     # 자동 배포 스크립트
└── .env.example                  # 환경 변수 예제

📚 주요 문서

🚀 시작 가이드

문서 설명
QUICK_START.md 5분 안에 시작하기 - 가장 먼저 읽으세요!
HANDOVER_FINAL.md 최종 인수인계 문서 - 전체 프로젝트 이해
PROJECT_COMPLETION_SUMMARY.md 완료된 작업 요약

📋 작업 문서

문서 설명
REMAINING_TASKS.md 전체 작업 목록 및 상세 가이드
ADMIN_TABLE_FORMAT.md 관리자 대시보드 테이블 형식
ADMIN_TABS_COMPLETE.md 관리자 탭 구현

🔧 운영 문서

문서 설명
PRODUCTION_READY_SUMMARY.md 실전 검증 결과 및 시스템 요약
DEPLOYMENT_CHECKLIST.md 배포 체크리스트
REAL_TRADING_SETUP.md 실전 거래 설정
ORDER_EXECUTION_DIAGNOSIS.md 디버깅 가이드

✅ 완료된 작업

핵심 기능

  • Bitget 거래소 통합 (CCXT)
  • 실시간 시장 데이터 수집 (5초 간격)
  • 트레이딩 봇 엔진
  • 다중 전략 지원
  • 실시간 차트 (Y축 스케일링 문제 해결)
  • WebSocket 스트리밍
  • 주문 실행 및 포지션 관리
  • 백테스팅 시스템
  • 멀티봇 시스템 (사용자당 5개 봇)
  • 다중 거래소 지원 (5개 거래소)
  • Trading 페이지 리디자인 (Bitget 스타일)
  • FinBERT 감성 분석 통합 (선택적)

보안 & 인증

  • JWT 인증
  • API 키 Fernet 암호화
  • HTTPS 지원 (Nginx)
  • Rate Limiting

인프라

  • Docker / Docker Compose
  • PostgreSQL 지원
  • Redis 세션 관리
  • Prometheus + Grafana 모니터링
  • 자동 배포 스크립트
  • 긴급 정지 스크립트
  • DB 마이그레이션 도구

실전 검증

  • 실제 거래 체결 성공 (ETH SHORT 0.02 @ $3,056.37)
  • Mock 데이터 완전 제거
  • 차트 서비스 복구 (분리된 큐)

🎯 실전 매매 결과

2025-12-03 검증 완료

거래소: Bitget Futures
심볼: ETH/USDT:USDT
포지션: SHORT
수량: 0.02 ETH (~$61)
진입가: $3,056.37
주문 ID: 1380021839811223553
실행 시간: 2025-12-03 16:59:26 KST
상태: ✅ 성공

시스템 상태

  • 봇 상태: ✅ 정상 작동
  • 시장 데이터: ✅ 5초마다 수신
  • 전략 실행: ✅ Ultra Aggressive (90% 신뢰도)
  • 차트 서비스: ✅ 실시간 업데이트

🔧 고급 기능

PostgreSQL 마이그레이션

export POSTGRES_URL="postgresql+asyncpg://user:password@localhost/trading_prod"
python3 backend/scripts/migrate_sqlite_to_postgres.py

모니터링 활성화

docker-compose -f docker-compose.yml -f docker-compose.monitoring.yml up -d

# Grafana 접속
open http://localhost:3001
# ID: admin / PW: admin

긴급 정지

# 모든 봇 정지 (시뮬레이션)
python3 backend/scripts/emergency_stop_all.py --dry-run

# 실제 정지
python3 backend/scripts/emergency_stop_all.py

# 특정 사용자만 정지
python3 backend/scripts/emergency_stop_all.py --user-id 6

🤖 에이전트 (MVP)

로컬 실행

# 개발 보조 에이전트
python -m tools.agents dev --report-dir tools/agents/reports

# CI/테스트 에이전트
python -m tools.agents ci --report-dir tools/agents/reports

# 운영 자동화 에이전트 (로그 기반)
python -m tools.agents ops --log ./backend_local.log --since 10 --health-url http://localhost:8000/health

# 안전 조치 실행 (가드레일 필요)
OPS_AGENT_EXECUTE=true OPS_AGENT_APPROVAL_TOKEN=change-me \\
  python -m tools.agents ops --log ./backend_local.log --execute --execute-action validate_env --approval-token change-me

필요한 환경 변수 (예시)

# 운영 에이전트 실행 모드 가드레일 (기본 false)
OPS_AGENT_EXECUTE=false
OPS_AGENT_APPROVAL_TOKEN=change-me

# 쿠키 설정 (보안 개선 시)
COOKIE_DOMAIN=example.com
COOKIE_SAMESITE=lax
COOKIE_SECURE=true

AI/ML/전략 구성도 (백엔드 매핑)

전략 로딩/실행

  • 전략 로더: backend/src/services/strategy_loader.py
  • 전략 구현: backend/src/strategies/ (AI/자율 전략 포함)
  • 기본 전략 모듈: backend/src/services/strategies/
  • 동적 전략 실행기: backend/src/strategies/dynamic_strategy_executor.py

AI 에이전트 (매매 의사결정 보조)

  • 공통 베이스/모델: backend/src/agents/base.py, backend/src/agents/models.py
  • 오케스트레이터: backend/src/agents/orchestrator/orchestrator.py
  • MarketRegimeAgent: backend/src/agents/market_regime/agent.py
  • SignalValidatorAgent: backend/src/agents/signal_validator/agent.py
  • RiskMonitorAgent: backend/src/agents/risk_monitor/agent.py
  • AnomalyDetectionAgent: backend/src/agents/anomaly_detector/agent.py
  • PortfolioOptimizationAgent: backend/src/agents/portfolio_optimizer/agent.py
  • MLPredictorAgent: backend/src/agents/ml_predictor/agent.py
  • 에이전트 API: backend/src/api/agent_orchestration.py

ML 파이프라인

  • 피처 파이프라인: backend/src/ml/features/feature_pipeline.py
  • 피처 계산: backend/src/ml/features/technical_features.py, backend/src/ml/features/structure_features.py, backend/src/ml/features/mtf_features.py
  • 모델 앙상블: backend/src/ml/models/ensemble_predictor.py
  • 학습/라벨링/데이터 수집: backend/src/ml/training/train_all_models.py, backend/src/ml/training/labeler.py, backend/src/ml/training/data_collector.py
  • 검증/백테스트/AB 테스트: backend/src/ml/validation/backtester.py, backend/src/ml/validation/ab_tester.py
  • 모니터링/알림: backend/src/ml/monitoring/metrics_collector.py, backend/src/ml/monitoring/alerter.py
  • 모델/데이터 저장: backend/src/ml/saved_models/, backend/src/ml/data/

AI/LLM 서비스

  • 통합 AI 서비스: backend/src/services/ai_optimization/integrated_ai_service.py
  • DeepSeek 전용: backend/src/services/deepseek_service.py
  • AI 전략 API: backend/src/api/ai_strategy.py
  • AI 비용/최적화 API: backend/src/api/ai_cost.py

테스트/CI 실행

# 에이전트 테스트 (MVP)
python -m pytest tools/tests

# CI 파이프라인 로컬 실행
python -m tools.agents ci --report-dir tools/agents/reports

# Ruff/Black 체크 (에이전트 범위)
python -m ruff check tools/agents tools/tests
python -m black --check tools/agents tools/tests

운영 에이전트 정책

  • 주문(매수/매도) 실행 금지: ops_agent는 주문 실행을 직접 호출하지 않습니다.
  • execute 모드 가드레일: OPS_AGENT_EXECUTE=true + --execute 옵션이 있어야만 실행 모드가 활성화됩니다.
  • MVP에서는 execute 모드에서도 안전 조치만 제안하며, 실제 실행은 추후 승인 플로우를 붙이도록 설계되어 있습니다.

🐛 문제 해결

차트가 업데이트 안 됨

# WebSocket 연결 확인
wscat -c ws://localhost:8000/ws/user/6?token=YOUR_TOKEN

# 시장 데이터 수신 확인
docker-compose logs backend | grep "Market data"

주문 실행 실패

# API 키 확인
curl http://localhost:8000/account/balance \
  -H "Authorization: Bearer YOUR_TOKEN"

# 봇 상태 확인
curl http://localhost:8000/bot/status \
  -H "Authorization: Bearer YOUR_TOKEN"

로그 확인

# Docker 로그
docker-compose logs -f backend | grep ERROR

# 최근 에러
tail -100 /tmp/trading_bot.log | grep -E "(ERROR|CRITICAL)"

🔐 보안 고려사항

현재 보안 수준

  1. ✅ API 키 암호화 (Fernet)
  2. ✅ JWT 인증
  3. ✅ HTTPS 지원 (Nginx + Let's Encrypt)
  4. ✅ Rate Limiting
  5. ✅ 비루트 Docker 사용자

추가 권장사항

  • IP 화이트리스트
  • 2FA 인증
  • 감사 로그
  • 봇 일일 손실 제한
  • Fail2ban

📊 성능 지표

현재 성능

  • 시장 데이터 업데이트: 5초
  • 전략 실행 속도: ~5ms
  • 주문 실행 시간: ~100ms
  • WebSocket 지연: <50ms
  • 동시 접속: 20명

확장성

현재 (SQLite):
- 동시 사용자: ~20명
- TPS: ~100

PostgreSQL 전환 시:
- 동시 사용자: ~200명
- TPS: ~1000+

🎯 로드맵

Phase 1: 안정화 (1-2주)

  • 실전 거래 모니터링
  • 버그 수정
  • 사용자 피드백 반영

Phase 2: 확장 (1개월)

  • 다중 거래소 지원 (Binance, Bybit) - 완료 (+ OKX, Gate.io 추가)
  • 고급 전략 추가
  • 모바일 앱

Phase 3: 엔터프라이즈 (2-3개월)

  • 소셜 트레이딩
  • API 제공
  • 백테스팅 엔진 개선
  • AI 기반 전략

📞 지원


⚠️ 면책 조항

이 시스템은 실제 자금으로 거래합니다.

  • 암호화폐 거래는 높은 리스크를 동반합니다
  • 모든 투자 결정은 사용자 본인의 책임입니다
  • 충분한 테스트 없이 실전 매매를 시작하지 마세요
  • 손실 가능한 금액만 투자하세요

📜 라이선스

MIT License - 자유롭게 사용, 수정, 배포 가능


작성자: Claude Code 버전: 2.5.0 마지막 업데이트: 2026-01-12 상태: ✅ Production Ready + Performance Optimized


🆕 최신 업데이트 (2026-01)

멀티봇 시스템 v2.0 (100% 완료)

  • ✅ 사용자당 최대 5개 봇 동시 운용
  • ✅ 봇별 독립 수익률 추적
  • ✅ 잔고 초과만 체크 (40% 한도 제거)

다중 거래소 지원 (100% 완료)

  • ✅ Bitget, Binance, OKX, Bybit, Gate.io
  • ✅ REST API + WebSocket 지원
  • ✅ 거래소별 Passphrase 처리

Trading 페이지 리디자인 (96% 완료)

  • ✅ Bitget 스타일 다크 테마
  • ✅ 실시간 차트 개선
  • ✅ 포지션 관리 UI 개선

FinBERT 감성 분석 (70% 완료)

  • ✅ SentimentAnalyzerAgent 구현
  • ✅ ETH AI Fusion Strategy 통합
  • ⏳ CryptoPanic API 연동 대기

🆕 최신 업데이트 (2025-12-04)

Phase 1-4 완료 (100%)

프론트엔드 성능 최적화:

  • ✅ Rate Limiting 클라이언트 구현
  • ✅ 청산가 계산 고도화 (Bitget 기준)
  • ✅ ErrorBoundary 추가 (12개 컴포넌트)
  • ✅ React.memo 성능 최적화 (4개 컴포넌트)
  • ✅ 접근성 개선 (ARIA 레이블)

백엔드 고도화:

  • ✅ 리스크 설정 API
  • ✅ 비밀번호 변경 API
  • ✅ Signal Tracking 시스템
  • ✅ Bitget API 에러 처리 개선
  • ✅ Input Validation 강화
  • ✅ WebSocket 관리 개선
  • ✅ Redis Caching Layer
  • ✅ 구조화된 Logging

자세한 내용: PROJECT_COMPLETION_SUMMARY.md 참조


🧭 작업 기록 (ETH AI Fusion 전략 교체)

목표

  • 기존 전략 전면 제거
  • ETH/USDT 5m 기준 24시간 공격적 진입 + 수익 추매 + 보수적 손절
  • ML 기반 신호 강화 + 기존 에이전트 파이프라인 유지

삭제된 전략/모듈

  • backend/src/strategies/adaptive_market_regime_fighter.py
  • backend/src/strategies/ai_autonomous_adaptive_strategy.py
  • backend/src/strategies/ai_integrated_smart_strategy.py
  • backend/src/strategies/autonomous_30pct_strategy.py
  • backend/src/strategies/dynamic_strategy_executor.py
  • backend/src/strategies/eth_ai_autonomous_40pct_strategy.py
  • backend/src/strategies/proven_conservative_strategy.py
  • backend/src/strategies/sol_volatility_regime_15m_strategy.py
  • backend/src/services/strategies/ai_strategies.py
  • backend/src/services/strategies/ema_strategy.py
  • backend/src/services/strategies/rsi_strategy.py
  • backend/src/services/strategies/simple_open_close.py

신규/변경 파일

  • backend/src/strategies/eth_ai_fusion_strategy.py (메인 전략)
  • backend/src/services/strategies/eth_ai_fusion.py (백테스트용 전략)
  • backend/src/strategies/__init__.py (전략 코드 단일화: eth_ai_fusion)
  • backend/src/services/strategy_loader.py (레거시 코드 → eth_ai_fusion 매핑)
  • backend/src/services/strategy_engine.py (legacy 엔진은 hold 기본 반환)
  • backend/src/services/strategies/registry.py (백테스트 전략 단일 반환)
  • backend/src/services/backtest_engine.py (기본 전략 교체)
  • backend/src/api/backtest.py (기본 전략 코드: eth_ai_fusion)
  • backend/src/api/strategy.py (모든 type → eth_ai_fusion 매핑)
  • backend/src/services/bot_isolation_manager.py (추매 시 포지션 업데이트)
  • backend/src/services/bot_runner.py (ETH/USDT + 5m 기본값, 추매 로직 추가)

전략 로직 요약 (ETH AI Fusion)

  • 진입 기준: EMA(9/21) 방향, RSI(14), MACD 히스토그램, 거래량 비율 점수화. 점수 ≥ 4 및 방향 우세 시 진입
  • ML 게이트: FeaturePipeline + EnsemblePredictor 사용. should_skip_entry 또는 방향 불일치/타이밍 불량 시 진입 차단
  • 보수적 손절/익절: ATR% 기반 SL/TP (SL: 0.61.6%, ML 신뢰도 높으면 최대 1.8%), TP: 1.24.5%
  • 트레일링: 최대 수익이 TP 도달 시, max(stop_loss, max_profit*0.5) 기준으로 이익 보호 청산
  • 추매(수익 구간): 0.8% 단위 수익 구간 도달 시 최대 3회, 현재 포지션의 35% 규모로 추가 진입
    • RSI 과열/과매도, EMA/MACD 반전, ML 방향 불일치 시 추매 차단

에이전트/ML 조합 위치

  • 에이전트 파이프라인은 backend/src/services/bot_runner.py에서 유지
    (MarketRegimeAgent → SignalValidatorAgent → RiskMonitorAgent)
  • ML은 전략 내부에서 FeaturePipeline/EnsemblePredictor로 사용

전략 코드 매핑

  • backend/src/services/strategy_loader.py에서 기존 코드 전부 eth_ai_fusion으로 매핑
  • backend/src/api/strategy.py의 type 매핑도 모두 eth_ai_fusion으로 통일

롤백 방법

  • 배포 실패 시 수동 롤백(워크플로우 안내와 동일)
    • docker tag groupc-backend:rollback groupc-backend:latest
    • docker tag groupc-frontend:rollback groupc-frontend:latest
    • docker compose -f docker-compose.production.yml up -d

배포 참고

  • deploy-production.yml**.md 변경을 배포 트리거에서 제외
  • 배포는 workflow_dispatch(수동 실행)로 진행

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors