Files
DinQuant/README_KO.md
T
TIANHE 0fbee21c57 new
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
2026-01-14 21:49:45 +08:00

25 KiB
Raw Blame History


QuantDinger Logo

QuantDinger

차세대 AI 퀀트 트레이딩 플랫폼

🤖 AI 네이티브 · 🐍 비주얼 파이썬 · 🌍 글로벌 멀티 마켓 · 🔒 프라이버시 우선

AI 코파일럿과 함께하는 구축, 백테스팅 및 트레이딩 플랫폼. PineScript보다 강력하고, SaaS보다 똑똑합니다.

공식 커뮤니티 · 라이브 데모 · 📺 동영상 데모 · 🌟 참여하기

License Python Vue Docker Stars

Telegram Group Discord X


📖 소개

QuantDinger란 무엇인가요?

QuantDinger는 로컬 우선, 프라이버시 우선의 셀프 호스팅 정량 거래 인프라입니다. 귀하의 머신/서버에서 실행되며, PostgreSQL 기반 멀티 유저 계정을 제공하면서도 전략, 거래 데이터 및 API 키를 완전히 제어할 수 있습니다.

왜 로컬 우선인가요?

데이터와 전략을 클라우드에 잠그는 SaaS 플랫폼과 달리, QuantDinger는 로컬에서 실행됩니다. 귀하의 전략, 거래 로그, API 키 및 분석 결과는 모두 귀하의 머신에 저장됩니다. 벤더 잠금 없음, 구독료 없음, 데이터 유출 없음.

누구를 위한 것인가요?

QuantDinger는 다음을 위한 사용자를 위해 구축되었습니다:

  • 데이터 주권과 프라이버시를 중시하는 트레이더, 연구원 및 엔지니어
  • 투명하고 감사 가능한 거래 인프라를 원하는 사람
  • 마케팅보다 엔지니어링을 선호하는 사람
  • 완전한 워크플로우가 필요한 사람: 데이터, 분석, 백테스팅 및 실행

핵심 기능

QuantDinger는 웹에서 금융 정보를 수집하고, 로컬 시장 데이터와 결합하여 분석 보고서를 생성하는 내장 LLM 기반 멀티 에이전트 리서치 시스템을 포함합니다. 이것은 전략 개발, 백테스팅 및 실거래 워크플로우와 통합됩니다.

핵심 가치

  • 🔓 Apache 2.0 오픈소스(코드): 허용적이며 상업적으로 친화적입니다. Apache 2.0 범위에서 fork/수정이 가능하지만, 라이선스/저작권 고지 등 필요한 표기는 유지해야 합니다.
  • 🐍 파이썬 네이티브 & 비주얼: 표준 파이썬으로 지표를 작성(PineScript보다 쉬움)하고 AI의 지원을 받으세요. 차트에서 신호를 직접 시각화하여 "로컬 버전의 TradingView" 경험을 구축하세요.
  • 🤖 AI 루프 최적화: 전략을 실행할 뿐만 아니라, AI가 백테스트 결과를 분석하여 매개변수 조정(손절매/이익실현/MACD 설정)을 제안하고 폐루프 최적화를 형성합니다.
  • 🌍 글로벌 마켓 액세스: 암호화폐(실거래), 미국/중국 주식, 외환 및 선물(데이터/알림)을 지원하는 통합 시스템.
  • Docker & 클린 아키텍처: 4줄 명령어로 빠른 배포. 모던 기술 스택(Vue + Python), 클린 아키텍처, 관심사 분리.

📺 동영상 데모

QuantDinger 프로젝트 소개 동영상

위 동영상을 클릭하여 QuantDinger 프로젝트 소개를 시청하세요


📚 문서

개발 가이드

알림 설정

📸 비주얼 투어

📊 전문 퀀트 대시보드

시장 역학, 자산 및 전략 상태에 대한 실시간 모니터링.

QuantDinger Dashboard

🤖 AI 딥 리서치

시장 심리 및 기술적 분석을 위한 멀티 에이전트 협업.

AI Market Analysis

💬 스마트 트레이딩 어시스턴트

즉각적인 시장 통찰력을 위한 자연어 인터페이스.

Trading Assistant

📈 대화형 지표 분석

