글 목차

근거와 범위

거래소 문서는 데이터 필드의 의미를 설명하고 주문 흐름 연구는 맥락을 제공합니다. 이 자료들 어느 것도 제안한 흡수나 다이버전스 탐지기의 수익성을 검증하지 않습니다.

데이터와 시장적극적으로 체결한 매수·매도 측을 신뢰성 있게 구분하는 거래소별 체결 피드가 필요합니다. 시간을 동기화한 호가 깊이는 보조 정보가 되지만 OHLCV만으로 실제 체결 델타를 복원할 수는 없습니다.
연구 대상 시간봉30초 측정 창과 1분 확인 막대가 예시입니다. 실제 구현에서 사용 가능한 피드 세분성 및 지연 시간을 테스트하십시오.
거래량이 120이고 델타는 −80입니다. 흡수 후보가 있어도 매수 포지션 진입 전에 이후 가격의 리클레임을 기다려야 합니다.도표를 원래 크기로 열기
측정 구간별 합성 델타와 총거래량입니다. 주축은 가격이 아니라 매수 테이커 거래량에서 매도 테이커 거래량을 뺀 값입니다. 이동 폭과 리클레임 표시는 본문의 수치 예시를 가리킵니다.

실전 적용 절차

적용 절차: 흡수와 CVD 다이버전스: 적극적 체결에 비해 가격이 덜 움직일 때
전체 단계는 아래에 설명되어 있습니다. 각 단계에서 데이터가 부족하거나 조건을 충족하지 못하면 제외 사유를 기록해야 합니다.
  1. 피드를 확인하세요테이커 측 분류, 수량 단위, 시각을 확인합니다.
  2. 개별 가설을 측정합니다병합하지 않고 흡수 또는 CVD 발산을 계산합니다.
  3. 가격 확인을 기다리세요필요한 특성을 계산할 수 있게 된 이후의 리클레임을 기다립니다.
  4. 체결과 보호 주문 모델링실행 가능한 시세, 스프레드 및 이벤트 극값을 사용하십시오.
  5. 샘플 외 검증가격 변동만 고려한 행동 및 지연 시간 스트레스와 비교해 보세요.

서로 다른 두 가지 관찰

모든 체결에는 매수자와 매도자가 있습니다. 델타는 유동성을 취한 쪽에 따라 부호를 정하며 매수 테이커 거래량에서 매도 테이커 거래량을 뺍니다. CVD는 정해진 초기화 시점부터 델타를 누적합니다. Bybit 공개 체결의 S 필드는 테이커 측을 뜻합니다 [1]. 강제청산 피드에서 같은 이름의 필드가 같은 뜻이라는 보장은 없습니다.

강세 흡수 가설은 상당한 공격적 매도세에도 불구하고 하락세가 제한적인 상황을 설명합니다. 이러한 상황에서 CVD는 훨씬 더 낮은 저점을 형성할 수 있습니다. 반면, 강세 CVD 다이버전스는 더 낮은 저점과 함께 해당 저점에서 더 높은 CVD 값을 필요로 합니다. 이 두 조건은 서로 대체될 수 없으며, 상충될 수도 있습니다.

반복적으로 보충되는 매수호가는 표시 유동성에 관한 관측이며 참여자 신원은 아닙니다. 호가가 사라지는 이유는 취소 또는 체결일 수 있습니다 [2]. 특정 기관이 가격을 방어한다고 단정하지 말고 흡수의 대리 지표라고 부르며 측정값을 나열합니다.

흡수와 다이버전스를 별도로 탐지

제안하는 상승 흡수 대리 지표는 사전에 알려진 지지선 S 부근에서 작동합니다. W=30초 동안 매도 체결량이 과거 같은 시간대의 95백분위수를 넘고 sell/(buy+sell)가 최소 0.70이어야 합니다. 구간 시작 중간호가에서 아래로 움직인 폭은 직전 1분 ATR의 0.15 이하여야 합니다. 충분한 총거래량과 끊김 없는 피드를 요구합니다. 이 임계값들은 연구용 제안입니다.

