Explore more topics
Market-data lake

lake.daily_ohlc dataset schema

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

Query name
lake.daily_ohlc
Storage partition
year
Columns
14
Jump to a section

Columns and types

VARCHAR

  • ticker
  • symbol

TIMESTAMP

  • date

DOUBLE

  • openingPrice
  • highestPrice
  • lowestPrice
  • closingPrice
  • volume
  • marketCap
  • peRatioTTM
  • psRatioTTM
  • pbRatioTTM

Showing 12 of 14 recorded rows. The complete table is below.

Current logical schema for lake.daily_ohlc

Inspect the complete lake.daily_ohlc schema

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

tickerVARCHAR
symbolVARCHAR
dateTIMESTAMP
openingPriceDOUBLE
highestPriceDOUBLE
lowestPriceDOUBLE
closingPriceDOUBLE
volumeDOUBLE
marketCapDOUBLE
peRatioTTMDOUBLE
psRatioTTMDOUBLE
pbRatioTTMDOUBLE
enterpriseValueDOUBLE
dividendYieldDOUBLE

Current logical schema for lake.daily_ohlc

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

Legacy/vendor daily OHLC. Prefer sec_daily_ohlc.

Keep this table for compatibility with an existing query. Start a new task with the linked preferred schema.

Bounded daily ohlc preview

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

This compatibility preview uses the declared fields. Prefer the linked current reference for a new research task.

SQL
SELECT "ticker", "symbol", "date", "openingPrice", "highestPrice"
FROM lake.daily_ohlc
WHERE "ticker" IN ('AAPL')
ORDER BY "ticker", "symbol", "date", "openingPrice", "highestPrice"
LIMIT 20;

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

Legacy/vendor daily OHLC. Prefer sec_daily_ohlc.

Inspect the returned source dates and nullable fields. For an event-based strategy, use its public availability date to place the observation on the research timeline.

Discussion

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

No comments yet.