드래그 앤 드롭 분석이 가능한 풍부한 기술적 지표 라이브러리.

Indicator Analysis

🐍 Python 전략 생성

AI 지원 전략 코딩이 가능한 내장 에디터.

Code Generation

📊 포트폴리오 모니터

포지션 추적, 알림 설정, 이메일/Telegram으로 AI 분석 보고서 수신.

Portfolio Monitor

주요 기능

1. 비주얼 파이썬 전략 워크벤치

PineScript보다 강력하고, SaaS보다 똑똑합니다.

  • 파이썬 네이티브: 파이썬으로 지표와 전략을 작성하세요. PineScript와 같은 전용 언어 대신 완전한 파이썬 생태계(Pandas, Numpy, TA-Lib)를 활용하세요.
  • "Mini-TradingView" 경험: 내장된 K-라인 차트에서 파이썬 지표를 직접 실행하세요. 과거 데이터에서 매수/매도 신호를 시각적으로 디버깅하세요.
  • AI 지원 코딩: 내장 AI가 복잡한 로직을 작성하도록 하세요. 아이디어에서 코드까지 단 몇 초면 됩니다.

2. 완전한 거래 라이프사이클

지표에서 실행까지, 매끄럽게.

  1. 지표: 시장 진입/청산 신호를 정의하세요.
  2. 전략 설정: 위험 관리 규칙(포지션 사이징, 손절매, 이익실현)을 추가하세요.
  3. 백테스트 & AI 최적화: 백테스트를 실행하고, 풍부한 성과 지표를 확인하며, AI가 결과를 분석하여 개선 사항을 제안하도록 하세요(예: "MACD 임계값을 X로 조정").
  4. 실행 모드:
    • 실거래:
      • 암호화폐: 직접 API 실행, 10개 이상의 거래소(Binance, OKX, Bitget, Bybit 등) 지원
      • 미국/홍콩 주식: Interactive Brokers (IBKR) 경유 🆕
      • 외환: MetaTrader 5 (MT5) 경유 🆕
    • 신호 알림: 실거래를 지원하지 않는 시장(A주/선물)의 경우, Telegram, Discord, Email, SMS 또는 Webhook을 통해 신호를 전송하세요.

3. AI 멀티 에이전트 리서치

연중무휴 24시간 AI 투자 위원회.

시스템은 전략의 2차 필터 역할을 하는 멀티 에이전트 팀을 고용합니다:

  • 리서치 에이전트: 웹 뉴스 및 거시적 이벤트(Google/Bing)를 수집합니다.
  • 분석 에이전트: 기술적 지표 및 자금 흐름을 분석합니다.
  • 전략 통합: AI의 판단을 "시장 필터"로 사용할 수 있습니다. AI의 심리가 일치할 때만 전략 거래를 허용합니다(예: "AI 리스크 분석가가 거시적 리스크가 높다고 판단하면 매수하지 않음").

4. 범용 데이터 엔진

QuantDinger는 여러 시장에 걸친 통합 데이터 인터페이스를 제공합니다:

  • 암호화폐: 거래를 위한 직접 API 연결(10개 이상의 거래소)및 시장 데이터를 위한 CCXT 통합(100개 이상의 소스)
  • 주식: Yahoo Finance, Finnhub, Tiingo(미국 주식)및 AkShare(중국/홍콩 주식)
  • 선물/외환: OANDA 및 주요 선물 데이터 소스
  • 프록시 지원: 제한된 네트워크 환경을 위한 내장 프록시 구성

5. 🧠 메모리 증강 에이전트(Memory-Augmented Agents)

QuantDinger의 에이전트는 매번 “처음부터” 시작하지 않습니다. 백엔드에는 로컬 메모리 DB + 리플렉션(검증) 루프가 내장되어 있어, 과거 경험을 검색해 system prompt에 주입하는 RAG 스타일의 강화가 동작합니다.

  • 무엇인가: 경험 검색 기반 프롬프트 강화(모델 파인튜닝/학습이 아님)
  • 저장 위치: 로컬 SQLite (backend_api_python/data/memory/)

흐름도(요청 → 메모리 폐루프)

