
Cross Exchange Arbitrage Bot의 기능
Cross Exchange Arbitrage Bot은 암호화폐 거래소 간 가격 차이를 식별하기 위한 Windows 데스크톱 도구로 소개됩니다. README에 따르면 Binance, OKX, Bybit, Kraken, Gate 및 탈중앙화 거래소를 실시간으로 모니터링합니다.
동일한 자산이 서로 다른 가격으로 거래될 때 봇은 테이커 수수료, 출금 비용 및 예상 슬리피지를 반영해 해당 차이가 수익성을 유지하는지 추정합니다. 스프레드가 설정된 임계값을 통과하면 봇은 더 저렴한 거래소에서 매수하고 더 비싼 거래소에서 동시에 매도하려고 시도할 수 있습니다.
이 프로젝트의 거래 및 수익성 관련 주장은 README에서 독립적으로 검증되지 않았습니다. 다운로드한 파일을 주의 깊게 검토하고, 소액으로 테스트하며, 잃어도 감당할 수 없는 자금은 절대 위험에 노출하지 마세요.
주요 기능
- 거래소 간 스캔: 지원되는 중앙화 거래소와 DEX의 가격 차이를 확인합니다.
- 동시 실행: 기회가 발생하는 동안 자산을 전송하는 대신 매수와 매도 주문을 함께 제출하려고 시도합니다.
- 수수료 반영 필터링: 순 스프레드를 계산할 때 테이커 수수료, 슬리피지 및 출금 비용을 반영합니다.
- 삼각 차익 모드: 한 거래소에서 BTC에서 알트코인으로, 다시 USDT로, 그리고 BTC로 돌아오는 방식과 같은 3개 시장 순환 경로를 찾습니다.
- 펀딩 금리 모니터링: 무기한 시장의 펀딩 금리 차이를 추적합니다.
- 로컬 API 구성: README에 따르면 거래소 키는 로컬 구성에 보관되며 출금 권한 없이 거래 권한만 부여해야 합니다.
- 세션 기록: 스프레드, 거부된 기회 및 체결 내역을
arb.csv에 기록합니다.
거래 모델 이해하기
거래를 시작하기 전에 거래소 간 차익거래를 위해서는 양쪽 거래소에 잔액이 있어야 합니다. 예를 들어 봇이 Binance에서 자산을 매수하려면 Binance에 기준 통화가 필요하고, Bybit에서 매도하려면 동일한 자산이 Bybit에 필요할 수 있습니다. 이러한 사전 배치는 블록체인 전송을 기다리지 않도록 해주지만, 재고 및 거래소 수탁 위험을 발생시킵니다.
눈에 보이는 스프레드가 수익성 있는 거래와 같은 것은 아닙니다. README에는 Binance에서 자산이 $2.841, Bybit에서 $2.849로 표시되는 예가 나옵니다. 표시된 차이는 약 0.28%이지만, 수수료와 예상 슬리피지를 반영하면 예상 순 스프레드는 0.15%로 줄어듭니다.
[15:22:09] SPREAD ALT9: Binance $2.841 vs Bybit $2.849 (+0.28%)
[15:22:09] FEES Taker x2: 0.10% Slippage est: 0.03% | Net: +0.15%
[15:22:09] PLAN Buy 0.35 BTC worth on Binance | Sell same on BybitREADME는 총 스프레드가 비용을 반영한 후 사라지기 때문에 많은 기회를 거부해야 한다고 강조합니다. 따라서 거부는 스캐너 동작에서 예상되는 부분입니다.
설치 및 설정
1. 패키지 다운로드 및 검사
프로젝트의 다운로드 페이지를 사용한 다음, 패키지를 C:\Bots\Cross-Arb와 같은 전용 디렉터리에 압축 해제합니다.
설치 과정에서 다운로드한 실행 파일을 실행하며 README에는 체크섬이나 소스에서 빌드하는 검증 절차가 설명되어 있지 않으므로, 파일을 열기 전에 아카이브와 실행 파일을 검사하세요. 다운로드 출처를 확인하고, 가능한 경우 파일 서명을 검토하며, 먼저 격리된 환경에서 테스트하는 방안을 고려하세요.
2. 종속성 설치
PowerShell을 열고 압축을 해제한 디렉터리로 이동한 다음 README에 표시된 종속성 설치 명령을 실행합니다. 이 단계에서는 시스템에서 npm을 사용할 수 있어야 합니다.
cd C:\Bots\Cross-Arb
npm install3. 제한된 거래소 API 키 생성
각 거래소의 공식 계정 대시보드를 통해 별도의 API 자격 증명을 생성합니다. 거래에 필요한 권한만 활성화하세요. 출금 권한은 활성화하지 마세요. 그런 다음 제공된 키 명령으로 자격 증명을 추가합니다.
.\carb.exe keys add binance --trade-only
.\carb.exe keys add bybit --trade-only설치된 패키지가 지원하는 거래소에 대해서만 문서화된 패턴을 반복하세요. 최종 권한은 각 거래소 대시보드에서 직접 확인합니다. 출금 권한이 없는 키는 한 가지 위험 요소를 줄여주지만, 거래 권한이 활성화된 키도 탈취되거나 잘못 구성되면 유해한 주문을 실행할 수 있습니다.
4. 스캔 한도 설정
다음 명령은 Binance, Bybit 및 OKX를 선택하고, 최소 순 스프레드를 0.15%로 설정하며, 각 거래 구간을 $350로 제한합니다.
.\carb.exe config --min-net-spread 0.15 --max-leg 350 --exchanges binance,bybit,okx수수료, 유동성, 계정 잔액 및 위험 감내 수준을 반영하는 값을 선택하세요. 임계값을 낮게 설정하면 지연이나 예상치 못한 슬리피지로 사라지는 기회가 포함될 수 있습니다.
5. 봇 시작
.\carb.exe start첫 번째 세션을 면밀히 지켜보세요. 거래소, 심볼, 주문 규모, 수수료 가정 및 계정 잔액이 의도한 설정과 일치하는지 확인합니다.
config.json으로 규칙 설정
README에는 다음과 같은 config.json 예시도 제공됩니다.
{
"exchanges": ["binance", "bybit", "okx"],
"min_net_spread_pct": 0.15,
"max_leg_usd": 350,
"daily_profit_target_usd": 100,
"fee_math": {
"taker_both_sides": true,
"slippage_buffer_pct": 0.05,
"reject_below_net": true
},
"triangular_mode": false,
"funding_monitor": true
}- exchanges: 스캔에 포함할 거래소를 정의합니다.
- min_net_spread_pct: 모델링된 비용을 차감한 후의 최소 스프레드를 설정합니다.
- max_leg_usd: 각 거래 구간에 설정할 금액의 한도를 지정합니다.
- daily_profit_target_usd: 구성에서 사용하는 일일 목표 금액을 기록합니다.
- taker_both_sides: 수수료 계산에 양쪽 거래의 테이커 비용을 포함합니다.
- slippage_buffer_pct: 관측 가격과 체결 가격의 차이를 고려할 버퍼를 추가합니다.
- reject_below_net: 순 스프레드 요건보다 낮은 기회를 거부합니다.
- triangular_mode: 단일 거래소 삼각형 스캔을 활성화하거나 비활성화합니다.
- funding_monitor: 무기한 선물 펀딩 차이 모니터링을 활성화합니다.
예시 값이 모든 거래소나 시장에 적합하다고 가정하지 마세요. 각 거래소가 게시한 최신 수수료 일정 및 최소 주문 요건과 구성을 비교하세요.
콘솔 출력 읽기
콘솔 레이블을 사용하면 기회의 전체 생명주기를 추적할 수 있습니다.
- SCAN: 모니터링 중인 페어와 거래소의 수를 표시합니다.
- SPREAD: 두 가격과 총 백분율 차이를 보여 줍니다.
- FEES: 모델링된 수수료, 슬리피지 및 그 결과인 순 스프레드를 표시합니다.
- PLAN: 예정된 매수 및 매도 거래 구간을 설명합니다.
- EXEC: 제출된 각 주문의 체결 가격을 보고합니다.
- DONE: 애플리케이션이 표시하는 실현 수익률과 금액을 보고합니다.
[15:22:11] EXEC Leg 1: BUY filled @ 2.8412 (Binance)
[15:22:11] EXEC Leg 2: SELL filled @ 2.8487 (Bybit)
[15:22:11] DONE +0.14% realized — $4.90 on this leg예정 수익과 실현 수익은 서로 다를 수 있습니다. 결과를 확인할 때 애플리케이션 요약만 relying하지 말고 실제 거래소 체결 내역, 수수료 및 계정 잔액 변동을 사용하세요.
모든 거래 검증
- 두 체결 ID를 기록하세요. 봇이 출력한 식별자를 각 거래소의 주문 내역과 대조하세요.
- 체결 수량을 확인하세요. 매수 및 매도 거래 구간이 예정된 수량만큼 체결되었는지 확인하세요.
- 실제 가격과 수수료를 확인하세요. 거래소가 보고한 체결 가격과 수수료를 사용해 결과를 다시 계산하세요.
- arb.csv를 검토하세요. 세션 로그를 거래소의 공식 기록과 비교하세요.
- 거부된 스프레드를 점검하세요. 구성된 수수료 및 슬리피지 필터가 순 임계값보다 낮은 기회를 제외하는지 확인하세요.
- API 권한을 다시 확인하세요. 모든 키에서 출금 권한이 계속 비활성화되어 있는지 확인하세요.
고급 팁 및 위험 관리
거래 규모를 보수적으로 유지하세요
대규모 주문은 호가창의 여러 가격 수준을 소진하고 더 큰 슬리피지를 겪을 수 있습니다. README는 소규모 거래를 명시적으로 권장하며 실제 스프레드 처리 가능 규모가 제한적이라고 설명합니다. 낮은 max_leg_usd 값으로 시작하고 변경을 고려하기 전에 예상 슬리피지와 실제 체결을 비교하세요.
양쪽 거래소에 재고를 유지하세요
동시 실행을 위해서는 양쪽에 자산이 있어야 합니다. 한 거래소에서 반복적으로 매수하고 다른 거래소에서 매도하면 계정 잔액이 불균형해질 수 있으므로 매 거래 후 잔액 변동을 모니터링하세요. README는 이러한 재고 요건을 봇이 제거할 수 없는 위험으로 설명합니다.
현실적인 순 스프레드 하한을 사용하세요
최소 임계값은 지연 시간과 유동성 변화에 적합한 여유를 두고 모델링된 비용을 초과해야 합니다. 주문이 체결되기 전까지 수수료 모델은 추정치일 뿐입니다. 테이커 수수료율, 계정 수수료 등급 및 슬리피지 가정을 정기적으로 검토하세요.
삼각형 모드와 펀딩 모드를 별도로 평가하세요
삼각 차익거래와 펀딩 금리 모니터링은 두 거래소 간 현물 스프레드와 다른 시장 구조를 사용합니다. 세 번의 환전 과정과 누적 수수료를 이해하지 못한다면 triangular_mode를 비활성화 상태로 유지하세요. 펀딩 차이는 확정 수익이 아니라 모니터링 정보로 취급하세요.
API 자격 증명을 보호하세요
- 기존 자격 증명을 재사용하지 말고 이 애플리케이션 전용 키를 만드세요.
- 출금 권한은 절대 부여하지 마세요.
- 설정에 적합하다면 거래소가 지원하는 IP 제한을 적용하세요.
- 로컬 구성 파일을 공유 폴더나 암호화되지 않은 백업에 보관하지 마세요.
- 컴퓨터나 다운로드한 패키지가 침해되었을 가능성이 있으면 즉시 키를 폐기하세요.
결론
Cross Exchange Arbitrage Bot README는 여러 거래소를 스캔하고 수수료 및 슬리피지 추정치를 사용해 스프레드를 필터링하며 쌍으로 구성된 거래를 제출할 수 있는 도구를 설명합니다. 가장 유용한 제어 항목은 최소 순 스프레드, 최대 거래 구간 규모, 거래소 선택, 수수료 모델 및 로컬 거래 전용 API 구성입니다.
차익거래는 위험이 없는 활동이 아닙니다. 부분 체결, 가격 변동, 거래소 장애, 재고 노출, 부정확한 수수료 가정 및 API 자격 증명 탈취는 모두 손실을 초래할 수 있습니다. 실행하기 전에 소프트웨어를 검증하고, 보수적으로 시작하며, 보고된 모든 결과를 거래소 자체 기록과 대조하세요.
