QuantDinger: 오픈소스 로컬 퀀트 트레이딩 플랫폼

발행: (2026년 1월 8일 오후 06:57 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

프로젝트 포지셔닝

QuantDinger는 “Local‑First” 오픈소스 AI 정량적 트레이딩 워크벤치를 만들고자 합니다. TradingView와 QuantConnect에 대한 자체 호스팅 대안으로 설계되었으며, 핵심 원칙은 데이터 소유권을 사용자에게 반환하는 것입니다. 비용이 많이 드는 SaaS 플랫폼의 문제점을 해결함으로써 QuantDinger는 다음을 통합하는 자체 호스팅 솔루션을 제공합니다:

  • 데이터 수집
  • AI 기반 투자 연구
  • 전략 백테스팅
  • 실시간 트레이딩

핵심 기능 엔티티

다중 소스 데이터 집계

통합 데이터 인터페이스:

  • 암호화폐CCXT를 통해
  • 미국 주식YFinance / Finnhub를 통해
  • 중국 A주AkShare를 통해

모든 소스는 표준화된 OHLCV(시가, 고가, 저가, 종가, 거래량) 형식을 제공합니다.

Multi‑source Data Aggregation

전략 개발 환경

Monaco Editor 기반의 내장 코드 편집기로 Python 전략 개발을 지원합니다.

Strategy Development Environment

시각화 차트

캔들스틱 차트 표시와 기술 지표 분석을 위한 TradingView Lightweight Charts 라이브러리 통합.

Visualization Charts

LLM 지원 도구

외부 대형 언어 모델(LLM) 서비스(OpenRouter API를 통해)가 코드 스니펫 생성이나 시장 뉴스 해석을 도와줍니다.
참고: 이는 기능 모듈이며 시스템의 핵심 부분은 아닙니다.

LLM‑Assisted Tools

실시간 / 시뮬레이션 트레이딩

주문 라우팅 및 자산 관리를 위한 거래소 API 연결을 지원합니다.

Live / Simulated Trading

기술 선택 및 아키텍처 다이어그램

코드베이스 디렉터리 구조

QuantDinger/
├── backend_api_python/        # Flask backend
│   ├── app/
│   │   ├── routes/           # API endpoints
│   │   ├── services/         # Business logic
│   │   ├── models/           # ORM models
│   │   └── utils/            # Helper utilities
│   ├── quantdinger.db        # SQLite DB
│   ├── requirements.txt      # Python dependencies
│   └── run.py                # Application entry point
├── quantdinger_vue/          # Vue frontend
│   ├── src/
│   └── package.json
└── docker-compose.yml        # Docker orchestration

기술 스택 상세

레이어기술 스택
프론트엔드Vue.js 3, Vite, TypeScript, Lightweight Charts, Element Plus
백엔드Python 3, Flask, SQLAlchemy (ORM), Pydantic (validation)
데이터 어댑테이션ccxt (crypto exchanges), akshare (A‑share data), yfinance (US stocks)
퍼시스턴스SQLite (file‑based DB – no separate MySQL/PostgreSQL needed)

데이터베이스 설계

이 프로젝트는 메타데이터를 저장하기 위해 SQLite (quantdinger.db)를 사용하며, 무거운 데이터베이스 유지관리를 피합니다.

테이블

TablePurposeKey Fields
users기본 인증id, username, password_hash, api_token
api_keys거래소 자격 증명 (AES‑암호화)id, exchange_name, api_key, secret_key, user_id
strategies사용자 작성 전략 코드 및 설정id, name, code_content (Python source), timeframe, symbol, status
logs / trade_history신호 및 거래 내역id, strategy_id, timestamp, action (BUY/SELL), price, amount, message

핵심 모듈의 상세 구현

4.1 백엔드 인터페이스 레이어 (app/routes)

(추가 구현 세부 사항은 소스 저장소에 계속됩니다.)

QuantDinger – 개요 및 배포 가이드

1. Flask Blueprint (RESTful API)

경로메서드설명
/api/marketGET프론트엔드로부터 time rangesymbol 파라미터를 받아 데이터‑서비스 레이어를 호출하고 JSON 형식의 캔들스틱 차트 배열을 반환합니다.
/api/strategy
  POST /savePOST파이썬 코드 문자열을 받아 데이터베이스에 저장합니다.
  …(추가 엔드포인트 생략)
Back to Blog

관련 글

더 보기 »

안녕, 뉴비 여기요.

안녕! 나는 다시 S.T.E.M. 분야로 돌아가고 있어. 에너지 시스템, 과학, 기술, 공학, 그리고 수학을 배우는 것을 즐겨. 내가 진행하고 있는 프로젝트 중 하나는...