-
FTX 거래소 API 이용하기 - 펀딩피 불러오기기타/가상화폐 2021. 9. 13. 10:21반응형
잘 알려져 있지도 않고, 거래량이 많은 것도 아니며, 수수료가 싼 것도 아닌 FTX를 굳이 이용하려는 사람은 대부분 일반적인 트레이딩은 잘 하지 않을 것이다.
펀딩피 받아먹는 걸 좋아하는 사람이 많을 거라고 본다. 다른 거래소와 다르게 매시간 펀딩피를 지급하기 때문이다.
나도 그거 외의 경우엔 거의 안 쓴다.
FTX의 펀딩피 데이터를 받는 경로는 세 가지가 있다.
1. 홈페이지에서 csv 파일로 받기
2. CCXT 라이브러리 이용하기
3. api 이용하기
그런데 홈페이지에서 다운로드하는 건 번거롭고, ccxt에서는 무슨 방법을 써도 펀딩피 데이터가 안 불러와진다.
펀딩피를 불러오는 함수는 있지만 거래소 자체가 따로 지원을 안 하는 것 같다.
그래서 파이썬으로 FTX의 api를 이용해서 펀딩피 데이터를 가져오는 방법에 대해 알아보자.
API 기본적인 조회법
홈페이지의 api문서를 보면 잘 나와있다.
나는 전공자도 아니고 전문적으로 배워본 적도 없어서 솔직히 무슨 설명인지는 대부분 모르겠다.
대충 아래의 이 부분만 알고있으면 사용하는 데 큰 문제는 없는 것 같다.
REST endpoint URL: https://ftx.com/api Requests and responses use JSON.
대충 ftx.com/api로 데이터를 요청해서 json 형식으로 받는다는 뜻이다.
따라서,
import requests requests.get('https://ftx.com/api/원하는 내용').json()
이런식으로 요청을 넣으면 된다.
펀딩피 불러오기
api문서의 futures(선물) 항목의 get funding rates라는 하위항목을 보자.
/funding_rates 로 요청을 넣으면 아래와 같은 응답이 나온다고 적혀있다.
제시한 방식대로 입력하면 아래와 같은 결과를 얻을 수 있다.
api 문서에 따르면 불러오는 데이터의 시작시간과 종료시간을 설정할 수 있다고 되어있는데,
부족한 내 실력 탓인지 안 된다.
문서에서 제시한 방법대로라면 아래와 같이 작성하면 된다.
requests.get('http://ftx.com/api/funding_rates/?start_time=1559881511&end_time=1559881711').json() #start_time, end_time에는 원하는 시간을 timestamp 형식으로 입력
간단한 데이터 가공
펀딩피 전략을 이용하려면 당연히 해당 종목이 FTX에 현물시장과 선물시장이 있어야 한다.
그러므로 우선은 현물, 선물시장 모두 존재하는 종목을 찾아야 한다
temp = ftx.fetch_tickers() ticker = [] exception = ['PAXG-PERP','XAUT-PERP','CUSDT-PERP'] # 쓸모없는 종목 필터링 spot = [] # 현물시장 존재여부 체크 for i in temp: if '-PERP' in i and i not in exception: ticker.append(i) # 현물시장 여부 필터링 temp2 = ftx.fetch_tickers() spot = [] for i in temp2: ## 현물시장 티커 조회 if '/USD' in i: x = i.split('/USD')[0] + '-PERP' spot.append(x) ## 현선물 공통된 종목 뽑아내기 for i in ticker: if i in spot: pass else: ticker.remove(i)
그런 다음 펀딩피를 조회하고 데이터프레임으로 만들자
temp = requests.get('https://ftx.com/api/funding_rates').json()['result'] dic = {} for idx in range(len(temp)): name = temp[idx]['future'] ff = round(temp[idx]['rate']*100,4) dic[name] = ff df = pd.DataFrame(index=dic.keys(),data=dic.values(),columns=['FF(%)']) df.sort_values(by='FF(%)',ascending=False)
펀딩피(%)가 높은 순으로 정렬하면 아래와 같이 나오게된다.
이제 이 데이터를 자유롭게 가공해서 투자하면 된다.
반응형'기타 > 가상화폐' 카테고리의 다른 글
[파이썬] 업비트 인덱스 UBCI 크롤링하기 (0) 2021.11.23 AWS Lightsail에서 가상화폐 자동매매 봇 돌리기 - 초보자도 이해 가능 (0) 2021.09.19 파이썬으로 바이낸스에서 데이터 크롤링하기 (1) 2021.07.11 가상화폐 알고리즘 투자, 헤이비트 2달 투자후기 (1) 2021.06.06 디파이에 숏을 결합하면 어떻게 될까? (아이디어 실험) (1) 2021.06.04