대리 지표가 감지된 뒤 완성된 일 분봉을 최대 K=3개까지 기다리며 S+buffer 위에서 마감되는지 확인합니다. 해당 마감 뒤에 이용 가능한 호가에서만 진입하고, 전체 이벤트의 최저가에서 버퍼를 뺀 가격보다 아래에 보호 스톱을 둡니다. 하락형은 흐름과 가격 방향을 반대로 적용합니다.

다이버전스를 확인하려면 left=right=2를 기준으로 두 개의 가격 피벗 저점을 사용하십시오. 두 번째 피벗이 확인되면 P2<P1−buffer와 CVD(time_P2)>CVD(time_P1)+delta_min를 추가로 요구하십시오. 두 가격 피벗 시점의 CVD를 비교해야 하며, 독립적으로 선택된 두 개의 매력적인 CVD 저점을 비교해서는 안 됩니다. 두 지점 모두 동일한 리셋 기간에 속해야 합니다. 두 번째 피벗은 오른쪽 두 개의 캔들이 나타난 후에야 사용 가능해집니다.

흡수 측정 구간과 리클레임 대기 구간을 연결하는 규칙도 필요합니다. 후보를 활성화할 때 원래 지지선, 사건 시작 시각, 최저가를 저장합니다. 유리한 반등이 나타날 때까지 시작점을 최근의 대량 매도 구간으로 반복 이동하면 안 됩니다.

분류되지 않은 거래 또는 피드 갭으로 인해 양쪽 끝점에 숫자가 포함되어 있더라도 후속 CVD가 불완전해집니다. 새 재설정 또는 복구된 데이터로부터 성공적인 재구성이 이루어질 때까지 누적 세그먼트를 사용할 수 없음으로 표시합니다. 분류된 흐름이 전체 구간에 걸쳐 완료된 경우에만 피벗을 비교합니다. 두 피벗 이전에 알 수 없는 오프셋이 있는 경우 수학적으로 상쇄될 수 있지만, 이를 위해서는 공유 오프셋과 완전한 증분이 필요합니다. 이러한 보수적인 기준선에서도 유효한 세그먼트가 필요합니다.

on_trade(tr):
  if tr.id in seen_ids: return
  if tr.taker_side not in {BUY,SELL} or not valid_size_and_feed(tr):
    mark_window_and_cumulative_segment_unavailable_until_reset_or_rebuild(); return
  seen_ids.add(tr.id)
  signed_size = (+1 if tr.taker_side == BUY else -1)*normalized_size(tr)
  delta_bucket += signed_size
  CVD += signed_size
on_window_close(t):
  if not full_window_and_prior_baseline_available(t): return
  absorption = near_frozen_support and total_size>=configured_minimum
  absorption &= sell_share>=0.7 and sell_size>past_p95
  absorption &= downward_excursion<=0.15*ATR_before_window
  if absorption and no_active_event:
    arm_reclaim_candidate(known_at=window_data_ready_at,expiry=fixed_deadline)
on_price_pivot_confirmation(p2,t):
  p1 = previous_confirmed_price_low(p2)
  if p1 is None or not same_cvd_reset(p1,p2): return
  if missing_cvd_at_either_pivot(p1,p2): return
  if not complete_classified_flow_between(p1.occurred_at,p2.occurred_at): return
  if not cumulative_segment_valid(p1,p2): return
  divergence = p2.price<p1.price-buffer and cvd_at(p2)>cvd_at(p1)+dmin
  if divergence and no_active_event:
    arm_candidate(known_at=received_confirmation_time(t))
# Unclassified trades never default to SELL; overlapping windows do not reset TTL.

시각, 체결 분류와 거래량 단위

이벤트 시간, 수신 시간, 거래 ID 및 연결 상태를 기록해 두십시오. 캔들 색상이나 상승 틱을 이용한 근사치는 다른 추정 방법이므로 그에 맞게 이름을 지정하십시오. 특히, 이러한 방법은 가격이 거의 변하지 않는 상황에서 대량 매도세를 확실하게 구분할 수 없습니다. 거래 건수와 그 합계를 두 번 계산하지 마십시오.

