[Trading Machine Project] UPBIT ORDERBOOK / TICKER DB

immanuelk1m·2024년 2월 2일
0

Trading Machine Project

목록 보기
7/20

UPBIT DATA

  • 안정된 데이터 수집을 위해 Upbit Websocket API를 사용하여 데이터 수집
  • 데이터 종류로는 Ticker / OrderBook
  • Ticker : 현재가 변경 시 데이터 제공 (거래가 일어남에 따라 변화)
  • Orderbook : 단위 시간별로 수집된 주문을 정리한 호가창 제공
  • 24.1.20 ~ 현재 안정적으로 데이터 수집 中

빨간색 : Orderbook , 파란색 : Ticker

Upbit 개발자 센터

Ticker data와 Orderbook data 둘을 합치는 작업이 필요한지

DB Server : Google Cloud: Cloud Computing Services

  • DB Server에 필요한 서버 사양과 비용 측면을 고려해 GCP 사용
  • 300$ 무료 Credit 제공, 현재 100$ 남음으로 GCP 사용하게 될 경우 8,000원/일 정도의 서버비용 예상

  • 현재 새로운 구글 계정을 개설해 동일한 DB 개설 中

현재 Data 수집에 사용되는 서버 사양

DB : Influx DB

  • Timeseries Data에 최적화된 Database
  • BTC_TICKER, BTC_ORDER, ETH_ORDER, ETH_TICKER 각각 DB를 생성 후 수신되는 Websocket을 DB에 저장
  • Websocket이 끊어질 경우 다시 연결하도록 업데이트하였고, 해당 상황이 발생할 경우 일부 데이터 손실 발생

DB to Parquet (파케이)

  • 실제 Machine에서는 DB에 접속해 실시간 데이터를 읽어와 Task를 진행하는 구조가 되어야 함

  • 현재 데이터 수집에서는 CSV 파일 형태로 추출 시도

  • Orderbook Data : 호가 단위가 15개로 방대해 하루 2~3GB의 Orderbook CSV 파일이 생성됨

  • Ticker Data : 정보량이 많지 않아 Size가 상대적으로 적음 (약 500MB/1달)

  • DB -> CSV -> Parquet 과정에서 상당한 메모리가 소요

  • 32GB로 CSV 추출 시 2~3일 데이터 단위로 추출하여, Parquet로 변환

  • 변환 시 약 6GB -> 약 48.1MB (약 1/128배)로 압축 되는 것을 확인

profile
개발 새발

0개의 댓글

관련 채용 정보