고속 거래 자동화를 위한 실시간 신호 처리 엔진

개요

MagicTradeBot의 실시간 시그널 처리 엔진은 수천 개의 거래 심볼을 동시에 최소 지연으로 분석하도록 설계되었습니다. 시스템은 심볼당 30개 이상의 서로 다른 시그널 알고리즘을 처리하며, 과거 캔들(kline) 데이터와 실시간 틱 업데이트를 결합하여 수익성 있는 거래 기회를 발생하는 순간 바로 감지합니다.


핵심 아키텍처

다중 심볼 처리 파이프라인

봇은 지속적인 처리 파이프라인을 유지하며 다음을 수행합니다:

  • 로드 및 캐싱 — 모니터링 중인 각 심볼의 과거 캔들 데이터를 로드하고 캐시
  • 실시간 틱 스트리밍 — 가장 최근 캔들을 실시간으로 업데이트
  • 30개 이상의 시그널 알고리즘 병렬 실행 — 심볼별로 동시에 실행
  • 활성화된 설정에 따라 시그널 필터링
  • 조건 충족 시 액션 실행 (주문 생성 또는 브로드캐스트)

데이터 흐름

과거 Kline 데이터 → 캐시 레이어 → 시그널 처리 엔진
         ↓ ↑
실시간 틱 스트림 ──────────────────────────────┘
         ↓
시그널 알고리즘 (30+) → 활성화 필터 → 액션 라우터
         ↓ ↓
   시그널 출력 ┌───────────┴───────────┐
                                    ↓ ↓
                        주문 생성         브로드캐스트
                        (volatility_      (volatility_
                         action list)      action_broadcast list)

지원되는 시그널 종류 (30+)

트렌드 & 모멘텀 시그널

기본 방향성 시그널

  • UP — 강세 움직임 감지
  • DOWN — 약세 움직임 감지

볼륨 & 프라이스 액션

  • PUMP — 급격한 상승 변동성 + 거래량 폭발
  • CRASH — 급격한 하락 변동성 + 거래량 붕괴
  • SPIKE_PUMP — 극단적인 상승 스파이크 (설정에서 enable_spike_detection = true 필요)
  • SPIKE_CRASH — 극단적인 하락 스파이크 (설정에서 enable_spike_detection = true 필요)

반전 & 회복 시그널

  • RECOVERY — 큰 하락 후 빠른 반등
  • REVERSAL — 트렌드 방향 반전 확정
  • STOP_HUNT_RECOVERY — 스탑 헌팅 후 회복 반등
  • FISHER_STOP_HUNT_RECOVERY — Fisher Transform로 확인된 회복
  • STOP_HUNT_REVERSAL — 스탑 헌팅 후 반전
  • FISHER_STOP_HUNT_REVERSAL — Fisher Transform로 확인된 반전

축적 & 분산

  • ACCUMULATION — 횡보 중 은밀한 매수
  • FISHER_ACCUMULATION — Fisher Transform로 확인된 축적
  • DISTRIBUTION — 하락 트렌드를 예고하는 분산 단계
  • FISHER_DISTRIBUTION — Fisher Transform로 확인된 분산

브레이크아웃 시그널

  • BREAKOUT_UP / FISHER_BREAKOUT_UP
  • BREAKOUT_DOWN / FISHER_BREAKOUT_DOWN

지지 & 저항

  • SUPPORT_ABSORPTION — 강한 지지선에서 가격 흡수
  • RESISTANCE_ABSORPTION — 저항선 근처에서 가격 흡수

기술 지표 시그널

RSI 기반

  • RSI_BUY — 과매도 (설정에서 enable_oversold_signal = true 필요)
  • RSI_SELL — 과매수 (설정에서 enable_overbought_signal = true 필요)

볼륨 분석

  • VOLUME_SPIKE_BUY
  • VOLUME_SPIKE_SELL

모멘텀 & 속도

  • MOMENTUM_BUY, MOMENTUM_SELL
  • VELOCITY_BUY, VELOCITY_SELL

ATR, 볼린저, MACD, 다이버전스

  • ATR_BREAKOUT_BUY / ATR_BREAKOUT_SELL
  • BB_BUY / BB_SELL
  • MACD_BUY / MACD_SELL
  • DIVERGENCE_BUY / DIVERGENCE_SELL

고급 멀티팩터 시그널

  • COMBINED_BUY / COMBINED_SELL
  • MTF_BUY / MTF_SELL
  • CVD_BUY / CVD_SELL
  • VWAP_BUY / VWAP_SELL
  • RS_BUY / RS_SELL
  • REGIME_BUY / REGIME_SELL
  • CHOP_BUY / CHOP_SELL
  • OFI_BUY / OFI_SELL
  • ICHIMOKU_BUY / ICHIMOKU_SELL