수량을 고정 단위로 정규화합니다. 가격이 크게 바뀌면 코인 수량 기준 CVD와 명목금액 기준 CVD는 다르게 움직일 수 있습니다. 인버스 계약에는 별도의 수량 명세가 필요하며 수량 곱하기 가격을 일률 적용할 수 없습니다. 백분위수 기준은 현재 측정 구간을 제외해야 합니다.

CVD는 이미 체결된 테이커 흐름을 나타냅니다. OFI 연구는 호가 갱신 사건도 고려할 근거를 제공합니다 [3]. L2를 추가해도 아이스버그 주문의 주체를 알 수는 없습니다. S 근처의 매수호가 보충 통계는 유용할 수 있지만 일괄 갱신과 숨은 유동성 때문에 불완전합니다. 특성 이름과 근거 설명에 이 구분을 유지합니다.

합성 사례: 흡수 이후 이익과 다이버전스 이후 손실

S=100, 직전 ATR=2, buffer=0.10으로 둡니다. 30초간 매수량 20과 매도량 100이면 delta−80, 매도 비중 83.3%입니다. 과거 매도량의 백분위 기준값은 70입니다. 중간호가는 100.10에서 최저 99.85로 내려가 하락 폭이 0.25이며 한도 0.30보다 작습니다. CVD가 급격히 하락해도 흡수 대리 지표의 조건을 충족합니다.

다음 캔들은 100.20에서 마감됩니다. 100.25에서 매수하고, 99.75에서 손절매하고, 101.25를 목표가로 설정하면 위험은 0.50이고, 보상은 1.00 또는 비용 전 2R입니다. 만약 현재 시세가 100.60라면, 해당 목표가에 대한 보상은 0.65로 감소하고 위험은 0.85로 증가합니다. 미리 설정된 최소 보상/위험 규칙에 따라 진입이 거부될 수 있으며, 백테스트는 체결되지 않은 100.25를 유지할 수 없습니다.

별도의 다이버전스 실패 사례에서 가격 저점은 100과 99.50이고 같은 세션의 해당 시점 CVD는 각각 CVD−500과 −420입니다. 확인과 리클레임 후 매수가 100.15에 체결되고 스톱 설정가는 99.40입니다. 가격이 더 내려가 보호 주문이 99.35에 체결되어 0.80을 잃습니다. 다이버전스가 지정가 매수호가의 소멸이나 새로운 매도 물결을 막아주지는 않았습니다.

가격 확인 및 체결은 여전히 중요합니다.

가격이 계속 하락하는 동안에도 동일한 프록시가 여러 기간에 걸쳐 유지될 수 있습니다. 중복되는 기간을 하나의 이벤트로 묶고, 한 번의 진입 또는 제한된 재진입 정책을 지정할 수 있습니다. 만료, 오래된 데이터, 과도한 스프레드 또는 확인 전 미리 정해진 추가 하락 시 거래를 취소할 수 있습니다.

진입가를 개선하려는 수동적 지정가 주문은 리클레임 후 매수와 다릅니다. 낮은 체결 확률과 역선택은 좋은 가격이라는 겉보기 이점을 소모할 수 있습니다. 리플레이는 과거 최종 체결가격의 단순 접촉뿐 아니라 주문이 시장에 도착했을 때 이용 가능한 유동성을 확인해야 합니다.

Fixed-R, 알려진 VWAP 목표가 및 구조적 목표가는 별개의 청산 옵션입니다. 오전 거래에서는 세션의 마지막 VWAP를 사용할 수 없습니다. 계약이 청구 시간 동안 보유되는 경우 수수료, 슬리피지 및 펀딩을 포함해야 합니다.

피벗 확인을 기다리는 동안 이미 발생한 반등 폭을 측정합니다. 차트상 뚜렷한 다이버전스도 경제적으로는 너무 늦을 수 있습니다. 신호 전에 목표에 도달한 후보는 놓친 기회로 보고하며 앞선 반등을 확인 이후 전략의 수익으로 계산하지 않습니다.

델타 정보의 추가 효과 측정

