Explore more topics
Market-data lake

lake.crypto_daily dataset schema

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

Query name
lake.crypto_daily
Storage partition
year
Columns
7
Jump to a section

Columns and types

VARCHAR

  • symbol

TIMESTAMP

  • date

DOUBLE

  • openingPrice
  • highestPrice
  • lowestPrice
  • closingPrice
  • tradingVolume

Current logical schema for lake.crypto_daily

Inspect the complete lake.crypto_daily schema
ColumnType
symbolVARCHAR
dateTIMESTAMP
openingPriceDOUBLE
highestPriceDOUBLE
lowestPriceDOUBLE
closingPriceDOUBLE
tradingVolumeDOUBLE

Current logical schema for lake.crypto_daily

Query lake.crypto_daily 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

Daily cryptocurrency OHLC, keyed on a bare `{TICKER}-USD` symbol.

Read Bitcoin daily closes

Query example, not executed here. The dates and filters define the proposed research scope; returned rows and current coverage must be checked in your workspace.

symbol is the canonical BTC-USD identifier. closingPrice is the daily closing value in that quote currency; tradingVolume is the recorded volume. Compare dates and missing rows before building a return series.

SQL
SELECT symbol, date, closingPrice, tradingVolume
FROM lake.crypto_daily
WHERE symbol = 'BTC-USD'
  AND date >= TIMESTAMP '2026-09-01'
  AND date < TIMESTAMP '2026-09-19'
ORDER BY date
LIMIT 20;

Submit the crypto_daily 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 crypto_daily 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-crypto_daily-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

Daily cryptocurrency OHLC, keyed on a bare `{TICKER}-USD` symbol.

`symbol` is `{TICKER}-USD` — `BTC-USD`, `ETH-USD`, `SOL-USD`. Non-USD quote pairs exist (`BTC-EUR`, `ETH-BTC`); default to `-USD` unless the user names another quote currency.

Lookalike symbols are different assets: `BTCPY-USD` and `TBTC-USD` are not Bitcoin.

This is the DAILY table and takes a bare `symbol`. `intraday_crypto` uses the `ticker` column with the same canonical storage form (`BTC-USD`). Vendor-style identifiers such as `X:BTCUSD` are normalized away and match neither table's stored symbols.

Discussion

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

No comments yet.