장기 스마트 머니 시그널

  • LONGTERM_SMART_LONG_SIGNAL
  • LONGTERM_SMART_SHORT_SIGNAL

시그널 처리 워크플로

1단계: 데이터 준비

  1. 캐시 또는 API에서 과거 캔들 데이터 로드
  2. 데이터 완전성 검증 (갭, 누락된 캔들)
  3. 최신 틱 데이터를 현재 캔들에 병합
  4. 기술 지표 계산 (RSI, MACD, ATR, 볼린저 등)
  5. 파생 지표 계산 (볼륨 델타, 속도, 모멘텀)

2단계: 시그널 알고리즘 실행

엔진은 모든 활성화된 알고리즘을 동시에 실행합니다. 각 알고리즘은 준비된 데이터를 분석하고 타입, 방향, 강도, 타임스탬프, 신뢰도 점수를 포함한 시그널을 방출합니다.

3단계: 시그널 필터링

액션 실행 전에 여러 필터를 거칩니다:

  • 활성화 여부 확인 — 설정에서 해당 시그널이 켜져 있어야 함 (예: SPIKE_CRASHenable_spike_detection 필요)
  • 볼륨 액션 필터supported_volatility_action에 포함된 경우 자동 주문
  • 브로드캐스트 필터supported_volatility_action_broadcast에 포함된 경우 알림 전송

4단계: 액션 실행

자동 주문 생성

만약 signal.type 이 supported_volatility_action 안에 있다면:
    → 시그널 방향에 따라 주문 생성
    → 리스크 관리 규칙 적용
    → 주문 내역 로깅

시그널 브로드캐스트

만약 signal.type 이 supported_volatility_action_broadcast 안에 있다면:
    → 시그널 데이터 포맷팅
    → Discord / Telegram / WhatsApp 등으로 전송

설정 예시

# 자동 주문 트리거
supported_volatility_action:
  - "BUY"
  - "SELL"
  - "PUMP"
  - "CRASH"
# 알림용 브로드캐스트 트리거 (더 넓은 범위)
supported_volatility_action_broadcast:
  - "BUY"
  - "SELL"
  - "PUMP"
  - "CRASH"
  - "OFI_BUY"
  - "OFI_SELL"
  - "VOLUME_SPIKE_BUY"
  - "VOLUME_SPIKE_SELL"
  - "DIVERGENCE_BUY"
  - "DIVERGENCE_SELL"

참고: 시그널 설정 변경 후에는 심볼을 재동기화하세요 (symbols.json에서 삭제 후 다시 추가). 자동 주문 없이 모니터링만 원한다면 브로드캐스트 리스트를 더 넓게 설정하세요.


성능 특성

제로 레이턴시 설계

  • 메모리 내 캐싱으로 API 호출 최소화
  • 틱 스트리밍은 현재 캔들만 업데이트
  • 심볼·알고리즘 간 완전 병렬 처리
  • 중간 계산값 재사용으로 최적화

확장성

  • 수천 개 심볼 동시 처리 가능
  • 심볼당 30+ 알고리즘을 밀리초 단위로 처리
  • 심볼별 다중 타임프레임 지원
  • 추가 노드로 수평 확장 가능

신뢰성

  • 개별 시그널 실패 시에도 전체 시스템 지속 운영
  • 처리 전 데이터 검증
  • 문제 심볼은 우아하게 건너뛰기
  • 디버깅용 상세 오류 로깅

활용 사례

  • 고빈도 거래 — SPIKE, PUMP, CRASH 시그널로 초고속 진입/청산
  • 스마트 머니 추종 — LONGTERM_SMART 시그널로 기관 움직임 추적
  • 멀티 전략 포트폴리오 — 심볼 그룹별 조합 전략 실행
  • 리스크 관리 — 브로드캐스트 전용으로 수동 검토
  • 시장 스캔 — 수백 개 심볼에서 희귀 기회 탐색

모범 사례

  1. 보수적으로 시작 — 처음엔 적은 수의 시그널만 활성화
  2. 거래와 모니터링 분리 — 브로드캐스트 리스트 > 액션 리스트
  3. 백테스팅 필수 — 실전 적용 전 시그널 조합 검증
  4. 리소스 모니터링 — 30+ 시그널/심볼을 위한 충분한 컴퓨팅 확보
  5. 로그 분석 — 어떤 시그널이 가장 좋은 성과를 내는지 추적
  6. 임계값 조정 — 시장 상황에 따라 민감도 튜닝

기술 요구 사항

  • 안정적인 WebSocket 연결 (틱 스트리밍용)
  • 모든 심볼의 kline 캐시를 위한 충분한 RAM
  • 거래소 API까지 저지연 네트워크
  • 병렬 처리를 위한 멀티코어 CPU
  • 시그널 히스토리 및 분석을 위한 영구 저장소

📎 Related Topics