STRASMORE/EXPLORE 3,214 QUERIES

calendario_madrid

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-08, from us-stock-market-hours-spain-time.

as of table 12×7read in context →
calendario_madrid — 12 rows by 7 columns, computed from US exchange, SIP and OPRA data.
fechadia_semanafestivosituacioncierre_peninsulacierre_canariasdias_vista
26/11/2026juevesThanksgivingcerrado todo el día49
27/11/2026viernesThanksgivingmedia sesión19:0018:0050
24/12/2026juevesChristmasmedia sesión19:0018:0077
25/12/2026viernesChristmascerrado todo el día78
01/01/2027viernesNew Years Daycerrado todo el día85
18/01/2027lunesMartin Luther King, Jr. Daycerrado todo el día102
15/02/2027lunesWashington's Birthdaycerrado todo el día130
26/03/2027viernesGood Fridaycerrado todo el día169
31/05/2027lunesMemorial Daycerrado todo el día235
18/06/2027viernesJuneteenthcerrado todo el día253
05/07/2027lunesIndependence Daycerrado todo el día270
06/09/2027lunesLabor Daycerrado todo el día333
Rows × columns
12 × 7
Computed
Completeness
Some fields are partly empty — see the columns below
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 calendario_madrid, derived from the stored result.
ColumnTypeRangeNotes
fecha text 12 distinct values (01/01/2027, 05/07/2027, 06/09/2027…)
dia_semana text 3 distinct values (jueves, lunes, viernes)
festivo text 10 distinct values (Christmas, Good Friday, Independence Day…)
situacion text 2 distinct values (cerrado todo el día, media sesión)
cierre_peninsula text 1 distinct value (19:00) 2 of 12 rows populated
cierre_canarias text 1 distinct value (18:00) 2 of 12 rows populated
dias_vista number 49 to 333

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
    formatDateTime(date, '%d/%m/%Y')                            AS fecha,
    arrayElement(['lunes', 'martes', 'miércoles', 'jueves',
                  'viernes', 'sábado', 'domingo'],
                 toDayOfWeek(date))                             AS dia_semana,
    any(name)                                                   AS festivo,
    multiIf(any(status) = 'early-close', 'media sesión',
            any(status) = 'closed',      'cerrado todo el día',
            any(status))                                        AS situacion,
    any(if(status = 'early-close',
           formatDateTime(toTimeZone(close, 'Europe/Madrid'), '%H:%i'),
           ''))                                                 AS cierre_peninsula,
    any(if(status = 'early-close',
           formatDateTime(toTimeZone(close, 'Atlantic/Canary'), '%H:%i'),
           ''))                                                 AS cierre_canarias,
    dateDiff('day', today(), date)                              AS dias_vista
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY date
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.