Explore more topics
Market-data lake

lake.intraday_crypto dataset schema

Column types and research semantics for NexusTrade’s lake.intraday_crypto dataset. Read the supported schema before submitting a bounded SQL query.

Query name
lake.intraday_crypto
Storage partition
day
Columns
9
Jump to a section

Columns and types

VARCHAR

  • ticker

TIMESTAMP

  • timestamp

DOUBLE

  • open
  • high
  • low
  • close
  • volume
  • vwap

BIGINT

  • transactions

Current logical schema for lake.intraday_crypto

Inspect the complete lake.intraday_crypto schema

Scroll sideways to compare all columns. Select a heading to sort.

tickerVARCHAR
timestampTIMESTAMP
openDOUBLE
highDOUBLE
lowDOUBLE
closeDOUBLE
volumeDOUBLE
transactionsBIGINT
vwapDOUBLE

Current logical schema for lake.intraday_crypto

Query lake.intraday_crypto using the column names and types below. The query validator and engine use this logical catalog; a field absent from an older shard returns typed NULL.

What this table contains

Minute-level crypto bars, keyed on the canonical `BTC-USD` ticker. Requires a literal `timestamp` range. One object per UTC day, so the range decides what is read and an unbounded query is rejected: e.g. `timestamp >= TIMESTAMP '2026-09-01' AND timestamp < TIMESTAMP '2026-09-19'`, with an explicit ticker list. For coverage questions (first/last date on file), bound a window or use lake.crypto_daily.

Bounded intraday crypto preview

Query example, not executed here. Inspect the actual returned rows and dates before treating it as evidence.

Read each row at its recorded timestamp. ticker is BTC-USD for the displayed crypto example.

SQL
SELECT "ticker", "timestamp", "open", "high", "low"
FROM lake.intraday_crypto
WHERE "ticker" IN ('BTC-USD')
  AND "timestamp" >= TIMESTAMP '2026-09-01'
  AND "timestamp" < TIMESTAMP '2026-09-19'
ORDER BY "timestamp", "ticker", "open", "high", "low"
LIMIT 20;

Submit the intraday_crypto example and read back its parts

Run the exact SQL through the Python SDK

Save this page's SQL as query.sql and the runner below as query.py. Use a registered key with lake scope from Developers. The runner submits the displayed intraday_crypto query once, saves its operation, waits on that same ID, saves the returned manifest and downloads its Parquet parts.

This submission has not been executed for the reference page. Inspect the SQL, dates and resource limits before running it. Reuse the request key only for this identical SQL and limits; use a new key when changing them.

Shell
python3 -m pip install nexustrade==1.42.0
export NEXUSTRADE_API_KEY="YOUR_LAKE_SCOPED_KEY"
python3 query.py

Python
import json
from pathlib import Path
from nexustrade import NexusTradeClient

# Save the SQL displayed on this page as query.sql.
sql = Path("query.sql").read_text()
client = NexusTradeClient.from_environment()
operation = client.create_lake_query(
    {"query": sql, "limits": {"timeoutSeconds": 30, "maxRows": 50,
                              "maxResultBytes": 1048576}},
    idempotency_key="reference-intraday_crypto-20261012-v1",
)
Path("query-operation.json").write_text(json.dumps(operation, indent=2))
finished = client.wait_for_lake_query(operation["id"])
if finished["status"] != "completed":
    raise RuntimeError(finished)
manifest = client.get_lake_query_manifest(operation["id"])["result"]
Path("query-manifest.json").write_text(json.dumps(manifest, indent=2))
print(json.dumps(manifest, indent=2))
for part in manifest["parts"]:
    Path(f"query-{part['part']}.parquet").write_bytes(
        client.download_lake_query_part(operation["id"], part["part"], max_bytes=1048576)
    )

Coverage and timing

Inspect source coverage and timing before using the rows

Minute-level crypto bars, keyed on the canonical `BTC-USD` ticker. Requires a literal `timestamp` range. One object per UTC day, so the range decides what is read and an unbounded query is rejected: e.g. `timestamp >= TIMESTAMP '2026-09-01' AND timestamp < TIMESTAMP '2026-09-19'`, with an explicit ticker list. For coverage questions (first/last date on file), bound a window or use lake.crypto_daily.

Minute bars for crypto, one row per minute every day of the week. `ticker` is the canonical storage form `{TICKER}-{QUOTE}` — `BTC-USD`, the same value `crypto_daily.symbol` uses. The vendor's `X:BTCUSD` form is normalised away at write time and matches nothing here (see CRYPTO_INTRADAY_SCHEMA in tigrisHydrationSchemas.ts). Always give an explicit ticker list and a bounded `timestamp` range. Because crypto trades continuously, a bar's timestamp is the only thing that establishes when its price was knowable — see the availability rule in the catalog header before joining these bars to any market with trading hours.

Discussion

Sign in or create a free account to join the discussion.

No comments yet.