METHODOLOGY · TRANSPARENT BY DESIGN

무엇을 보고, 무엇을 버리고,
왜 후보가 되는가

PREMOVE COIN LIVE는 신호를 블랙박스로 숨기지 않습니다. 데이터 소스, 스캔 간격, 후보 게이트, 점수 요소와 한계를 공개해 사용자가 스스로 판단할 수 있게 설계했습니다.

아키텍처

서버 측 Cloudflare Pages Worker가 Bybit V5 공개 REST API로 전체 USDT 무기한 선물 시장을 스캔합니다. 상세 후보가 만들어지면 브라우저가 Bybit 공개 WebSocket에 직접 연결해 후보의 가격·OI·펀딩을 갱신합니다. 이렇게 하면 서버 부하를 과도하게 늘리지 않으면서 사용자 화면은 실시간으로 움직일 수 있습니다.

구조: Bybit REST → 전체 시장 1차 필터 → 상위/회전 후보 상세 분석 → 강화 게이트 → 브라우저 WebSocket 실시간 재계산.

대상 시장과 제외 규칙

  • Bybit USDT LinearPerpetual 중 Trading 상태만 사용.
  • 24시간 거래대금 $2M 미만은 초기 단계에서 제외.
  • symbolType 기준 stock, ETF, forex, commodity, xstocks 계열 제외.
  • BTC·ETH는 일반 후보가 아니라 시장 기준선으로 별도 사용.
  • 1시간 ±8%, 24시간 ±30% 범위를 벗어난 과열/급락 종목은 상세 분석 우선순위에서 제외.

데이터 갱신 주기

데이터사용 방식대략적 주기
전체 티커가격·거래대금·OI·펀딩·1H/24H 변화약 55~60초 풀스캔
OI 히스토리15분·30분 OI 변화상세 후보 풀스캔 시
5분 캔들RVOL·30분 압축·고/저점 거리상세 후보 풀스캔 + 실시간 kline
WebSocket ticker후보 가격·OI·펀딩 재계산거래소 push, 파생 티커 최대 100ms
publicTradeTOP 후보 60초 taker 체결 비중실시간
allLiquidationTOP 후보 60초 청산 펄스거래소 push

점수 구조

점수는 확률이 아니라 조건 중첩 지수입니다. 0~100 범위로 제한하며 대략 아래 요소가 들어갑니다.

요소가중 방향핵심 의도
5분 RVOL구간 사이를 연속 보간해 점진 가산평소보다 거래 활동이 먼저 붙는지
OI 30분증감폭에 따라 연속 가산·감점새 포지션 축적 여부
OI 15분증가폭에 따라 연속 가산최근 가속도 확인
30분 압축좁을수록 제한적 가산확장 전 구조 보조
1시간 방향초기 모멘텀 가산, 이미 과열 시 감점너무 늦은 추격 방지
고/저점 거리방향별 단기 극값 근접 가산돌파/이탈 직전 위치
펀딩약한 역방향 펀딩 보조, 극단값 태그포지션 쏠림 확인
스프레드/유동성과도한 스프레드 감점노이즈 후보 억제
체결매수 비중과 청산 펄스는 현재 V1.3.1에서 안정 PREMOVE 본점수에는 직접 넣지 않습니다. 체결 우위는 빠른 IGNITION 보조점수에만 제한적으로 반영합니다. 이렇게 본점수와 빠른 신호를 분리해 과민 반응을 줄입니다.

필수 게이트와 상태 분류

압축이나 고점 근접만으로 후보가 뜨지 않도록 먼저 RVOL ≥ 1.2 또는 OI 30분 ≥ +1% 중 하나가 필요합니다. 그 다음 방향별 단기 위치와 1시간 움직임을 확인합니다.

  • ENTRY: 78점 이상 + RVOL 1.5x 이상 + OI30 +1% 이상 + 방향 모멘텀.
  • WATCH: 65점 이상 + RVOL 또는 OI 강화.
  • SLEEPER: 55점 이상 + 압축 구조.
  • PRE-WATCH: 46점 이상, 초기 변화.
  • COOLING: 서버에서 잡힌 후보가 실시간 게이트를 잠시 잃은 상태. 2회 연속 확인 후 반영해 깜빡임을 줄입니다.

실시간 레이어

후보가 생기면 브라우저가 WebSocket으로 ticker를 구독합니다. 최신 openInterest를 서버가 가져온 15분/30분 기준값과 비교해 OI 변화를 다시 계산하고, 가격과 펀딩 변화도 즉시 반영합니다. 진행 중인 5분 kline은 현재 거래대금 속도를 5분 기준으로 환산해 RVOL pace로 사용합니다.

왜 전체 800여 종목을 WebSocket으로 다 구독하지 않나? PREMOVE의 핵심 신호는 5분 구조와 OI 히스토리가 필요합니다. 전체 시장은 가벼운 REST 풀스캔으로 후보를 좁히고, 후보만 실시간 스트림을 붙이는 것이 안정성과 비용 측면에서 더 합리적입니다.

검증판

브라우저가 후보를 처음 본 시점의 가격과 방향을 저장하고 이후 움직임을 기록합니다. LONG은 가격 상승, SHORT는 가격 하락을 유리한 수익률로 계산합니다. 최대 유리 움직임과 최대 역행도 함께 저장합니다.

KV가 연결되지 않은 기본 배포에서는 이 기록이 브라우저 localStorage에 저장됩니다. 따라서 브라우저/기기를 바꾸면 이어지지 않습니다. 서버 KV가 연결된 경우 서버 측 기록도 함께 유지할 수 있도록 Worker 코드가 준비되어 있습니다.

알려진 한계

  • 거래소 API 지연·점검·네트워크 문제로 실시간 데이터가 잠시 끊길 수 있습니다.
  • OI 증가가 반드시 같은 방향의 신규 포지션만 의미하지는 않습니다. 가격 구조와 함께 봐야 합니다.
  • RVOL pace는 진행 중인 5분봉의 거래 속도를 환산하므로 봉 초반에는 변동성이 큽니다.
  • 전체 풀스캔은 무료 서버리스 환경의 안정성을 고려해 초단위가 아닌 약 1분 간격으로 설계했습니다.
  • 점수는 통계적 승률이 아니며, 충분한 장기 표본 전에는 임계값을 자주 바꾸지 않는 것이 원칙입니다.
PREMOVE의 목표는 “예측을 확정”하는 것이 아니라 관찰해야 할 변화를 더 빨리 압축해서 보여주는 것입니다.

안정화와 IGNITION 이중 엔진

PREMOVE는 메인 후보 우선순위용 안정 점수입니다. 점수 변화에 데드밴드·EMA형 완충·상승/하락 속도 제한을 적용하고, 상태 승격과 강등에는 서로 다른 확인 시간을 둡니다. 5분봉 초반 RVOL은 진행시간이 짧을수록 신뢰도를 낮게 반영합니다.

IGNITION은 0~100의 빠른 점화 계기판입니다. 진행 중 거래속도, OI 15분 변화와 가속, 방향 모멘텀, 수집 가능한 경우 최근 체결 우위를 빠르게 반영합니다. IGNITION이 높다고 바로 ENTRY가 되는 것은 아니며, PREMOVE 안정 점수의 상태 전환을 약간 빠르게 확인하는 역할만 합니다.

이렇게 분리한 이유는 “초기 찐 상승을 빨리 보고 싶다”와 “점수와 후보가 너무 민감하게 흔들리면 안 된다”는 두 요구를 동시에 만족시키기 위해서입니다.