Bybit Continuous Downloader (dccd.continuous_dl.bybit)¶
Objects and functions to download data from Bybit exchange (WebSocket).
High level API¶
- get_data_bybit(path, pair='BTCUSDT', time_step=60, until=3600, form='csv')[source]¶
Download order book and trades data from Bybit.
- Parameters:
- pathstr
Root path; trades saved under
<path>/trades/, book under<path>/book/.- pairstr, optional
Trading pair, default is ‘BTCUSDT’.
- time_stepint, optional
Seconds between snapshots, default is 60.
- untilint, optional
Duration in seconds, default is 3600.
- formstr, optional
Save format, default is ‘csv’.
- get_orderbook_bybit(path, pair='BTCUSDT', time_step=60, until=3600, form='csv')[source]¶
Download order book data from Bybit.
- Parameters:
- pathstr
Path to save data.
- pairstr, optional
Trading pair, default is ‘BTCUSDT’.
- time_stepint, optional
Seconds between snapshots, default is 60.
- untilint, optional
Duration in seconds, default is 3600.
- formstr, optional
Save format, default is ‘csv’.
- get_trades_bybit(path, pair='BTCUSDT', time_step=60, until=3600, form='csv')[source]¶
Download trades data from Bybit.
- Parameters:
- pathstr
Path to save data.
- pairstr, optional
Trading pair, default is ‘BTCUSDT’.
- time_stepint, optional
Seconds between snapshots, default is 60.
- untilint, optional
Duration in seconds, default is 3600.
- formstr, optional
Save format, default is ‘csv’.
Low level API¶
- class DownloadBybitData(pair='BTCUSDT', time_step=60, until=3600, checkpoint_dir=None)[source]¶
Bases:
ContinuousDownloaderDownload data continuously from Bybit via WebSocket v5.
- Parameters:
- pairstr
Trading pair symbol (e.g. ‘BTCUSDT’).
- time_stepint, optional
Seconds between data snapshots, default is 60.
- untilint, optional
Seconds to run or stop timestamp, default is 3600.
- Attributes:
- hoststr
WebSocket URL.
- is_connectbool
True if connected.
- tsint
Snapshot interval in seconds.
- untilint
Stop timestamp.
Methods
set_process_data(func, **kwargs)Set processing function.
set_saver(call, **kwargs)Set saver object to save data or update a database.
__call__(*args, **kwargs)Start the WebSocket stream and block until it stops.
- __call__(*args, **kwargs)¶
Start the WebSocket stream and block until it stops.
- Parameters:
- *args, **kwargs
Forwarded to
_connect.
- Returns:
- ContinuousDownloader
The downloader instance (for chaining).
- set_process_data(func, **kwargs)¶
Set processing function.
- Parameters:
- funccallable
Function to process and clean data before to be saved. Must take data in arguments and can take any optional keywords arguments, cf exemples in
dccd.process_data.- **kwargs
Any keyword arguments to be passed to func.
- set_saver(call, **kwargs)¶
Set saver object to save data or update a database.
- Parameters:
- callcallable
Callable object to save data or update a database. Must take data in arguments and can take any optional keywords arguments, cf exemples in
dccd.io_tools.- **kwargs
Any keyword arguments to be passed to call.
DownloadBybitData streams real-time
trades and order book data from Bybit via WebSocket (v5 public API).
No authentication is required.
Exchange specifics¶
WebSocket URL |
|
Available channels |
Trades ( |
Pair format |
Concatenation: |
Authentication |
Not required for public streams. |
Quick example¶
from dccd.continuous_dl import DownloadBybitData, get_data_bybit
from dccd.tools.io import IODataBase
# Convenience function
get_data_bybit('/data/crypto/', pair='BTCUSDT',
time_step=60, until=3600, form='parquet')
# Class-based API
dl = DownloadBybitData(pair='BTCUSDT', time_step=60, until=3600)
dl.set_trades_saver(IODataBase('/data/crypto/trades', method='parquet'))
dl.set_book_saver(IODataBase('/data/crypto/book', method='parquet'))
dl.run()