DataCat Documentation

DataCat turns provider market data into user-owned SQLite datasets on macOS. You configure a Provider, describe one data workflow as a Job, optionally attach an Indicator Set, and let DataCat write a self-describing dataset that can be inspected with standard SQLite-compatible tools.

Start here

  1. Getting Started walks through the first dataset.
  2. Providers explains provider configuration, finality, and missing data.
  3. Jobs explains History, Live, and History + Live workflows.
  4. Indicator Sets explains reusable indicator configurations.
  5. Datasets explains the files DataCat creates and how to handle them.
  6. Dataset Reference provides practical SQLite queries and interpretation guidance.
  7. Indicators explains the indicator catalog and links to each supported indicator.
  8. Troubleshooting covers common setup, runtime, and dataset issues.

The DataCat model

One Job, one dataset

A Job represents one provider, symbol, timeframe, mode, and immutable indicator configuration. Starting a Job creates its own dataset folder and SQLite database. This keeps provenance and output isolated instead of mixing unrelated series into one opaque database.

Local-first and user-owned

Provider requests run from your Mac. Dataset contents remain in the folder you select and are not uploaded to a DataCat market-data backend. You can inspect the SQLite file with SQL, Python, R, notebooks, database viewers, or other SQLite-compatible software.

Raw provider values stay distinguishable

DataCat does not silently fill raw provider OHLCV cells with invented prices. When an expected period is missing, pending, or affected by a provider error, the dataset preserves that state so downstream analysis can make an explicit choice.

Indicator outputs stay connected to their inputs

When a Job uses indicators, DataCat persists the frozen indicator configuration, calculated values, and per-row output states. Early rows may be NULL during warmup, and values derived from pending or missing provider input remain distinguishable from outputs based entirely on final provider data.

Current product scope

The current release builds crypto OHLCV datasets from CoinAPI and Binance Global Spot. It supports History, Live, and History + Live Jobs and can calculate technical indicators from its supported catalog while building a dataset. DataCat does not provide trading, brokerage, wallet, order-entry, or investment-advice functionality.

Provider availability, limits, finality, and data semantics differ. A result from one provider should not be assumed to match another provider bar-for-bar, even when the visible market and timeframe appear similar.

Data and analysis responsibility

DataCat helps construct datasets; it does not guarantee provider coverage, market correctness, or analytical outcomes. Inspect provider-data and indicator-output states before treating a row as complete, and validate any research or production pipeline against the requirements of your own use case.

Terms used in this documentation

Provider

A Provider is a market-data source configured in DataCat.

  • CoinAPI — requires your CoinAPI account and credentials.
  • Binance Global Spot — uses public Spot market data and does not require a Binance account or credentials.

Job

A Job is the configuration and lifecycle of one dataset-producing workflow. Draft Jobs are editable. Started Jobs retain a frozen configuration so the resulting dataset remains reproducible.

Bar

A bar is one OHLCV period with a canonical open time and close time. DataCat uses bar as its dataset term; provider documentation may use terms such as kline or candle.

Indicator type

An indicator type is a supported technical-indicator calculation, such as SMA or RSI.

Indicator Instance

An Indicator Instance is an indicator type with a specific parameter configuration. Two RSI instances with different periods are separate instances and can coexist in one Indicator Set.

Warmup

Warmup is the initial part of an Indicator Instance's calculation history, before it has enough usable earlier bars to produce an output. DataCat writes NULL for the indicator output and marks its state as warmup. The required warmup depends on the configured Indicator Instance and is not one fixed number for every parameter choice.

Finality

A closed period is not always immutable provider data. DataCat uses provider-specific finality rules and marks rows that still require confirmation instead of treating every recently closed bar as final immediately.

Search documentation

Search across 46 documentation pages.