flowchart TB
    %% ===== 🌐 진입 레이어 =====
    subgraph Entry["🌐 API 진입점"]
        A["📡 POST /api/analysis/multi"]
        A2["🔄 POST /api/analysis/reflect"]
    end

    %% ===== ⚙️ 서비스 레이어 =====
    subgraph Service["⚙️ 서비스 오케스트레이션"]
        B[AnalysisService]
        C[AgentCoordinator]
        D["📊 컨텍스트 구성<br/>price · kline · news · indicators"]
    end

    %% ===== 🤖 멀티에이전트 워크플로우 =====
    subgraph Agents["🤖 멀티에이전트 워크플로우"]

        subgraph P1["📈 Phase 1 · 다차원 분석(병렬)"]
            E1["🔍 MarketAnalyst<br/><i>기술적 분석</i>"]
            E2["📑 FundamentalAnalyst<br/><i>펀더멘털</i>"]
            E3["📰 NewsAnalyst<br/><i>뉴스</i>"]
            E4["💭 SentimentAnalyst<br/><i>심리</i>"]
            E5["⚠️ RiskAnalyst<br/><i>리스크 평가</i>"]
        end

        subgraph P2["🎯 Phase 2 · 강세/약세 논쟁(병렬)"]
            F1["🐂 BullResearcher<br/><i>강세 논거</i>"]
            F2["🐻 BearResearcher<br/><i>약세 논거</i>"]
        end

        subgraph P3["💹 Phase 3 · 거래 결정"]
            G["🎰 TraderAgent<br/><i>종합 판단 → BUY / SELL / HOLD</i>"]
        end

    end

    %% ===== 🧠 메모리 레이어 =====
    subgraph Memory["🧠 로컬 SQLite 메모리(data/memory/"]
        M1[("market_analyst")]
        M2[("fundamental")]
        M3[("news_analyst")]
        M4[("sentiment")]
        M5[("risk_analyst")]
        M6[("bull_researcher")]
        M7[("bear_researcher")]
        M8[("trader_agent")]
    end

    %% ===== 🔄 리플렉션 루프 =====
    subgraph Reflect["🔄 리플렉션 루프(옵션)"]
        R[ReflectionService]
        RR[("reflection_records.db")]
        W["⏰ ReflectionWorker"]
    end

    %% ===== 메인 흐름 =====
    A --> B --> C --> D
    D --> P1 --> P2 --> P3

    %% ===== 메모리 읽기/쓰기 =====
    E1 <-.-> M1
    E2 <-.-> M2
    E3 <-.-> M3
    E4 <-.-> M4
    E5 <-.-> M5
    F1 <-.-> M6
    F2 <-.-> M7
    G <-.-> M8

    %% ===== 리플렉션 흐름 =====
    C --> R --> RR
    W --> RR
    W -.->|"검증 + 학습"| M8
    A2 -.->|"수동 회고"| M8

검색 랭킹(간략)

[ score = w_{sim}\cdot sim + w_{recency}\cdot recency + w_{returns}\cdot returns_score ]

학습 경로

  • 수동 회고(추천): POST /api/analysis/reflect로 실제 결과(returns/result)를 메모리에 기록
  • 자동 검증(옵션): ENABLE_REFLECTION_WORKER=true, REFLECTION_WORKER_INTERVAL_SEC로 주기적 검증→메모리 반영

주요 환경 변수(.env)

  • ENABLE_AGENT_MEMORY, AGENT_MEMORY_TOP_K, AGENT_MEMORY_CANDIDATE_LIMIT
  • AGENT_MEMORY_ENABLE_VECTOR, AGENT_MEMORY_EMBEDDING_DIM
  • AGENT_MEMORY_HALF_LIFE_DAYS, AGENT_MEMORY_W_SIM, AGENT_MEMORY_W_RECENCY, AGENT_MEMORY_W_RETURNS
  • ENABLE_REFLECTION_WORKER, REFLECTION_WORKER_INTERVAL_SEC

6. 전략 런타임

  • 스레드 기반 실행기: 전략 실행을 위한 독립적인 스레드 풀
  • 자동 복구: 시스템 재시작 후 실행 중인 전략 재개
  • 주문 대기열: 주문 실행을 위한 백그라운드 워커

