recent_events
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-10-07, from dragonfly-doji-follow-through.
| session_date | session_label | ticker | fwd_1_pct | fwd_5_pct | fwd_20_pct |
|---|---|---|---|---|---|
| 2026-04-10 | 10-04-2026 | JPM | 1.23 | 0.14 | -2.51 |
| 2026-04-15 | 15-04-2026 | CSCO | 2.6 | 9.03 | 23.69 |
| 2026-04-16 | 16-04-2026 | META | 1.73 | -2.62 | -8.63 |
| 2026-04-16 | 16-04-2026 | MSFT | 0.6 | -1.07 | -2.58 |
| 2026-05-07 | 07-05-2026 | XOM | -1.37 | 4.23 | 2.28 |
| 2026-05-13 | 13-05-2026 | CVX | 0.34 | 2.87 | -0.1 |
| 2026-05-29 | 29-05-2026 | CVX | 1.85 | 2.66 | -7.67 |
| 2026-05-29 | 29-05-2026 | META | -5.07 | -6.25 | -11.05 |
| 2026-06-12 | 12-06-2026 | MSFT | 2.31 | -5.99 | -1.49 |
| 2026-06-23 | 23-06-2026 | UNH | -0.84 | 1.56 | 5.39 |
| 2026-07-10 | 10-07-2026 | GOOGL | -1.31 | -2.91 | -0.81 |
| 2026-08-25 | 25-08-2026 | JPM | -0.05 | -0.49 | -5.37 |
- Rows × columns
- 12 × 6
- 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 |
date | 2026-04-10 to 2026-08-25 | |
session_label |
text | 10 distinct values (07-05-2026, 10-04-2026, 10-07-2026…) | |
ticker |
text | 8 distinct values (CSCO, CVX, GOOGL…) | |
fwd_1_pct |
number | -5.07 to 2.6 | percent |
fwd_5_pct |
number | -6.25 to 9.03 | percent |
fwd_20_pct |
number | -11.05 to 23.69 | 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 bars AS
(
SELECT
ticker,
date,
toFloat64(open) AS o,
toFloat64(high) AS h,
toFloat64(low) AS l,
toFloat64(close) AS c
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('AAPL','MSFT','NVDA','AMZN','GOOGL','META','JPM','XOM','JNJ','KO','PG','WMT','HD','UNH','CVX','MRK','CSCO','PEP','SPY','QQQ')
AND date >= '2006-01-01'
AND date < '2026-10-01'
AND high > low
AND low > 0
),
shaped AS
(
SELECT
ticker,
date,
c,
h - l AS rng,
abs(c - o) AS body,
h - greatest(o, c) AS upper_wick,
0.01 * o AS min_range,
leadInFrame(c, 1) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN CURRENT ROW AND 20 FOLLOWING) AS c_fwd1,
leadInFrame(c, 5) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN CURRENT ROW AND 20 FOLLOWING) AS c_fwd5,
leadInFrame(c, 20) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN CURRENT ROW AND 20 FOLLOWING) AS c_fwd20
FROM bars
)
SELECT
toString(date) AS session_date,
formatDateTime(date, '%d-%m-%Y') AS session_label,
ticker,
round(100 * (c_fwd1 / c - 1), 2) AS fwd_1_pct,
round(100 * (c_fwd5 / c - 1), 2) AS fwd_5_pct,
round(100 * (c_fwd20 / c - 1), 2) AS fwd_20_pct
FROM
(
SELECT *
FROM shaped
WHERE rng >= min_range
AND body <= 0.10 * rng
AND upper_wick <= 0.10 * rng
AND c_fwd1 > 0
AND c_fwd5 > 0
AND c_fwd20 > 0
ORDER BY date DESC
LIMIT 12
)
ORDER BY session_date
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.