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.
| session | trimestre_fiscal | mov_implicito_pct | mov_realizado_pct |
|---|---|---|---|
| 2025-03-11 | FY2025 Q3 | 3.2 | 2.92 |
| 2025-03-21 | FY2025 Q3 | 2.68 | 5.46 |
| 2025-06-27 | FY2025 Q4 | 3.68 | 15.19 |
| 2025-07-29 | FY2025 Q4 | 1.7 | 1.15 |
| 2025-10-01 | FY2026 Q1 | 2.94 | 6.41 |
| 2025-12-19 | FY2026 Q2 | 2.83 | 10.54 |
| 2026-06-24 | FY2026 Q4 | 3.47 | 1.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
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
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
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.