7. 기술 스택

  • 백엔드: Python (Flask) + SQLite + Redis(옵션)
  • 프론트엔드: Vue 2 + Ant Design Vue + KlineCharts/ECharts
  • 배포: Docker Compose

🔌 지원되는 거래소 및 브로커

QuantDinger는 다양한 시장 유형에 대해 여러 실행 방법을 지원합니다:

암호화폐 거래소(직접 API)

거래소 시장
Binance 현물, 선물, 마진
OKX 현물, 무기한, 옵션
Bitget 현물, 선물, 카피 트레이딩
Bybit 현물, 선형 선물
Coinbase Exchange 현물
Kraken 현물, 선물
KuCoin 현물, 선물
Gate.io 현물, 선물
Bitfinex 현물, 파생상품

전통적인 브로커

브로커 시장 플랫폼
Interactive Brokers (IBKR) 미국 주식, 홍콩 주식 TWS / IB Gateway 🆕
MetaTrader 5 (MT5) 외환 MT5 터미널 🆕

시장 데이터(CCXT 경유)

Bybit, Gate.io, Kraken, KuCoin, HTX 및 100개 이상의 기타 거래소가 시장 데이터용으로 지원됩니다.


다국어 지원

QuantDinger는 포괄적인 국제화를 통해 글로벌 사용자를 위해 구축되었습니다:

English Simplified Chinese Traditional Chinese Japanese Korean German French Thai Vietnamese Arabic

모든 UI 요소, 오류 메시지 및 문서는 완벽하게 번역되어 있습니다. 언어는 브라우저 설정에 따라 자동으로 감지되거나 앱에서 수동으로 전환할 수 있습니다.


지원되는 시장

시장 유형 데이터 소스 거래
암호화폐 Binance, OKX, Bitget, + 100 거래소 완전 지원
미국 주식 Yahoo Finance, Finnhub, Tiingo IBKR 경유 🆕
홍콩 주식 AkShare, East Money IBKR 경유 🆕
중국 주식(A주) AkShare, East Money 데이터만
외환 Finnhub, OANDA MT5 경유 🆕
선물 거래소 API, AkShare 데이터만

아키텍처 (현재 레포지토리)

