STRASMORE/EXPLORE 2,830 QUERIES

implicito_vs_real

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-09-30, from nke-earnings-day-moves.

as of series 7×4read in context →
implicito_vs_real — 7 rows by 4 columns, computed from US exchange, SIP and OPRA data.
sessiontrimestre_fiscalmov_implicito_pctmov_realizado_pct
2025-03-11FY2025 Q33.22.92
2025-03-21FY2025 Q32.685.46
2025-06-27FY2025 Q43.6815.19
2025-07-29FY2025 Q41.71.15
2025-10-01FY2026 Q12.946.41
2025-12-19FY2026 Q22.8310.54
2026-06-24FY2026 Q43.471.32
Rows × columns
7 × 4
Period covered
to
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 implicito_vs_real, derived from the stored result.
ColumnTypeRangeNotes
session date 2025-03-11 to 2026-06-24
trimestre_fiscal text 5 distinct values (FY2025 Q3, FY2025 Q4, FY2026 Q1…)
mov_implicito_pct number 1.7 to 3.68 percent
mov_realizado_pct number 1.15 to 15.19 percent

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.

WITH
reportes AS
(
    SELECT DISTINCT filing_date AS fecha_reporte
    FROM global_markets.stocks_8k_text
    WHERE ticker = 'NKE'
      AND form_type = '8-K'
      AND positionCaseInsensitive(items_text, 'Results of Operations') > 0
      AND filing_date >= '2021-08-01'
    ORDER BY fecha_reporte DESC
    LIMIT 12
),
barras AS
(
    SELECT
        date,
        toFloat64(close) AS cierre,
        any(toFloat64(close)) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS cierre_previo
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'NKE'
      AND date >= '2021-01-01'
),
sesiones AS
(
    SELECT
        r.fecha_reporte AS fecha_reporte,
        min(b.date)     AS fecha_sesion
    FROM reportes AS r
    CROSS JOIN barras AS b
    WHERE b.date > r.fecha_reporte
    GROUP BY r.fecha_reporte
),
iv AS
(
    SELECT
        g.date                              AS fecha_reporte,
        avg(toFloat64(g.implied_volatility)) AS iv_media
    FROM global_markets.options_greeks AS g
    INNER JOIN reportes AS r ON r.fecha_reporte = g.date
    WHERE g.underlying_symbol = 'NKE'
      AND g.iv_converged = 1
      AND g.volume > 0
      AND g.days_to_expiry BETWEEN 20 AND 45
      AND abs(toFloat64(g.strike_price) / toFloat64(g.underlying_close) - 1) < 0.05
      AND g.date >= '2021-08-01'
    GROUP BY g.date
)
SELECT
    toString(s.fecha_sesion) AS session,
    concat('FY',
           toString(if(toMonth(s.fecha_reporte) >= 9, toYear(s.fecha_reporte) + 1, toYear(s.fecha_reporte))),
           ' ',
           multiIf(toMonth(s.fecha_reporte) IN (6, 7),  'Q4',
                   toMonth(s.fecha_reporte) IN (9, 10), 'Q1',
                   toMonth(s.fecha_reporte) IN (12, 1), 'Q2',
                                                        'Q3')) AS trimestre_fiscal,
    round(v.iv_media * 100 / sqrt(252), 2)              AS mov_implicito_pct,
    round(abs(b.cierre / b.cierre_previo - 1) * 100, 2) AS mov_realizado_pct
FROM sesiones AS s
INNER JOIN barras AS b ON b.date = s.fecha_sesion
INNER JOIN iv AS v ON v.fecha_reporte = s.fecha_reporte
ORDER BY s.fecha_sesion
⌘/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.