Skip to content

Assets

Gordon trades USDT-margined perpetual futures on Binance, using Binance spot market data for the broadest historical depth.

Supported pairs

PairSpot data fromYears of history
BTCUSDT2017-08-178.6
ETHUSDT2017-08-178.6
BNBUSDT2017-11-068.4
LTCUSDT2017-12-138.3
XRPUSDT2018-05-047.9
ADAUSDT2018-04-177.9
TRXUSDT2018-06-117.8
LINKUSDT2019-01-167.2
DOGEUSDT2019-07-056.7
SOLUSDT2020-08-115.6

Walk-forward validation requires at least 5 years of history. Pairs with less data risk overfitting to a single market regime.

Why spot data?

Binance Futures launched September 2019. Spot data provides 3–5 extra years of history for BTC, ETH, and other early-listed pairs. Spot and futures prices are highly correlated for major pairs. The additional history is worth the minor price discrepancy.

Symbol convention

Binance-native format throughout the system: BTCUSDT, not BTC/USDT or BTC-USDT. Uppercase, no slash, no dash.

NATS subject symbols are lowercase: market.klines.binance.spot.btcusdt.1m.

Timeframe strings

Lowercase strings used consistently across all services, database columns, API parameters, and configuration:

1m  5m  15m  30m  1h  2h  4h  6h  8h  12h  1d  1w

1m is the canonical source of truth. Higher timeframes are precomputed by gordon-data from 1m via pure SQL aggregation.

Data provisioning

Gordon-data ingests from Binance WS + REST continuously. Historical backfill is available via the CLI:

bash
# Backfill spot klines for specific symbols
gordon-data backfill spot-klines --symbols BTCUSDT,ETHUSDT --from 2020-01-01 --to 2024-01-01

# Backfill funding rates
gordon-data backfill funding-rates --symbols BTCUSDT,ETHUSDT --from 2020-01-01

# Backfill open interest
gordon-data backfill open-interest --symbols BTCUSDT,ETHUSDT --from 2023-01-01

Dev stack seed (workspace make targets):

bash
make seed          # Full pipeline: klines + funding + OI + metrics + sentiment
make seed-klines   # 1m klines only

Adding a new pair

  1. Add the symbol to GORDON_DATA_BINANCE_SPOT_SYMBOLS and GORDON_DATA_BINANCE_PERP_SYMBOLS in the compose env.
  2. Run the backfill CLI to populate historical klines.
  3. Verify the pair has ≥ 5 years of data before including in walk-forward validation.
  4. Run strategy backtests on the new pair before including it in the live portfolio.

Gordon — keep compounding without blowing up