Huobi USDT Swaps historical market data details - instruments, data coverage and data collection specifics
Huobi USDT Swaps historical data for all it's instruments is available since 2020-10-30.
Historical CSV datasets for the first day of each month are available to download without API key. See downloadable CSV files documentation.
Historical data format is the same as provided by real-time Huobi USDT Swaps WebSocket API with addition of local timestamps. If you'd like to work with normalized data format instead (same format for each exchange) see or official that perform data normalization client-side.
See .
See .
See .
is a locally runnable server that exposes API allowing efficiently requesting historical market data for whole time periods in contrast to that provides data only in minute by minute slices.
See docs.
(depth.size_150.high_freq)
During data collection integrity of order book incremental updates is being validated using provided by Huobi Swap real-time feed (version field) - in case of detecting missed message WebSocket connection is being restarted.
for Huobi USDT Swap is located in GCP asia-northeast1 (Tokyo, Japan). Real-time market data is captured via multiple WebSocket connections.
quotes
BTC-USDT
2023-03-01
book_ticker
BTC-USDT
2023-03-01
derivative_ticker
BTC-USDT
2023-03-01
trades
FUTURES
2023-03-01
liquidations
PERPETUALS
2023-03-01
open_interest - generated channel
Since Huobi does not offer currently real-time WebSocket open interest channel, we simulate it by fetching that info from REST API (https://huobiapi.github.io/docs/usdt_swap/v1/en/#general-get-swap-open-interest-information) every 4-6 seconds for each instrument. Such messages are marked with "ch":"market.<symbol>.open_interest" and "generated":true fields and data field has the same format as REST API response data.
data type
symbol
date
trades
BTC-USDT
2023-03-01
incremental_book_L2
BTC-USDT
2023-03-01
book_snapshot_25
BTC-USDT
2023-03-01
# pip install tardis-client
import asyncio
from tardis_client import TardisClient, Channel
tardis_client = TardisClient(api_key="YOUR_API_KEY")
async def replay():
# replay method returns Async Generator
messages = tardis_client.replay(
exchange="huobi-dm-linear-swap",
from_date="2023-03-01",
to_date="2023-03-02",
filters=[Channel(name="depth", symbols=["BTC-USDT"])]
)
# messages as provided by Huobi USDT Swaps real-time stream
async for local_timestamp, message in messages:
print(message)
asyncio.run(replay())// npm install tardis-dev
const { replay } = require('tardis-dev');
async function run() {
try {
const messages = replay({
exchange: 'huobi-dm-linear-swap',
from: '2020-04-01',
to: '2020-04-02',
filters: [{ channel: 'depth', symbols: ['BTC-USDT'] }],
apiKey: 'YOUR_API_KEY'
});
// messages as provided by Huobi USDT Swaps real-time stream
for await (const { localTimestamp, message } of messages) {
console.log(localTimestamp, message);
}
} catch (e) {
console.error(e);
}
}
run();curl -g 'https://api.tardis.dev/v1/data-feeds/huobi-dm-linear-swap?from=2023-03-01&filters=[{%22channel%22:%22depth%22,%22symbols%22:[%22BTC-USDT%22]}]&offset=0'curl -g 'localhost:8000/replay?options={"exchange":"huobi-dm-linear-swap","filters":[{"channel":"depth","symbols":["BTC-USDT"]}],"from":"2023-03-01","to":"2023-03-02"}'