일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Conference
- 코딩테스트
- 구글스타트업캠퍼스
- 머신러닝
- 오픈소스해커톤
- SageMaker
- API
- gcp
- OPENHACK
- rl
- BOAZ
- Qwik Start
- SW중심대학
- re:Invent
- Community Day
- 해커톤
- ainize
- 뉴비톤
- GDG Campus
- 스터디 잼
- aws
- Tensorflow 2.0
- Open Hack
- Speech
- seq2seq
- Backend.AI
- entity
- Ground Truth
- CSIP
- kakao
Archives
- Today
- Total
pizzaplanet
바이낸스 과거 캔들 가져오기 본문
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