Instrument Type Filtering

Filtering symbol universes and queries by instrument type (e.g., SPOT vs PERPETUAL vs FUTURES) to ensure comparable data and correct strategy assumptions.

Instrument type filtering is the practice of restricting a symbol universe and data queries to specific instrument categories, such as spot, perpetual swaps, dated futures, or options. It ensures you compare like-with-like and apply the correct trading and valuation assumptions. In normalized datasets, instrument type is often represented by a field such as symbol_type.

Different instrument types behave differently and have different market data characteristics: funding rates for perpetuals, expiry for futures, and strike/greeks for options. Mixing instrument types without filtering can corrupt analytics (for example, treating an options price like a spot price) and break backtests (for example, holding an expired contract indefinitely). Filtering also improves data quality by removing unintended duplicates across venues.

Common workflows:

  • Build a universe: “only SPOT pairs quoted in USD/USDT.”
  • Request data: “order books only for PERPETUAL contracts on selected venues.”
  • Validate features: “use quotes for SPOT, use implied volatility for OPTIONS.” Instrument type filtering is often combined with point-in-time rules so membership reflects what instrument types existed at time t.

A common pitfall is using today’s instrument classification for past periods, especially if a symbol was repurposed or renamed. Another is relying on text parsing of symbols instead of metadata (for example, assuming a suffix implies a contract type). Finally, failing to filter can create phantom symbols or double-count markets.

Symbol type describes the instrument category of a trading pair or contract (spot, futures, perpetual, options). Asset type describes what the underlying asset is (crypto, fiat, commodity). You often need both: filter by symbol type for instrument behavior and by asset type for economic exposure.

It makes your membership rules explicit: a symbol qualifies only if it is the desired instrument type at time t. If a venue changes listings or replaces contracts, PIT filtering ensures you include the correct set at each timestamp and avoid using today’s classification historically.

Typically before, because instrument type defines which symbols are eligible at all. Then you apply coverage windows for the specific data type you need (trades/quotes/order books). This order reduces unnecessary processing and avoids comparing coverage across irrelevant instruments.

You compute a “market-wide” spread metric but accidentally include both spot BTC/USDT and a BTC perpetual contract. The perpetual often has tighter spreads and higher depth, so the aggregated metric looks better than what a spot-only trader would face. Filtering to symbol_type = SPOT produces an apples-to-apples spread estimate.

CoinAPI symbol metadata includes instrument classification (for example, symbol_type) and other fields needed to filter symbols before pulling trades, quotes, or order books. Use instrument type filtering to build consistent universes (spot-only, derivatives-only) and to avoid mixing different microstructure regimes in your analysis.

Crypto API made simple: Try now or speak to our sales team