Explore more topics
Market-data lake

lake.economic dataset schema

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

Query name
lake.economic
Storage partition
year
Columns
3
Jump to a section

Columns and types

VARCHAR

  • indicator

TIMESTAMP

  • date

DOUBLE

  • value

Current logical schema for lake.economic

Inspect the complete lake.economic schema
ColumnType
indicatorVARCHAR
dateTIMESTAMP
valueDOUBLE

Current logical schema for lake.economic

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

Macro indicator series (long form): one row per indicator per date.

Discover macro series in a date window

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.

A row is one indicator and date, not a yearly aggregate. Copy an actual returned indicator name when narrowing the query, then establish that series unit before interpreting value. No named series or value is assumed here.

SQL
SELECT indicator, date, value
FROM lake.economic
WHERE date >= TIMESTAMP '2026-09-01'
  AND date < TIMESTAMP '2026-09-19'
ORDER BY indicator, date
LIMIT 20;

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

Macro indicator series (long form): one row per indicator per date.

Long-form macro series: one row per (`indicator`, `date`). Filter by `indicator` and pivot in SQL rather than expecting a column per series.

Discussion

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

No comments yet.