지난 글에서는 ep2.레버리지 설정을 다뤄봤습니다
2022.12.29 - [파이썬/가상화폐] - Python 바이낸스 거래소 선물자동매매 개발 가이드 ep2.레버리지 설정
이번에는 선물거래 마진타입 설정을 알아보도록 하겠습니다.
마진타입이란 레버리지 설정 좌측에 위치한 마진 모드를 의미합니다. 교차(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 - [파이썬/가상화폐] - [전자책] 바이낸스 코인선물자동매매 시스템 개발 방법을 담은 책이 출시되었습니다.
2022.11.05 - [파이썬/가상화폐] - [공지] 코인거래소별 프리미엄 체크봇 개발 가이드와 풀소스 전자책 | binance bybit | 업비트 김치프리미엄
'파이썬 > 가상화폐' 카테고리의 다른 글
Python 바이낸스 거래소 선물자동매매 개발 가이드 ep4.잔고 포지션 조회 (0) | 2023.01.05 |
---|---|
비트코인 강세장 주기와 프로그래밍을 배워둬야 하는 이유 (2) | 2023.01.02 |
Python 바이낸스 거래소 선물자동매매 개발 가이드 ep2.레버리지 설정 (0) | 2022.12.29 |
Python 바이낸스 선물자동매매 개발 가이드 ep1.프롤로그&패키지 설치 (4) | 2022.12.29 |
[전자책] 바이낸스 코인선물자동매매 시스템 개발 방법을 담은 책이 출시되었습니다. (6) | 2022.12.27 |
댓글