본문으로 건너뛰기

시장 데이터

종목, 캔들, 최신 가격, 호가창, 체결, 거래량 클러스터를 읽습니다.

이 페이지의 모든 호출에는 market:read 권한이 필요합니다. 가격과 수량은 십진수 문자열이고, 시간은 UTC 밀리초입니다.

종목 찾기

종목에는 주소가 있습니다: exchange:market:symbol. 예: binance:futures:BTCUSDT. 심볼은 거래소가 쓰는 표기 그대로 쓰므로 카탈로그에서 가져옵니다.

page = terminal.instruments(exchange="binance", market="futures", q="BTC", limit=50)
for item in page.data:
    print(item.instrument, item.tick_size, item.lot_size)

카탈로그 전체를 페이지 단위로 읽으려면 Python에서는 iter_instruments()를, TypeScript에서는 iterInstruments()를 사용합니다.

캔들

candles = terminal.candles("binance:futures:BTCUSDT", "1m", limit=500)
for candle in candles.data:
    print(candle.ts, candle.open, candle.high, candle.low, candle.close, candle.volume)
인자의미
interval1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w, 1M. 전체 목록은 intervals()에 있습니다.
limit캔들 개수, 최대 2000. 기본값은 500입니다.
endUTC 밀리초로 나타낸 오른쪽 경계. 기본값은 현재 시각입니다.

캔들은 오래된 것부터 옵니다. ts는 캔들의 시작 시각입니다. 더 오래된 기록을 불러오려면 가지고 있는 가장 오래된 캔들의 ts를 end로 전달합니다.

최신 가격

스냅샷에는 종목의 최우선 매수·매도 호가, 마지막 체결, 마크 가격, 24시간 티커가 들어 있습니다.

snapshot = terminal.snapshot("binance:futures:BTCUSDT")
print(snapshot.best_bid, snapshot.best_ask, snapshot.mark_price)

필드는 데이터가 도착할 때까지 비어 있습니다. 첫 호출을 참고하십시오.

호가창

book = terminal.orderbook("binance:futures:BTCUSDT", depth=20)
print(book.bids[0], book.asks[0])

depth는 각 방향의 레벨 수입니다. 1부터 200까지이며 기본값은 50입니다. 매수 호가는 최우선 가격에서 아래로, 매도 호가는 최우선 가격에서 위로 나열됩니다. 레벨은 가격과 수량입니다.

최근 체결

trades = terminal.trades("binance:futures:BTCUSDT", limit=200)
newer = terminal.trades("binance:futures:BTCUSDT", since_ts=trades.data[-1].ts)

체결은 오래된 것부터 옵니다. 터미널은 종목마다 마지막 체결 1000건을 보관합니다. ts는 터미널이 체결을 받은 시각이고, exchange_ts는 거래소의 시각입니다.

거래량 클러스터

클러스터 버킷은 한 인터벌 동안 각 가격에서 거래된 거래량입니다.

clusters = terminal.clusters("binance:futures:BTCUSDT")
for bucket in clusters.data:
    print(bucket.ts, bucket.volume, bucket.buy_volume, bucket.sell_volume)
    for level in bucket.levels:
        print(level.price, level.buy_volume, level.sell_volume)

응답에는 최신 버킷이 최대 10개, 오래된 것부터 들어 있습니다. 인터벌은 터미널에서 해당 종목에 선택한 값이며 기본값은 5m입니다. API로는 바꿀 수 없습니다. 사용 중인 인터벌은 clusters.interval로 알 수 있습니다.

첫 호출

최신 가격, 호가창, 체결, 클러스터는 터미널의 메모리에서 읽습니다. 종목이 터미널에 열려 있지 않으면 첫 호출이 거래소에서 그 종목을 구독하고 데이터를 최대 3초 기다립니다. 그 뒤 터미널이 구독을 30초 동안 유지하므로 다음 호출은 바로 응답합니다.

상황받는 응답대처 방법
데이터가 아직 다 도착하지 않음일부 필드가 비어 있는 스냅샷몇 초 후 다시 호출합니다
호가창이 3초 안에 준비되지 않음503 unavailable다시 호출합니다
클러스터가 아직 계산되지 않음409 not_active몇 초 후 다시 호출합니다
종목이 너무 많거나, 초당 새 종목이 너무 많음429 rate_limited속도를 줄입니다. 제한을 참고하십시오

가격을 계속 따라가려면 호출을 반복하지 말고 스트림을 사용합니다.

사용되는 연결

터미널에는 같은 거래소와 마켓에 대한 연결이 여러 개 있을 수 있습니다. 모든 호출은 선택 인자 connection_id를 받습니다. 없으면 터미널은 켜져 있는 거래용 연결을 사용하고, 그런 연결이 없으면 읽기 전용 연결을 사용합니다. 응답에는 사용된 연결이 항상 표시됩니다.

제공되지 않는 것

모스크바 거래소(MOEX)의 데이터는 제공하지 않습니다. moex: 종목에 대한 모든 호출은 501 unsupported로 응답합니다.

이 페이지의 내용