pizzaplanet

바이낸스 과거 캔들 가져오기 본문

Univ./Trading Program Project

바이낸스 과거 캔들 가져오기

scio 2018. 4. 18. 17:51

historical candle을 가져와보자.(이번에도 Sammchardy씨의 패키지를 이용하자 ㅎ)



Get Historical Candlesticks(Kline) at Binance





1
2
3
4
5
6
7
8
9
10
11
12
13
from binance.client import Client
import binance_api_key as bak
from pprint import pprint as p
import time
 
start_time = time.time()
 
BTC='BTCUSDT'
client = Client(bak.getApiKey(),bak.getSign())
klines = client.get_historical_klines(BTC, Client.KLINE_INTERVAL_1MINUTE, "2 minute ago UTC")
p(klines)
 
print("--- %s seconds ---" % (time.time() - start_time))
cs



Client.KLINE_INTERVAL_1MINUTE -> 봉 크기 결정 부분 - 1분봉을 가져와라!

"2 minute ago UTC" -> 과거 2분치를 가져와라!


참고로 봉의 크기는 Document를 참고하여 설정할 수 있다.

KLINE_INTERVAL_1MINUTE = '1m'
KLINE_INTERVAL_3MINUTE = '3m'
KLINE_INTERVAL_5MINUTE = '5m'
KLINE_INTERVAL_15MINUTE = '15m'
KLINE_INTERVAL_30MINUTE = '30m'
KLINE_INTERVAL_1HOUR = '1h'
KLINE_INTERVAL_2HOUR = '2h'
KLINE_INTERVAL_4HOUR = '4h'
KLINE_INTERVAL_6HOUR = '6h'
KLINE_INTERVAL_8HOUR = '8h'
KLINE_INTERVAL_12HOUR = '12h'
KLINE_INTERVAL_1DAY = '1d'
KLINE_INTERVAL_3DAY = '3d'
KLINE_INTERVAL_1WEEK = '1w'
KLINE_INTERVAL_1MONTH = '1M'


위 코드의 Response는 현재 쌓아지고 있는 봉 1개, 이미 완성된 봉 1개가 오게 된다. 


만약 Client.KLINE_INTERVAL_1MINUTE, "3 minute ago UTC" 이렇게 할 경우 1분봉 3개를 가져온다.

현재 쌓아지고 있는 봉 1개, 이미 완성된 봉 2개.


Response 구조는 Binance 공식 문서를 봐야한다. 현재 이용하고 있는 package의 Response가 Binance 공식 API Reponse 구조를 따르기 때문이다. 여튼 자세히 들여다 보면 아래와 같은 구조인데 2차원 list 구조로 이루어져 있다.

[
  [
    1499040000000,      // Open time
    "0.01634790",       // Open
    "0.80000000",       // High
    "0.01575800",       // Low
    "0.01577100",       // Close
    "148976.11427815",  // Volume
    1499644799999,      // Close time
    "2434.19055334",    // Quote asset volume
    308,                // Number of trades
    "1756.87402397",    // Taker buy base asset volume
    "28.46694368",      // Taker buy quote asset volume
    "17928899.62484339" // Ignore
  ]
]


klines = client.get_historical_klines(BTC, Client.KLINE_INTERVAL_1MINUTE, "2 minute ago UTC")

이 경우 klines[0]은 현재 쌓아지고 있는 1분봉, klines[1]은 이미 완성된 1분 전 캔들을 가져온다.

더 나아가 klines[0][5]는 현재 쌓아지고 있는 1분봉의 볼륨을 가져오게 된다.





'Univ. > Trading Program Project' 카테고리의 다른 글

AI Trading Model Research  (0) 2018.05.08
바이낸스 실시간 tick 가져오기  (4) 2018.04.18
Binance rest-api 이용해보기  (2) 2018.03.13
팀 분배 및 팀 이슈  (0) 2018.03.13
Server ssh, ftp setting  (2) 2018.03.10
Comments