본문 바로가기
파이썬/가상화폐

Python 바이낸스 거래소 선물자동매매 개발 가이드 ep3.마진타입 설정(교차 vs 격리)

by 행복론자 2022. 12. 31.

지난 글에서는 ep2.레버리지 설정을 다뤄봤습니다

2022.12.29 - [파이썬/가상화폐] - Python 바이낸스 거래소 선물자동매매 개발 가이드 ep2.레버리지 설정

 

Python 바이낸스 거래소 선물자동매매 개발 가이드 ep2.레버리지 설정

지난 글에서는 ep1.프롤로그&패키지 설치까지 다뤄봤습니다. 2022.12.29 - [파이썬/가상화폐] - Python 바이낸스 선물자동매매 개발 가이드 ep1.프롤로그&패키지 설치 Python 바이낸스 선물자동매매 개발

jsp-dev.tistory.com

 

이번에는 선물거래 마진타입 설정을 알아보도록 하겠습니다.

마진타입이란 레버리지 설정 좌측에 위치한 마진 모드를 의미합니다. 교차(cross)와 격리(isolated) 둘 중 하나로 설정할 수 있으며 둘의 차이는 Binance 공식 문서에서 확인할 수 있습니다. 

 

선물거래를 자동매매로 하시려는 분들은 마진모드의 차이를 아리시라 믿지만 혹시 모르는 분들이 계실까봐 간략히 설명하도록 하겠습니다.

▶교차(cross): 선물계정의 모든 자산을 증거금으로 사용합니다. 따라서 보유한 USDT 중 절반만을 이용해 포지션을 잡아도 마진이 줄어들 경우, 남은 USDT를 이용해 자동으로 소위 물타기를 하게 됩니다. 즉, 만약 청산당하게 되면 모든 자산을 잃을 수 있습니다. 

▶격리(isolated): 교차와 반대로 정해진 고정된 증거금만을 이용합니다. 위 예에서 만약 절반의 USDT 담보가 청산당하더라도 나머지 50%의 USDT는 그대로 보유하게 됩니다.

어느 마진타입을 사용하냐에 정해진 답은 없지만 본 프로젝트에서 다루지는 않더라도 추후 사용할 수도 있는 분할진입 기능을 구현하기 위해 격리(isolated)모드를 사용하도록 하겠습니다. 
(※분할진입 기능은 오프라인/온라인 강의에서 다룰 예정입니다.)

 

 

그럼 코드를 이용해 확인해보겠습니다. 샘플 코드의 링크는 다음과 같습니다. 이 코드를 복사해 main.py에 붙여넣어보도록 하겠습니다. 

main.py

import logging
from binance.um_futures import UMFutures
from binance.lib.utils import config_logging
from binance.error import ClientError
import os

config_logging(logging, logging.DEBUG)

key = os.getenv("BINANCE_API_KEY")
secret = os.getenv("BINANCE_SECRET_KEY")

um_futures_client = UMFutures(key=key, secret=secret)

try:
   response = um_futures_client.change_margin_type(
       symbol="BTCUSDT", marginType="ISOLATED", recvWindow=6000
   )
   logging.info(response)
except ClientError as error:
   logging.error(
       "Found error. status: {}, error code: {}, error message: {}".format(
           error.status_code, error.error_code, error.error_message
       )
   )

 

 

레버리지 설정과 마찬가지로 샘플코드에는 key, secret 값이 없는 상태이기 때문에 os.getenv 함수를 이용해 조회하도록 수정했습니다. 실행해보면 다음과 같이 마진타입을 변경할 필요가 없다는 문구가 나올 수 있습니다. 

 

 

그 이유는 원래 격리모드를 사용하고 있는 상태에서 마진타입을 격리로 바꾸려고 하기 때문에 나오는 문구이며 만약 교차로 변경하려고 한다면 change_margin_type 함수로 전달하는 marginType 파라미터를 CROSSED로 변경하면 됩니다.

response = um_futures_client.change_margin_type(
   symbol="BTCUSDT", marginType="CROSSED", recvWindow=6000
)

 

 

위 코드를 다시 실행하면 변경이 성공(success)했다는 응답이 옵니다.

 

Binance앱에 들어가도 실제로 마진모드가 CROSS로 변경되어 있음을 알 수 있습니다.

 

 

마진타입 설정은 한 번 설정해두면 다시 변경할 필요가 없기 때문에 수동으로 변경해도 되지만 자동매매 시스템을 운영하며 다양한 pair를 사용해 거래할 수도 있기 때문에 다뤘습니다.


같이 읽어보면 좋은 글

2022.12.27 - [파이썬/가상화폐] - [전자책] 바이낸스 코인선물자동매매 시스템 개발 방법을 담은 책이 출시되었습니다.

 

[전자책] 바이낸스 코인선물자동매매 시스템 개발 방법을 담은 책이 출시되었습니다.

🎁 바이낸스 자동매매 시스템 개발 방법을 담은 책이 출시되었습니다. "나 대신 일해주는 코인선물자동매매 프로그램 개발, 노하우 및 소스를 모두 공개합니다" ✔️ Q: 무슨 내용인가요? Python

jsp-dev.tistory.com

 

2022.11.05 - [파이썬/가상화폐] - [공지] 코인거래소별 프리미엄 체크봇 개발 가이드와 풀소스 전자책 | binance bybit | 업비트 김치프리미엄

 

[공지] 코인거래소별 프리미엄 체크봇 개발 가이드와 풀소스 전자책 | binance bybit | 업비트 김치프

https://kmong.com/gig/417785 거래소별 코인 프리미엄 알림봇 개발 가이드를 드립니다 | 36000원부터 시작 가능한 총 평점 5점의 3개 총 작업 개수 완료한 총 평점 5점인 JSDEV의 전자책, 투잡·재테크 전자

jsp-dev.tistory.com

반응형
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

댓글