Derivatives and Spread Ingest
TradeJS can ingest derivatives and spread market features into TimescaleDB.
Main scripts:
npx @tradejs/cli derivatives:ingestnpx @tradejs/cli derivatives:ingest:coinalyze:all
Sources:
@tradejs/cli@tradejs/cli@tradejs/connectors
1. Provider-Based Ingest
Command:
npx @tradejs/cli derivatives:ingest --provider coinalyze --symbols BTCUSDT,ETHUSDT --intervals 15m,1h --days 120
Supported providers:
coinalyze-> derivatives rowsbinance_coinbase_spread-> spread rows
Useful flags:
--symbols--intervals(15m,1h)--days--batchDays
2. Coinalyze-All Mode
Command:
npx @tradejs/cli derivatives:ingest:coinalyze:all --user root --days 120 --intervals 15m,1h
Behavior:
- loads tickers through ByBit connector (
getTickerslogic) - matches to Coinalyze markets
- fetches open interest, funding, liquidations
- merges and upserts to Timescale
Useful flags:
--tickers,--exclude,--tickersLimit,--chunk--exchangePriority--symbolBatchSize--requestDelayMs,--requestTimeoutMs
3. DB Tables
Ingest writes to:
derivatives_marketmarket_spread
Schema bootstrap and upsert logic:
@tradejs/infra
4. Required Env
For Coinalyze provider:
COINALYZE_API_KEY- optional:
COINALYZE_BASE_URL,COINALYZE_MAX_RETRIES
5. Operational Notes
- For local setup, run
npx @tradejs/cli infra-initonce, thennpx @tradejs/cli infra-up. - Ensure PostgreSQL/Timescale is running before ingest.
- Begin with short lookback and small symbol set.
- Keep
batchDaysmoderate to reduce API/rate-limit pressure.