2026.01 - 현재
기간 - 2026.01 - 현재
PredicTrade: LLM 결합 암호화폐 알고리즘 트레이딩 시스템
실자본으로 운용 중인 암호화폐 알고리즘 트레이딩 시스템입니다. 9개 마이크로서비스 기반으로 거래소 WebSocket/REST 데이터, 온체인·뉴스 데이터, 17개 이상 전략 앙상블, LightGBM 메타 레이블링, HMM 레짐 감지, 50개 이상 진입 게이트, LLM 손실 복기 루프를 연결했습니다. 단순 자동매매가 아니라 데이터 신뢰성, 신호 검증, 리스크 제어, 운영 관측성을 함께 검증하는 개인 AX 자동화 프로젝트입니다.
Python / FastAPI / asyncio / ccxt
역할, 구현 흐름, 결과 중심으로 정리
문제에서 구현 결과까지
실자본으로 운용 중인 암호화폐 알고리즘 트레이딩 시스템입니다. 9개 마이크로서비스 기반으로 거래소 WebSocket/REST 데이터, 온체인·뉴스 데이터, 17개 이상 전략 앙상블, LightGBM 메타 레이블링, HMM 레짐 감지, 50개 이상 진입 게이트, LLM 손실 복기 루프를 연결했습니다. 단순 자동매매가 아니라 데이터 신뢰성, 신호 검증, 리스크 제어, 운영 관측성을 함께 검증하는 개인 AX 자동화 프로젝트입니다.
24시간 움직이는 암호화폐 시장에서는 사람이 모든 시장 기회를 추적하기 어렵고, 단일 전략은 특정 장세에 과최적화되기 쉽습니다. 실제 자본을 투입하는 환경에서는 진입 신호보다 더 중요한 것이 손실 제한, 포지션 크기 조절, 데이터 품질 검증, 실패 거래의 재학습 구조였습니다.
요구사항을 화면, API, 데이터 저장/조회, 알람/진단 흐름으로 분해하고 구현했습니다.
거래소 데이터는 Redis 링버퍼와 InfluxDB 시계열 저장소로 분리하고, 주문·포지션·게이트·교훈 데이터는 SQLite에 기록했습니다. trading-engine은 10초 루프에서 전략 앙상블 점수를 계산하고, LightGBM 메타 레이블러와 HMM 레짐 감지, 하드 블록·스케일·모델·실행 게이트를 통과한 경우에만 주문을 실행합니다. 손실 거래는 LLM이 복기해 교훈 토큰으로 정리하고, Thompson Sampling 기반 스케일 조정과 패턴 차단 후보에 반영했습니다.
실자본·실거래 환경에서 운용 중인 개인 알고리즘 트레이딩 시스템 / 9개 Docker Compose 서비스, 80개 이상 REST 엔드포인트, 20개 이상 SQLite 테이블 구성 / 9개 마이크로서비스 기반으로 실시간 데이터 수집, 전략 실행, LLM 분석, 백테스트, 대시보드, 알림을 분리 구현
기능 개발 단위로 본 구현 범위
하나의 프로젝트 안에서 직접 설계하고 구현한 주요 기능을 화면, 역할, 구현 내용, 결과 단위로 나눠 정리했습니다.
단일 전략 과최적화 위험 → 17+ 전략 앙상블 + 메타 레이블링 2차 검증
하나의 전략에 의존하면 특정 국면에 과최적화되기 쉬워, 신호를 한 번 더 걸러 낼 구조가 필요했습니다.
전략 앙상블·ML 게이트 설계
- 17개 이상 전략을 앙상블하고 8개 심볼·7개 타임프레임으로 신호 생성
- LightGBM 메타 레이블링으로 기존 전략 신호를 2차 검증
- 심볼별 HMM 레짐 감지와 온체인·뉴스·거시 지표를 진입 게이트에 반영
결과 walk-forward OOS 구간에서 Sharpe 1.12~1.88 범위를 검증
실자본 손실 리스크 → 50+ 진입 게이트·다층 방어
실제 자본을 운용하므로 나쁜 진입을 걸러 내고 급락 상황에서 손실을 제한하는 안전장치가 필수였습니다.
리스크 게이트·실행 계층 구현
- 50개 이상 진입 게이트를 hard block·scale·model·execution 단계로 구성
- 일일 손실·연속 손실·MDD·플래시 크래시 방어 규칙 적용
- 9개 마이크로서비스로 수집·전략·LLM 분석·백테스트·알림을 분리
결과 실자본 환경에서 620건 이상 라이브 트레이드 운용, 733개 pytest로 회귀 검증
반복되는 손실 패턴 → LLM 손실 복기·교훈 폐쇄 루프
같은 실수를 반복하지 않으려면 손실을 사람처럼 복기하고 다음 매매에 반영하는 자기학습이 필요했습니다.
LLM 오케스트레이션·자기학습 루프 설계
- LLM이 손실 거래를 복기해 교훈을 토큰으로 저장
- 교훈을 Thompson Sampling 기반 스케일 조정에 반영해 폐쇄 루프 구성
- 로컬 LLM 판단과 ML 게이트를 결합해 진입 크기를 결정
결과 손실 복기 → 교훈 저장 → 다음 매매 반영으로 이어지는 자기학습 사이클 구현
트러블슈팅 — 겪은 문제와 해결
개발·운영 중 실제로 마주친 문제를 증상, 원인 추적, 조치, 결과 단위로 정리했습니다.
급락 구간 손실 확대 → 플래시 크래시·MDD·연속손실 방어
실자본 운용 중 급락·연속 손실 구간에서 손실이 커질 위험이 있었습니다.
- 일일 손실·연속 손실·MDD 한도와 플래시 크래시 감지 규칙 추가
- 위험 신호 시 진입을 hard block하거나 스케일을 축소
결과 급락·연속 손실 상황에서 자동으로 노출을 줄여 리스크를 제어
리팩터링 중 조용한 회귀 → 733개 pytest 회귀 테스트 체계
전략·엔진을 자주 고치다 보니 기존 동작이 조용히 깨지는 회귀가 반복됐습니다.
- trading-engine 중심으로 733개 pytest 회귀 테스트를 구성
- 핵심 로직 변경 시 회귀 테스트로 먼저 검증
결과 실자본 로직을 회귀 테스트로 지키며 안정적으로 개선
문제
24시간 움직이는 암호화폐 시장에서는 사람이 모든 시장 기회를 추적하기 어렵고, 단일 전략은 특정 장세에 과최적화되기 쉽습니다. 실제 자본을 투입하는 환경에서는 진입 신호보다 더 중요한 것이 손실 제한, 포지션 크기 조절, 데이터 품질 검증, 실패 거래의 재학습 구조였습니다.
해결
거래소 데이터는 Redis 링버퍼와 InfluxDB 시계열 저장소로 분리하고, 주문·포지션·게이트·교훈 데이터는 SQLite에 기록했습니다. trading-engine은 10초 루프에서 전략 앙상블 점수를 계산하고, LightGBM 메타 레이블러와 HMM 레짐 감지, 하드 블록·스케일·모델·실행 게이트를 통과한 경우에만 주문을 실행합니다. 손실 거래는 LLM이 복기해 교훈 토큰으로 정리하고, Thompson Sampling 기반 스케일 조정과 패턴 차단 후보에 반영했습니다.
상세 설명
상세 구현 설명 펼쳐보기
맡은 역할
실시간 데이터 수집, 전략 실행, 리스크 게이트, 포지션 관리, LLM 복기, 대시보드, 알림까지 포함한 개인 트레이딩 자동화 시스템을 설계·개발·운용했습니다.
실자본 운용 환경에서 수익과 손실을 모두 기록하며 데이터 품질, 진입 조건, 손실 제한 규칙을 지속적으로 개선했습니다.
단순히 매수/매도 봇을 만든 것이 아니라, 신호 품질을 검증하고 손실을 제한하며 실패 거래를 다음 판단에 반영하는 운영 루프를 구축했습니다.
주요 구현
FastAPI 기반 9개 마이크로서비스로 trading-engine, data-pipeline, blockchain-collector, news-collector, llm-service, backtest-engine, expert-coach, telegram-bot, web 대시보드를 분리했습니다.
거래소 WebSocket/REST 데이터를 Redis 500-bar 링버퍼와 InfluxDB OHLCV 저장소에 적재하고, SQLite에는 trades, positions, gates, lessons 등 운영 이력을 기록했습니다.
17개 이상 전략 앙상블을 7개 타임프레임과 8개 심볼에 적용하고, LightGBM 메타 레이블러로 기존 전략 신호를 2차 필터링했습니다.
HMM 기반 시장 레짐 감지를 심볼별로 적용하고 Redis 캐시와 백그라운드 갱신 구조로 trading-engine의 메인 루프 지연을 줄였습니다.
50개 이상 진입 게이트를 hard block, scale, model, execution 단계로 구성해 레버리지, 일일 손실, 연속 손실, MDD, 플래시 크래시, 온체인·거시 지표 위험을 제어했습니다.
LLM이 손실 거래를 복기해 교훈 패턴을 추출하고, Thompson Sampling으로 다음 진입 스케일을 조정하거나 반복 손실 패턴을 차단 후보로 올리는 폐쇄 루프를 구현했습니다.
VectorBT 기반 백테스트, purged holdout과 embargo, walk-forward OOS 검증, pytest 회귀 테스트로 전략 변경의 안정성을 확인했습니다.
확장 역량
금융 도메인에서 실시간 데이터 파이프라인, ML 신호 검증, LLM 기반 사후 분석, 리스크 제어, 운영 관측성을 하나의 제품형 시스템으로 연결한 사례입니다.
금융 데이터 기반 의사결정, 리스크 제어, 운영 관측성을 하나의 자동화 플랫폼으로 연결한 확장 사례입니다.
성과
- 9개 마이크로서비스 기반으로 실시간 데이터 수집, 전략 실행, LLM 분석, 백테스트, 대시보드, 알림을 분리 구현
- 17개 이상 전략 앙상블과 LightGBM 메타 레이블링으로 기존 전략 신호를 2차 검증하는 구조 설계
- 심볼별 HMM 레짐 감지와 온체인·뉴스·거시 지표를 진입 게이트와 포지션 스케일링에 반영
- 50개 이상 진입 게이트를 hard block, scale, model, execution 단계로 구성해 실자본 운용 리스크를 제어
- LLM 손실 복기 결과를 교훈 토큰으로 저장하고 Thompson Sampling 기반 스케일 조정에 반영하는 폐쇄 루프 구현
- 620건 이상 라이브 트레이드와 pytest 733개 회귀 테스트를 통해 운영 데이터와 코드 안정성을 함께 관리
핵심 지표
- 실자본·실거래 환경에서 운용 중인 개인 알고리즘 트레이딩 시스템
- 9개 Docker Compose 서비스, 80개 이상 REST 엔드포인트, 20개 이상 SQLite 테이블 구성
- 17개 이상 전략 앙상블, 8개 심볼, 7개 타임프레임 데이터 처리
- 50개 이상 진입 게이트와 일일 손실·연속 손실·MDD·플래시 크래시 방어 규칙 적용
- 620건 이상 라이브 트레이드 기록, 평균 승률 52% 수준으로 운용 데이터 축적
- walk-forward OOS 구간에서 Sharpe 1.12~1.88 범위 검증
- 733개 pytest 테스트로 trading-engine 중심 회귀 검증