pattern_census
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.
| year | dragonfly_days | gravestone_days | session_count |
|---|---|---|---|
| 2006 | 12 | 17 | 4267 |
| 2007 | 16 | 14 | 4267 |
| 2008 | 16 | 17 | 4301 |
| 2009 | 31 | 21 | 4284 |
| 2010 | 28 | 12 | 4284 |
| 2011 | 21 | 14 | 4481 |
| 2012 | 9 | 11 | 4500 |
| 2013 | 26 | 6 | 4536 |
| 2014 | 20 | 10 | 4725 |
| 2015 | 20 | 13 | 4788 |
| 2016 | 21 | 12 | 4788 |
| 2017 | 12 | 6 | 4769 |
| 2018 | 18 | 21 | 4769 |
| 2019 | 23 | 13 | 4788 |
| 2020 | 21 | 17 | 4807 |
| 2021 | 24 | 19 | 4917 |
| 2022 | 26 | 22 | 4930 |
| 2023 | 20 | 18 | 5000 |
| 2024 | 30 | 17 | 5040 |
| 2025 | 24 | 14 | 5000 |
| 2026 | 19 | 14 | 3740 |
- Rows × columns
- 21 × 4
- 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 |
|---|---|---|---|
year |
number | 2,006 to 2,026 | |
dragonfly_days |
number | 9 to 31 | |
gravestone_days |
number | 6 to 22 | |
session_count |
number | 3,740 to 5,040 | count |
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
)
SELECT
toYear(date) AS year,
countIf((h - l) >= 0.01 * o
AND abs(c - o) <= 0.10 * (h - l)
AND (h - greatest(o, c)) <= 0.10 * (h - l)) AS dragonfly_days,
countIf((h - l) >= 0.01 * o
AND abs(c - o) <= 0.10 * (h - l)
AND (least(o, c) - l) <= 0.10 * (h - l)) AS gravestone_days,
count() AS session_count
FROM bars
GROUP BY year
ORDER BY year
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.