국내 거래소에서는 과거 데이터를 조회할 수 있는
api 혹은 기능을 제공하지 않고 있습니다.
테스트가 끝나면 원화로 트레이딩을 하고 싶었지만
국내 거래소에서는 방법이 없었습니다.
binance api를 이용해서 과거 데이터를 가져오는데
성공했습니다.
바이낸스 공식 api 문서 입니다.
https://binance-docs.github.io/apidocs/spot/en/#kline-candlestick-data
symbol은 원화 티커를 제공하고 있지 않기 때문에
BTC/USDT 티커로 시세를 조회합니다.
interval로 들어갈 수 있는 값은 enum 타입으로 되어있는데 가능한 값들은
1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M
입니다.
API 입력으로 들어가는 조회시작일자와
조회종료일자는 timestamp 형식으로 들어갑니다.
밀리초 단위입니다.
입력이 datetime 형식인 경우 밀리초형식 timestamp로 변환해야 합니다.
소수점 이하 초 단위는 의미가 없고
이렇게 저렇게 형변환하기 귀찮아서 문자열로 처리했습니다.
#
요청 url 샘플코드입니다.
응답으로 오는 값에 대한 바이낸스 공식 api 명세 입니다.
바이낸스 문서 General Info에서
json 혹은 배열의 형식이라고 합니다.
그리고 데이터는 오름차순이고,
시간 혹은 timestamp에 관한 값들은 밀리초 라고 되어있습니다.
응답으로 온 값에 timestamp 밀리초 형식으로 오는
시간에 관한 값을 쉽게 알아볼 수 있도록 변환해줘야 편합니다.
#
응답으로 받은 1분봉 데이터를 연-월-일 시:분:초 형식으로 바꾼
pycharm 디버그 창 스크린 샷입니다.
#
바이낸스 문서에 짧은 시간동안 많은 요청이 들어오면
자동으로 ip 차단을 한다고 명시했습니다.
한번 막히게 되면 2분에서 3일까지 막힌다고 되어있네요
#
다음 개발 항목
1. 막히지 않도록 일정간격 텀을 두고 반복 요청 기능
2. 가져온 가격 데이터를 csv로 저장(일단위 파일, 분봉 데이터 예정)
(평일에도 회사에서 코딩해야 하는데...어으...)
'IT | 프로그래밍' 카테고리의 다른 글
빅데이터분석기사 7회 실기합격 최종합격 (4) | 2024.01.04 |
---|---|
[시스템트레이딩 자동매매] 업비트 API 과거 가격 데이터 수집 안됩니다 (2) | 2020.12.13 |
[python] 시스템트레이딩 자동매매 비트코인 가격 데이터 가져오기 (스크레이핑) 사전조사 업비트 API (0) | 2020.12.12 |