STRASMORE/EXPLORE 3,293 QUERIES

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.

as of scalar 1×13read in context →
peak close
177.51
peak date
2021-11-05
peak year
2,021
peak date label
5 de noviembre de 2021
latest close
38.67
latest date
2026-10-30
latest date label
30 de octubre de 2026
drawdown pct
78.2
gain to recover pct
359
sessions since peak
1,250
years since peak
5
lowest close since peak
33.87
lowest close date
2026-10-02
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
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for peak_receipt, derived from the stored result.
ColumnTypeRangeNotes
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'
⌘/Ctrl + Enter

Trabaja con estos datos en tu asistente de IA

Se abre listo para consultar, con los datos de esta página. Gratis, sin cuenta.