Backfilling API¶
Auto-generated API documentation for StreamForge backfilling.
BinanceBackfilling¶
BinanceBackfilling
¶
OkxBackfilling¶
OkxBackfilling
¶
BybitBackfilling¶
BybitBackfilling
¶
BybitBackfilling(symbol: str, timeframe: str, from_date: str, to_date: str = 'now', file_path: Optional[str] = None, market_type: str = 'DEFAULT', transformer: Optional[Callable[[Dict[str, Any]], Dict[str, Any]]] = None)
Bybit backfilling class for fetching historical kline/candlestick data.
Uses Bybit REST API to fetch historical data for backfilling purposes. Supports Spot, Linear (USDT/USDC perpetuals), and Inverse futures markets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
symbol
|
str
|
Trading pair symbol (e.g., 'BTCUSDT') |
required |
timeframe
|
str
|
Candle timeframe (e.g., '1m', '5m', '1h', '1d') |
required |
from_date
|
str
|
Start date in '%Y-%m-%d' format |
required |
to_date
|
str
|
End date in '%Y-%m-%d' format or 'now' (default: 'now') |
'now'
|
file_path
|
Optional[str]
|
Optional custom file path for CSV output |
None
|
market_type
|
str
|
Market type - SPOT, LINEAR, or INVERSE (default: 'DEFAULT') |
'DEFAULT'
|
transformer
|
Optional[Callable[[Dict[str, Any]], Dict[str, Any]]]
|
Optional data transformation function |
None
|
Examples:
Basic usage:
>>> backfiller = BybitBackfilling(
... symbol="BTCUSDT",
... timeframe="1m",
... from_date="2024-01-01",
... to_date="2024-01-31"
... )
>>> backfiller.run()
With market type:
>>> backfiller = BybitBackfilling(
... symbol="BTCUSDT",
... timeframe="1h",
... from_date="2024-01-01",
... market_type="LINEAR"
... )
>>> backfiller.run()
run
¶
Execute backfilling process.
Creates default CSV emitter if none registered, then fetches and emits historical data to registered emitters.
register_emitter
¶
register_emitter(emitter: DataEmitter, model: Optional[Union[Base, BaseModel]] = None, map_object: Optional[Dict] = None)
Register output emitter (CSV, Postgres, etc.).
set_transformer
¶
set_transformer(transformer_func: Callable[[Dict[str, Any]], Dict[str, Any]], inplace: bool = False)
Set data transformation function.
Common Usage¶
Basic Backfill¶
from streamforge import BinanceBackfilling
backfiller = BinanceBackfilling(
symbol="BTCUSDT",
timeframe="1h",
from_date="2024-01-01",
to_date="2024-12-31"
)
backfiller.run() # Sync method
With Emitter¶
backfiller = BinanceBackfilling(
symbol="BTCUSDT",
timeframe="1h",
from_date="2024-01-01",
to_date="2024-12-31"
)
backfiller.register_emitter(postgres_emitter)
backfiller.run()
With Transformer¶
def my_transformer(data: dict) -> dict:
return {...data, "custom_field": value}
backfiller.set_transformer(my_transformer)
backfiller.run()
Bybit with Market Type¶
from streamforge import BybitBackfilling
# Spot market (default)
backfiller = BybitBackfilling(
symbol="BTCUSDT",
timeframe="1h",
from_date="2024-01-01",
to_date="2024-12-31",
market_type="SPOT"
)
# Linear futures
backfiller = BybitBackfilling(
symbol="BTCUSDT",
timeframe="1h",
from_date="2024-01-01",
to_date="2024-12-31",
market_type="LINEAR"
)
# Inverse futures
backfiller = BybitBackfilling(
symbol="BTCUSD", # Note: USD for inverse
timeframe="1h",
from_date="2024-01-01",
to_date="2024-12-31",
market_type="INVERSE"
)
backfiller.run()