# Concepts (/concepts)



## Core Terms [#core-terms]

| Term     | Meaning                                                                    |
| -------- | -------------------------------------------------------------------------- |
| Provider | A service that routes data, such as MMT                                    |
| Exchange | The market-data exchange selected with `--exchange`                        |
| Venue    | The live execution destination selected with `--venue` or a Python request |
| Source   | Raw market data such as candles, trades, or an orderbook                   |
| Study    | A calculation over market data                                             |
| Strategy | A built-in algorithm that executes a side and amount you chose             |
| Bot      | An autonomous trading system that makes its own quoting decisions          |
| Script   | Custom Python or JavaScript logic                                          |
| Job      | A deployed strategy, bot, or script                                        |
| Daemon   | `mlabd`, the supervisor that keeps live jobs and order state running       |

## Data and Execution Are Separate [#data-and-execution-are-separate]

A script can read one exchange and execute on another:

```text
Binance data -> your script -> mlabd -> Hyperliquid execution
```

Reading public market data never enables trading. Live execution requires an explicit venue or exchange request and a configured credential.

## Strategy, Bot, or Script [#strategy-bot-or-script]

* Use a **strategy** when you already know the side and amount but want Market Lab to schedule the order.
* Use a **bot** when the system should decide what to quote as the market changes.
* Use a **script** when you need custom logic.

## Symbols [#symbols]

Perpetual markets use the base asset, such as `BTC`. Spot markets use the exact pair, such as `HYPE/USDC`. Outcome markets use `<outcome-id>:<side>`, such as `1009:0`.

See [Markets](/market-data/markets).

## Time [#time]

CLI ranges use UTC dates or date-times:

```text
--from 2026-07-15
--to "2026-07-15 16:00:00"
```

Date-only values mean midnight UTC. Data records may still expose millisecond fields such as `t` or `ts_ms`; Market Lab converts provider-specific units internally.

## Output [#output]

* `terminal`: human-readable output
* `json`: one machine-readable result
* `jsonl`: stream of machine-readable events

See [JSON Output](/json-output).