같은 기준선, 시각, 변동성에서 가격만으로 판단한 리클레임을 대조군으로 씁니다. 흡수만, 다이버전스만, 둘의 조합을 비교합니다. 조건을 추가해도 수익이 반드시 개선되는 것은 아닙니다. 최종 선택된 거래의 승률만 제시하지 말고 확인되고 실제 체결된 후보도 보고합니다.

의도한 시스템에 적합하다면 100–500ms 같은 추가 지연을 주고 연결이 끊긴 구간을 별도 분석합니다. 이는 제안하는 시험이지 보편적인 지연 가정이 아닙니다. 스프레드 한 번의 비용만으로 결과가 사라진다면 그 취약성을 설명합니다.

거래소를 각각 평가하여 해당 거래소 흐름과 다른 시장에도 적용되는 신호를 구분합니다. CVD 초기화, 피벗 지연, 사건 중첩, 백분위수 추정은 차트 모양보다 결과를 더 바꿀 수 있습니다. 전처리를 버전 관리하고 데이터 부족 표시를 유지합니다.

단위 시나리오에는 거래량이 0인 기간, 공격자 측 정보 누락, 중복 거래 ID, 피벗 간 재설정, 기간 종료 후 지연되어 도착하는 거래 등이 포함되어야 합니다. 이러한 사례들은 단순히 산술 합계가 오류 없이 실행되는지 여부가 아니라, 해당 기능의 경제적 해석을 검증하는 데 도움이 됩니다.

흔한 실수

메커니즘 병합

흡수는 새로운 CVD 저점과 일치할 수 있으며, 발산이 요구되면 의도한 현상이 배제될 수 있습니다.

한 거래소를 시장 전체로 취급하기

다른 거래소에서는 적극적 체결 흐름이 다르거나 반대 방향일 수 있습니다.

호가 수량 감소를 모두 매도라고 부르기

표시 수량은 취소로도 사라집니다. 테이커 측에 따른 델타에는 체결 데이터가 필요합니다.

이 기법을 사용하기 전 체크리스트

자신의 데이터로 확인한 뒤 각 항목에 체크하세요. 진행 상태는 이 브라우저에 저장되며, 전략의 수익성을 인증하지는 않습니다.

0/7 개 항목

자주 묻는 질문

많은 거래량과 긴 꼬리만으로 흡수를 입증할 수 있나요?

그것은 더 약한 OHLCV 대리 지표일 뿐입니다. 본 정의에는 테이커 측으로 분류한 체결 흐름과 가격 이동 폭 측정이 필요합니다.

CVD 다이버전스가 발생하면 즉시 거래를 시작할 수 있을까요?

이는 특성이지 완결된 거래 시스템이 아닙니다. 이 글은 미래 정보를 쓰지 않는 가격 신호를 기다리며 진입 규칙을 별도로 정합니다.

연구 출처

각 출처는 옆에 설명된 정의나 근거를 뒷받침합니다. 의사코드, 가상 예시와 제안된 매개변수는 별도로 검증해야 합니다.

  1. Public TradeBybit. 테이커 측, 체결 시각, ID 필드 설명을 참조했습니다. 전략 검증이 아니라 데이터 문서입니다. 확인일: .
  2. OrderbookBybit. 표시 수량, 스냅샷·델타 갱신, 공개 호가장의 한계를 참조했습니다. 확인일: .
  3. The price impact of order book eventsCont, Kukanov and Stoikov. 체결 흐름과 호가에 관한 연구를 참조했습니다. 해당 연구는 이 흡수/CVD 탐지기를 시험하지 않습니다. 확인일: .

관련 기법

위험 안내

이 내용은 학습과 연구 설계를 위한 것이며 금융 조언이 아닙니다. Backtest는 과거 데이터 시뮬레이션으로, 미래 성과를 보장하지 않으며 실제 거래를 주문하지 않습니다. 이 라이브러리의 기법이 모두 앱에 구현된 기능은 아닙니다. 관련 정보: 검증 방법 및 학습 센터.

실제 자금을 투입하기 전에 규칙을 검증하세요

앱 지원 범위, 데이터와 개별 모의 거래를 확인하세요. 고급 탐지 기법은 별도 구현이 필요할 수 있습니다.

App Store에서 Backtest 다운로드