자가 호스팅 A주 퀀트 대시보드
Polars·DuckDB·FastAPI로 구성된 로컬 스크리닝·백테스트·모니터링 플랫폼
TL;DR
TickFlow 기반으로 개발된 자가 호스팅 A주 퀀트 대시보드로서 스크리닝·백테스트·모니터링·개별 종목 분석을 단일 스택에서 처리하도록 설계되어 있다. Polars로 대규모 스캔을 고속 처리하고 DuckDB/Parquet로 결과를 보존하며 vectorbt로 백테스트를 실행하는 파이프라인이 핵심 기술 축을 이룬다. Docker 단일 이미지 배포와 Codex 연동 옵션으로 로컬 개발자와 개인 트레이더가 빠르게 환경을 띄워 전략 실험 및 운영 모니터링을 진행하도록 돕는다.
주요 기능
- 내장된 18개 전략과 사용자 정의 신호를 Polars 기반의 고속 스크리닝 파이프라인으로 결합해 전체 A주를 밀리초 단위로 필터링하는 구조이며, 결과는 enriched Parquet로 영구 저장되어 후속 분석에 재사용 가능하다. AI와 연동하면 전략 템플릿 자동 생성이 가능하며 생성 결과는 코드로 내보내 전략 개발 워크플로우로 이어지도록 설계되어 있다. 스크리너는 파일 기반 신호와 UI에서 바로 적용 가능한 카드 형태로 제공되어 실전 사용 편의성을 높인다.
- 백테스트 엔진은 개별 종목, 전략 조합, 자유 신호의 세 모드를 지원하며 T+1 규칙·수수료·슬리피지·손절 로직을 입력으로 받아 vectorbt로 성과를 산출한다. 백테스트 진행 상황은 SSE 스트리밍으로 전송되어 UI에서 실시간 진행 표시와 거래명세 확인이 가능하다. 결과는 순자산 곡선·샤프·승률·최대낙폭을 포함해 전략 검증에 즉시 사용할 수 있도록 구성된다.
- 모니터링은 전략·개별 종목 신호·가격·이상거래의 네 분류로 규칙을 조합해 실시간 알림을 생성하며 AND/OR 조건, 음성 방송, 飞书(Webhook) 푸시를 지원한다. 트리거 기록은 영구 저장되어 히스토리 기반의 원인 분석과 복기에 활용할 수 있다. 플러그인 형태의 데이터 소스와 확장 필드를 추가하면 동일 UI에서 서드파티 데이터를 함께 감시할 수 있다.
- 개별 종목 분석은 9가지 핵심 가격 레벨과 기술·기본·재무·뉴스의 AI 4차원 코멘트를 결합해 매매 판단 자료를 보완하도록 설계되어 있다. AI 처리는 OpenAI 호환 인터페이스를 통해 옵션으로 동작하며 키가 없으면 비활성화 상태로 운영할 수 있다. 결과물은 마크다운 형식으로 다운로드하거나 정기 리포트로 전송할 수 있다.
- 데이터 파이프라인은 TickFlow SDK와 stock-sdk 플러그인을 통해 일일 K와 지표 파생을 수집하고 DuckDB로 쿼리, Parquet로 보존하는 흐름을 채택한다. 사용자는 로컬 CSV/JSON 또는 자체 API를 데이터 소스로 연결해 동일한 분석 엔진에서 다중 소스를 비교 분석할 수 있다. 단일 컨테이너 배포로 초기 운영 부담을 낮춘 설계가 적용되어 있다.
어떻게 동작하는가
웹 애플리케이션은 FastAPI 백엔드와 React 프론트엔드로 구성되어 단일 Docker 이미지로 배포 가능하며 개발 모드에서는 dev.sh로 프론트·백엔드를 동시 기동한다. 데이터 파이프라인은 TickFlow SDK 또는 플러그인으로 일별 K와 보조지표를 수집하고 Polars로 피처를 계산한 뒤 enriched Parquet에 저장하고 DuckDB로 SQL 조회를 수행하는 입력→처리→저장 흐름을 따른다. 스크리너는 Polars의 멀티스레드 연산으로 전체 A주를 빠르게 필터링하고 백테스트는 vectorbt로 시뮬레이션하여 결과를 SSE 스트리밍으로 UI에 실시간 전송하는 방식으로 통합된다.
해결 문제
로컬 환경에서 A주 전종목 스크리닝·모니터링·백테스트를 하나의 자가 호스팅 스택으로 운영하려는 개인 투자자와 연구자를 대상으로 솔루션을 제공한다. Polars 기반의 고속 테이블 연산과 Parquet/DuckDB 조합으로 대용량 피처 계산과 반복적 조회의 병목을 줄여 로컬에서도 실무 수준의 데이터 파이프라인을 운용할 수 있게 한다. 또한 AI 연동과 확장 가능한 데이터소스 접속으로 전략 실험과 결과 복기를 동일 인터페이스에서 연계하도록 설계되어 있다.
지금 주목받는 이유
개인용 자가 호스팅 퀀트 툴과 AI 연동 기능을 결합해 전략 생성과 복기 흐름을 하나의 스택에서 해결하는 점 때문에 관심이 집중되고 있다. Polars/DuckDB 조합으로 로컬 환경에서 대용량 처리 비용을 크게 낮추는 설계도 최근 오픈소스 트렌드와 상응한다. 또한 TickFlow 데이터 연동과 플러그인 확장성으로 다양한 사용자 데이터 소스를 통합할 수 있다는 점이 실무자 유입을 촉진하고 있다.
차별점
- Polars를 핵심 계산 엔진으로 사용해 전체 A주를 밀리초 단위로 스캔하는 성능을 확보하고, 결과를 enriched Parquet로 보존해 반복 실험에 드는 비용을 낮춘 점이 차별화 요소다. 이 접근은 전통적인 pandas 기반 도구보다 메모리·속도 측면에서 유리하며 로컬 머신에서도 실전급 스크리너를 운영할 수 있게 한다. 따라서 전략 탐색과 대량 후보군 생성 작업을 로컬에서 빠르게 반복할 수 있다.
- 단일 컨테이너 배포에 프론트엔드 빌드를 포함시키는 투스텝 Docker 방식과 Codex CLI 연동 옵션으로 로컬 배포 복잡도를 낮추어 초급자도 빠르게 서비스 기동이 가능하도록 설계되어 있다. Codex 연동 시 호스트의 인증 디렉터리를 읽기 전용 마운트하는 안전장치를 제공해 개발 편의성과 보안 사이 균형을 맞췄다. 이로 인해 개발 모드와 프로덕션 유사 환경 전환이 용이해진다.
- 모니터링 룰의 범용성(전략·개별·가격·이상거래)과 알림 출력 옵션(음성 방송·Webhook·UI 트리거)으로 실전 운영 시 탐지→알림→기록으로 이어지는 워크플로우를 로컬에서 완비할 수 있다. 트리거 기록의 영속화는 이후 복기 분석과 성능 검증에 직접 연결되며 AI 기반의 일간·주간 복기 리포트를 자동화할 수 있다. 이 점이 단순 스크리너나 백테스트 도구와 다른 운영적 가치를 제공한다.
사용 사례
- 개인 퀀트 트레이더가 자체 전략을 빠르게 탐색하고 검증할 때 유용하며, Polars 기반 스크리너로 수천 개의 조건을 짧은 시간 내에 실험하고 vectorbt로 샤프·승률·회복력 같은 지표를 검증하는 워크플로우를 구성할 수 있다. 이러한 흐름은 로컬에서 데이터 프라이버시를 유지하면서도 실전 검증을 반복해야 하는 개인 연구자에게 적합하다. 결과는 트리거 기록 및 마크다운 리포트로 보존되어 전략 개발의 버전 관리에 활용될 수 있다.
- 퀀트 스터디 그룹이나 교육 환경에서 실습용 플랫폼으로 활용하기에 적절하며, 학생들이 데이터 소스 연결·지표 파이프라인·백테스트·모니터링을 한 스택에서 실습할 수 있게 돕는다. Docker 기반 배포로 환경 통제가 쉬워 수업용 이미지 배포에도 적합하다. AI 연동을 켜면 전략 템플릿 자동 생성 실습까지 이어지는 학습 시퀀스를 구성할 수 있다.
- 리서치 목적의 데이터 파이프라인 프로토타입으로도 쓰일 수 있으며, 외부 CSV·JSON·API 데이터 소스를 플러그인으로 연결해 서로 다른 소스의 지표를 동일 파이프라인에서 비교 분석할 수 있다. DuckDB로 쿼리 레이어를 제공하기 때문에 ad-hoc 분석과 보고서 추출이 빠르게 이뤄진다. 이 구조는 데이터 통합 전 단계의 실험 환경으로 유용하다.
시작하기
로컬 개발은 .env.example을 복사해 TICKFLOW_API_KEY와 AI_API_KEY를 설정한 뒤 dev.sh로 프론트·백엔드를 동시에 기동하는 방식으로 시작한다. 배포용으로는 docker compose up --build 명령으로 단일 이미지 기동이 가능하고 Codex 인증 연동이 필요한 경우 호스트 디렉터리를 읽기 전용으로 마운트해야 한다. 초기 사용 흐름은 설정 페이지에서 능력 감지 후 파이프라인을 한번 실행해 일별 K와 enriched 테이블을 생성하고 스크리너·백테스트·모니터링을 차례로 확인하는 것이 권장된다.
요구사항
- Python 3.11 이상과 Node.js 20 이상이 필요하며 dev 환경에서는 pnpm과 uv(서드파티 도구)가 사전에 설치되어야 한다. Docker로 배포할 경우 Docker Desktop 또는 호스트 환경의 compose가 요구되며 호스트의 Codex 인증을 쓸 때는 홈 디렉터리의 .codex 경로 접근이 필요하다. 빌드와 데이터 파이프라인 실행을 위해 로컬 디스크 여유 공간과 메모리 자원이 충분해야 한다.
- AI 기능을 사용하려면 OpenAI 호환 API 키(DeepSeek·通义·Ollama 등)를 .env에 설정해야 하며 키를 비워두면 AI 관련 기능은 비활성화로 작동한다. TickFlow 데이터의 유료 기능을 쓰려면 TICKFLOW_API_KEY를 입력해야 추가 일별 데이터 접근 권한이 해제된다. Codex CLI 연동을 활성화하는 사용자는 로컬 Codex 로그인 상태가 필요하다.
- 백테스트와 대규모 스캐닝을 자주 돌리는 경우 CPU 코어와 메모리 여유가 성능에 직접 영향을 미치므로 중간급 이상의 개발용 머신을 권장한다. 프로젝트는 Polars와 DuckDB를 이용하므로 멀티스레드 성능과 디스크 I/O가 전체 처리량을 결정한다. 저사양 환경에서는 Docker 빌드 시 별도 빌드 플래그나 경량 옵션을 적용하는 문서를 참조해야 한다.
이미지 분석




2.5k
Stars
576
Forks
+204
Trending
0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.