Columns and types
VARCHAR
- ticker
- symbol
TIMESTAMP
- date
DOUBLE
- epsActual
- epsEstimate
- epsDifference
- surprisePercent
Current logical schema for lake.quarterly_earnings
Inspect the complete lake.quarterly_earnings schema
| Column | Type |
|---|---|
| ticker | VARCHAR |
| symbol | VARCHAR |
| date | TIMESTAMP |
| epsActual | DOUBLE |
| epsEstimate | DOUBLE |
| epsDifference | DOUBLE |
| surprisePercent | DOUBLE |
No matching rows. Clear the filter to see all records.
Current logical schema for lake.quarterly_earnings
Query lake.quarterly_earnings 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 quarterly earnings. Prefer sec_quarterly_earnings, which is SEC-sourced.
Keep this table for compatibility with an existing query. Start a new task with the linked preferred schema.
Bounded quarterly earnings 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.
SELECT "ticker", "symbol", "date", "epsActual", "epsEstimate"
FROM lake.quarterly_earnings
WHERE "ticker" IN ('AAPL')
ORDER BY "ticker", "symbol", "date", "epsActual", "epsEstimate"
LIMIT 20;Submit the quarterly_earnings 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 quarterly_earnings 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.
python3 -m pip install nexustrade==1.42.0
export NEXUSTRADE_API_KEY="YOUR_LAKE_SCOPED_KEY"
python3 query.py
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-quarterly_earnings-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 quarterly earnings. Prefer sec_quarterly_earnings, which is SEC-sourced.
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.
No comments yet.