┌─────────────────────────────┐
│      quantdinger_vue         │
│   (Vue 2 + Ant Design Vue)   │
└──────────────┬──────────────┘
               │  HTTP (/api/*)
               ▼
┌─────────────────────────────┐
│     backend_api_python       │
│   (Flask + 전략 런타임)      │
└──────────────┬──────────────┘
               │
               ├─ SQLite (quantdinger.db)
               ├─ Redis (옵션 캐시)
               └─ 데이터 제공자 / LLMs / 거래소

레포지토리 구조

.
├─ backend_api_python/         # Flask API + AI + 백테스트 + 전략 런타임
│  ├─ app/
│  ├─ env.example              # 로컬 구성을 위해 .env로 복사
│  ├─ requirements.txt
│  └─ run.py                   # 엔트리 포인트
└─ quantdinger_vue/            # Vue 2 UI (개발 서버는 /api를 백엔드로 프록시)

빠른 시작

옵션 1: Docker 배포 (권장)

QuantDinger를 실행하는 가장 빠른 방법입니다.

1. 원클릭 시작

Linux / macOS

git clone https://github.com/brokermr810/QuantDinger.git && \
cd QuantDinger && \
cp backend_api_python/env.example backend_api_python/.env && \
docker-compose up -d --build

Windows (PowerShell)

git clone https://github.com/brokermr810/QuantDinger.git
cd QuantDinger
Copy-Item backend_api_python\env.example -Destination backend_api_python\.env
docker-compose up -d --build

2. 접속 및 구성

참고: AI 기능이나 프로덕션 환경의 보안을 위해, backend_api_python/.env를 편집하여( OPENROUTER_API_KEY 추가, 비밀번호 변경) docker-compose restart backend로 서비스를 재시작하십시오.

3. 애플리케이션 액세스

Docker 명령 참조

# 실행 상태 보기
docker-compose ps

# 로그 보기
docker-compose logs -f

# 서비스 중지
docker-compose down

# 볼륨 중지 및 제거 (경고: 데이터베이스가 삭제됩니다!)
docker-compose down -v

데이터 지속성

다음 데이터는 호스트에 마운트되며 컨테이너 재시작 후에도 유지됩니다:

volumes:
  - ./backend_api_python/logs:/app/logs                       # 로그
  - ./backend_api_python/data:/app/data                       # 데이터 디렉토리(quantdinger.db 포함)
  - ./backend_api_python/.env:/app/.env                       # 구성 파일

옵션 2: 로컬 개발

전제 조건

  • Python 3.10+ 권장
  • Node.js 16+ 권장

1. 백엔드 시작 (Flask API)

cd backend_api_python
pip install -r requirements.txt
cp env.example .env   # Windows: copy env.example .env
python run.py

백엔드는 http://localhost:5000에서 사용할 수 있습니다.

2. 프론트엔드 시작 (Vue UI)

cd quantdinger_vue
npm install
npm run serve

프론트엔드 개발 서버는 http://localhost:8000에서 실행되며 /api/*http://localhost:5000으로 프록시합니다.


구성 (.env)

backend_api_python/env.example을 템플릿으로 사용하십시오. 일반적인 설정은 다음과 같습니다:

  • 인증: SECRET_KEY, ADMIN_USER, ADMIN_PASSWORD
  • 서버: PYTHON_API_HOST, PYTHON_API_PORT, PYTHON_API_DEBUG
  • AI / LLM: OPENROUTER_API_KEY, OPENROUTER_MODEL
  • 웹 검색: SEARCH_PROVIDER, SEARCH_GOOGLE_*, SEARCH_BING_API_KEY
  • 프록시 (옵션): PROXY_PORT 또는 PROXY_URL

🤝 커뮤니티 및 지원


💼 상용 라이선스 & 스폰서(Commercial License & Sponsorship)

QuantDinger의 코드는 Apache License 2.0으로 제공됩니다. 다만 Apache 2.0은 상표권을 부여하지 않습니다. QuantDinger의 이름/로고/브랜딩은 상표 및 브랜드 정책의 적용을 받으며(코드 라이선스와 별개):

  • 저작권/표기: LICENSE/NOTICE 등 필요한 저작권·라이선스 고지는 유지해야 합니다.
  • 상표(이름/로고/브랜딩): QuantDinger의 이름/로고/브랜딩을 사용해 출처를 오인시키거나 보증(endorsement)을 암시해서는 안 됩니다. 수정 버전을 재배포할 때는 서면 허가가 없는 한 QuantDinger 브랜딩을 제거/대체해야 할 수 있습니다.

재배포물에서 QuantDinger 브랜딩을 유지/수정하고 싶다면(UI 로고 사용 포함) 상용 라이선스를 문의해 주세요.

참고: TRADEMARKS.md

상용 라이선스로 제공되는 것

  • 합의된 범위 내 브랜딩/표시의 상용 허가
  • 운영 지원: 배포, 업그레이드, 장애 대응, 유지보수 가이드
  • 컨설팅: 아키텍처 리뷰, 성능 튜닝, 전략 워크플로우 컨설팅
  • 스폰서 옵션: 스폰서로서 로고/광고 노출(README/웹사이트/앱 내 등 합의에 따름)

연락처


💼 거래소 파트너(어필리에이트 링크)

파트너 링크를 사용하면 동일한 거래 경험을 즐기면서 QuantDinger의 개발을 지원할 수 있습니다.

Binance

세계 최대 암호화폐 거래소
현물 • 선물 • 마진 거래
OKX

주요 파생상품 플랫폼
현물 • 영구 선물 • 옵션
Bitget

혁신적인 복사 거래
현물 • 선물 • 소셜 거래

💝 직접 지원(기부)

귀하의 기여는 QuantDinger의 유지 및 개선에 도움이 됩니다.

암호화폐 기부 (ERC-20 / BEP-20 / Polygon / Arbitrum)

0x96fa4962181bea077f8c7240efe46afbe73641a7

USDT ETH


감사의 말

QuantDinger는 Flask, Pandas, CCXT, Vue.js, Ant Design Vue, KlineCharts 등과 같은 훌륭한 오픈 소스 프로젝트의 어깨 위에 서 있습니다.

모든 관리자와 기여자에게 감사드립니다! ❤️