peak_receipt
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-11-01, from nke-decline-from-peak.
- Rows × columns
- 1 × 13
- Period covered
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
peak_close |
number | every row is 177.51 | US dollars |
peak_date |
date | 2021-11-05 | |
peak_year |
number | every row is 2,021 | |
peak_date_label |
text | 1 distinct value (5 de noviembre de 2021) | |
latest_close |
number | every row is 38.67 | US dollars |
latest_date |
date | 2026-10-30 | |
latest_date_label |
text | 1 distinct value (30 de octubre de 2026) | |
drawdown_pct |
number | every row is 78.2 | percent |
gain_to_recover_pct |
number | every row is 359 | percent |
sessions_since_peak |
number | every row is 1,250 | |
years_since_peak |
number | every row is 5 | |
lowest_close_since_peak |
number | every row is 33.87 | US dollars |
lowest_close_date |
date | 2026-10-02 |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
Run it yourself
This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.
SELECT
round(any(p.peak_close), 2) AS peak_close,
toString(any(p.peak_date)) AS peak_date,
toYear(any(p.peak_date)) AS peak_year,
concat(toString(toDayOfMonth(any(p.peak_date))), ' de ',
transform(toMonth(any(p.peak_date)),
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio',
'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], ''),
' de ', toString(toYear(any(p.peak_date)))) AS peak_date_label,
round(toFloat64(argMax(a.close, a.date)), 2) AS latest_close,
toString(max(a.date)) AS latest_date,
concat(toString(toDayOfMonth(max(a.date))), ' de ',
transform(toMonth(max(a.date)),
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio',
'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'], ''),
' de ', toString(toYear(max(a.date)))) AS latest_date_label,
round(abs(toFloat64(argMax(a.close, a.date)) / any(p.peak_close) - 1) * 100, 1) AS drawdown_pct,
round((any(p.peak_close) / toFloat64(argMax(a.close, a.date)) - 1) * 100, 1) AS gain_to_recover_pct,
uniqExactIf(a.date, a.date > p.peak_date) AS sessions_since_peak,
round(dateDiff('day', any(p.peak_date), max(a.date)) / 365.25, 1) AS years_since_peak,
round(toFloat64(minIf(a.close, a.date > p.peak_date)), 2) AS lowest_close_since_peak,
toString(argMinIf(a.date, a.close, a.date > p.peak_date)) AS lowest_close_date
FROM global_markets.stocks_daily_aggs AS a
CROSS JOIN
(
SELECT
max(toFloat64(close)) AS peak_close,
argMax(date, toFloat64(close)) AS peak_date
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'NKE'
AND date >= '2016-01-01'
) AS p
WHERE a.ticker = 'NKE'
AND a.date >= '2016-01-01'
Trabaja con estos datos en tu asistente de IA
Se abre listo para consultar, con los datos de esta página. Gratis, sin cuenta.