Brecha en el índice SEC EDGAR fin de mes
Tres cierres de mes en 2026 muestran actividad mínima en el índice SEC EDGAR. Analizamos los registros de ingesta, el precedente de 2025 y el impacto esperado.
El último día de negociación de un mes suele ser uno de los más activos en el índice de presentaciones de la SEC, el registro de todos los documentos que las empresas presentan ante el regulador. En 2026, este volumen es casi inexistente en tres ocasiones. El 31 de marzo, el 30 de abril y el 30 de junio presentan apenas una decena de presentaciones, mientras que sus días adyacentes registran miles. El patrón sigue el calendario: cada mes de 2026 cuyo último día CALENDARIO caiga en día hábil tendrá un vacío de actividad, mientras que cada mes cuyo último día calendario caiga en fin de semana se mantendrá intacto. A continuación: los registros, las marcas de tiempo de llegada que delimitan el origen del problema, el día anterior con un patrón similar y el valor del recuento de presentaciones en esas fechas.
La brecha surgió inicialmente como un problema de cierre de trimestre mientras elaborábamos el resumen del Q2 y el resumen del H1, de ahí la URL de esta página. Un análisis más profundo lo redefinió como un problema de cierre de mes; la página se actualiza en la misma dirección.
Qué días faltan
El SQL exacto detrás de cada cifra
SELECT d, filings, month_ends_on FROM (
SELECT '2026-01-30' AS d, (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-01-30')) AS filings, 'Saturday' AS month_ends_on, 1 AS ord
UNION ALL SELECT '2026-02-27', (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-02-27')), 'Saturday', 2
UNION ALL SELECT '2026-03-31', (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-03-31')), 'weekday (the gap day)', 3
UNION ALL SELECT '2026-04-30', (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-04-30')), 'weekday (the gap day)', 4
UNION ALL SELECT '2026-05-29', (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-05-29')), 'Sunday', 5
UNION ALL SELECT '2026-06-30', (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-30')), 'weekday (the gap day)', 6
UNION ALL SELECT '2025-09-30', (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2025-09-30')), 'weekday, full in the prior year', 7
UNION ALL SELECT '2025-12-31', (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2025-12-31')), 'weekday, full in the prior year', 8
) ORDER BY ordEl patrón se lee verticalmente en el panel. El último día hábil de enero registra 4332 presentaciones y febrero registra 7870; en ambos meses el último día del calendario cayó en sábado, por lo que el último día hábil ocurrió uno o dos días antes del cierre de mes. Luego se observa 55 el 31 de marzo, 34 el 30 de abril, volviendo a 5527 el 29 de mayo (mayo terminó en domingo) y 31 el 30 de junio. Los controles del año anterior muestran 3460 y 2289 presentaciones, con la misma estructura de día hábil al cierre de mes y con todos los datos completos. La ausencia de datos ocurre exactamente cuando el último día calendario de un mes de 2026 es un día hábil.
Qué tan grande es el vacío, en términos sencillos
Los conteos brutos subestiman la gravedad de esta situación. A continuación se presenta cada cierre de mes en día hábil desde 2020 que registró menos de mil presentaciones, cada uno comparado con el promedio de los días del índice dentro de los cinco días circundantes.
El SQL exacto detrás de cada cifra
WITH daily AS (
SELECT
filing_date,
uniqExact(accession_number) AS filings,
uniqExact(cik) AS companies,
max(_ingest_time) AS last_arrived
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date >= toDate('2019-12-20') AND filing_date <= toDate('2026-07-06')
GROUP BY filing_date
),
month_ends AS (
SELECT arrayJoin(arrayMap(i -> toLastDayOfMonth(addMonths(toDate('2020-01-01'), i)), range(78))) AS me
),
sparse AS (
SELECT
e.me AS me,
toUInt32(ifNull(d.filings, 0)) AS filings,
toUInt32(ifNull(d.companies, 0)) AS companies,
d.last_arrived AS last_arrived
FROM month_ends AS e
LEFT JOIN daily AS d ON d.filing_date = e.me
WHERE toDayOfWeek(e.me) <= 5 AND toUInt32(ifNull(d.filings, 0)) < 1000
)
SELECT
toString(s.me) AS month_end,
any(s.filings) AS filings,
any(s.companies) AS companies,
toUInt32(round(avgIf(n.filings, abs(dateDiff('day', n.filing_date, s.me)) <= 5 AND n.filing_date != s.me))) AS neighbour_day_avg,
round(100 * any(s.filings) / avgIf(n.filings, abs(dateDiff('day', n.filing_date, s.me)) <= 5 AND n.filing_date != s.me), 1) AS pct_of_normal,
toString(toDate(any(s.last_arrived))) AS last_row_arrived
FROM sparse AS s
CROSS JOIN daily AS n
GROUP BY s.me
ORDER BY s.me6 días en seis años y medio. El trío de 2026 se encuentra en el nivel más bajo: el 30 de junio registra 31 presentaciones frente a un promedio de los días vecinos de 4443 — 0.7% de un día normal, un déficit superior al 99%. El 30 de abril se sitúa en 0.6% y el 31 de marzo en 1.2%. Si se mide en empresas en lugar de documentos: el índice completo del 30 de junio de 2026 registra 27 presentadores distintos.
Las otras tres filas explican por qué esto no es un problema exclusivo de 2026. Dos corresponden a cierres federales ordinarios: el 31 de mayo de 2021 fue Memorial Day, y el 31 de diciembre de 2021 fue la observación federal del Año Nuevo 2022 (el 1 de enero cayó en sábado). EDGAR mantiene el calendario de feriados federales, por lo que los conteos cercanos a cero en esos casos —0 y 1 presentaciones— representan lo que ocurre cuando la ventana de presentación está cerrada, no un defecto.
El tercero es el caso relevante. El 30 de abril de 2025 registra 928 presentaciones, 19.1% de sus días vecinos: es una reducción parcial, no total. Es el único cierre de mes en día hábil desde 2020 que se sitúa tan por debajo de lo normal sin un feriado que lo explique, y precede a los desplomes de 2026 por un año: una versión más moderada del mismo comportamiento límite, a aproximadamente una quinta parte de un día normal en lugar de una centésima parte.
Cada cierre de mes desde 2020
El SQL exacto detrás de cada cifra
WITH month_ends AS (
SELECT arrayJoin(arrayMap(i -> toLastDayOfMonth(addMonths(toDate('2020-01-01'), i)), range(78))) AS me
),
daily AS (
SELECT filing_date, uniqExact(accession_number) AS filings
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date >= toDate('2020-01-01') AND filing_date <= toDate('2026-06-30')
GROUP BY filing_date
)
SELECT toString(e.me) AS month_end, toUInt32(ifNull(d.filings, 0)) AS filings
FROM month_ends AS e
LEFT JOIN daily AS d ON d.filing_date = e.me
WHERE toDayOfWeek(e.me) <= 5
ORDER BY e.meEsta serie extensa sirve como control para todo el argumento. Entre los cierres de mes en días hábiles de 55 desde enero de 2020 hasta junio de 2026, la línea se mantiene estable en los miles y luego cae abruptamente en el extremo derecho. El hecho de que sea el último día hábil del mes no hace que las presentaciones sean escasas; los plazos se concentran en esa fecha.
Qué ocurrió realmente en el día faltante
El SQL exacto detrás de cada cifra
SELECT
form_type,
uniqExactIf(accession_number, filing_date = toDate('2026-06-29')) AS normal_day_jun29,
uniqExactIf(accession_number, filing_date = toDate('2026-06-30')) AS gap_day_jun30
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date IN (toDate('2026-06-29'), toDate('2026-06-30'))
GROUP BY form_type
ORDER BY gap_day_jun30 DESC, normal_day_jun29 DESC, form_type
LIMIT 14Este panel identifica el error. Los formularios con registros el 30 de junio aparecen al principio: avisos de 15 EFFECT —las confirmaciones de la propia SEC de que una declaración de registro ha entrado en vigor— además de registros de asesores municipales, calificaciones de oferta y avisos de centros de negociación. Esos son documentos emitidos por los sistemas de la SEC, no documentos presentados por las empresas. Cada tipo de formulario que compone el volumen de un día normal muestra 0 filas: 926 424B2 suplementos de prospecto el 29 de junio y ninguno al día siguiente, presentaciones de Form 4 sobre transacciones de insiders 595 y ninguna al día siguiente, reportes de eventos corporativos 223 8-K y ninguno al día siguiente. Un martes de cierre de trimestre sin ningún 8-K y sin formularios de insiders no es un hecho del mercado. Es un archivo faltante.
Cuando llegaron las filas
El SQL exacto detrás de cada cifra
SELECT
toString(filing_date) AS d,
uniqExact(accession_number) AS filings,
formatDateTime(min(_ingest_time), '%Y-%m-%d %H:%i') AS first_arrived
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date >= toDate('2026-06-26') AND filing_date <= toDate('2026-07-10')
GROUP BY filing_date
ORDER BY filing_dateLas marcas de tiempo de llegada son lo más parecido a una huella dactilar en este caso. Todos los días de junio hasta el 29 llegaron al almacén en un solo proceso — 2026-07-01 09:38 UTC, un lote único con todo el mes incluido. El 30 de junio llegó solo a la mañana siguiente, a las 2026-07-02 09:12, con sus 31 filas administrativas, mientras que su vecino un día antes traía 4439. Los días límite de marzo y abril muestran la misma estructura, un mes antes.
El SQL exacto detrás de cada cifra
SELECT
(SELECT toString(toDate(min(_ingest_time))) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-04-01')) AS apr1_first_arrived,
(SELECT toString(toDate(min(_ingest_time))) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-04-30')) AS apr30_first_arrived,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-03-31')) AS mar31_filings_now,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-04-30')) AS apr30_filings_now,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-30')) AS jun30_filings_now,
(SELECT uniqExact(form_type) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-30')) AS jun30_form_typesLas filas del 1 de abril llegaron primero el 2026-05-01 — el lote mensual de abril, procesado al inicio de mayo. Las filas del 30 de abril llegaron el 2026-05-02, un día DESPUÉS del lote que debería haberlas contenido. Ese único día de separación es el diagnóstico completo en un solo número: el proceso que carga un mes termina un día antes del fin de mes, y el día límite es capturado luego por una ruta distinta y evidentemente incompleta. Cuando el último día calendario de un mes es fin de semana, el error no tiene costo (no hay nada que registrar), pero cuando es un día de negociación, una de las sesiones más ocupadas del mes se intercambia por un puñado de avisos emitidos por la SEC distribuidos en 6 tipos de formularios.
No es posible determinar desde este almacén si ese desfase de un día se encuentra en el pipeline del proveedor o en nuestra ingesta de este — resolverlo requiere los archivos de índice diario sin procesar de la SEC para esas tres fechas, una comparación que esta página no puede realizar. Lo que los recibos sí establecen: tres fechas específicas son inutilizables para los conteos de presentaciones.
Estado a partir de esta revisión
No corregido. Cada conteo en esta página se recalcula cada vez que se genera la página; al momento de esta ejecución, el 31 de marzo todavía registra presentaciones de 55, el 30 de abril de 34 y el 30 de junio de 31, que son los conteos registrados cuando se redactó el reporte original sobre la brecha. El índice funciona correctamente: 2026-07-10 registra 2198 presentaciones, llegando según lo previsto. Los límites de control mantienen los tres días en sus valores cercanos a cero; un rellenado de datos los activa y obliga a una regeneración con cifras corregidas.
¿Falta algo más?
Un error de límite en un cargador no dice nada sobre los demás. ¿Hay poca información el 30 de junio en algún otro lugar del almacén?
El SQL exacto detrás de cada cifra
SELECT dataset, jun29, jun30 FROM (
SELECT 'SEC filing index (filings)' AS dataset,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-29')) AS jun29,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-30')) AS jun30, 1 AS ord
UNION ALL SELECT 'Minute bars (tickers)',
(SELECT uniqExact(ticker) FROM global_markets.delayed_stocks_minute_aggs WHERE window_start >= toDateTime('2026-06-29 04:00:00') AND window_start < toDateTime('2026-06-30 04:00:00')),
(SELECT uniqExact(ticker) FROM global_markets.delayed_stocks_minute_aggs WHERE window_start >= toDateTime('2026-06-30 04:00:00') AND window_start < toDateTime('2026-07-01 04:00:00')), 2
UNION ALL SELECT 'Dividends (ex-div records)',
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = toDate('2026-06-29')),
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = toDate('2026-06-30')), 3
UNION ALL SELECT 'News articles',
(SELECT count() FROM global_markets.stocks_news WHERE toDate(published_utc) = toDate('2026-06-29')),
(SELECT count() FROM global_markets.stocks_news WHERE toDate(published_utc) = toDate('2026-06-30')), 4
UNION ALL SELECT 'Treasury curve rows',
(SELECT count() FROM global_markets.treasury_yields WHERE date = toDate('2026-06-29')),
(SELECT count() FROM global_markets.treasury_yields WHERE date = toDate('2026-06-30')), 5
) ORDER BY ordNo la hay. La cinta de barras de un minuto cubre 11982 tickers el 30 de junio frente a 11903 el día anterior; 704 registros de ex-dividend, 215 artículos de noticias y una curva de Treasury completa también caen en esa fecha. Solo el índice de presentaciones — 31 filas frente a 4439 — presenta el vacío. El resumen semanal contiene los recibos de la sesión: el 30 de junio de 2026 fue un martes y un día completo de negociación.
Lo que esto significa si se contabilizan los registros
Cualquier conteo cuyo periodo incluya el 31 de marzo, el 30 de abril o el 30 de junio de 2026 presenta un subregistro mayor a un error de redondeo: tres días de alta actividad de registros fueron reemplazados por casi cero. Esto reduce los totales mensuales de marzo, abril y junio, los totales trimestrales de 5527 y 5527, y el total semestral. Nuestro propio resumen de junio publica sus conteos de registros con la aclaración integrada, y la misma advertencia aplica para cualquier consulta sobre conteo de registros que se haga en una terminal —incluida la nuestra— que afecte esas fechas. Si se solicitan los registros por mes en 2026, tres de las seis respuestas estarán incompletas por aproximadamente un día completo de documentos.
Los tipos de formularios en una sola línea
- 8-K — un reporte de eventos corporativos: una empresa informando al mercado sobre un suceso relevante.
- Form 4 — un reporte de transacciones de insiders (directivos, directores o grandes accionistas) en sus propias acciones.
- 10-Q — el reporte financiero trimestral.
- 424B2 — un suplemento de prospecto: el documento de fijación de precios para una oferta de valores.
- NPORT-P — el reporte mensual de tenencias de cartera de un fondo.
- EFFECT / QUALIF / MA-I / ATS-N — avisos administrativos generados por los sistemas de la SEC: una inscripción que entra en vigor, una oferta calificada, el registro de un asesor municipal o la presentación de divulgaciones de un centro de negociación. Estos son los que sobrevivieron a los días de desfase. Qué presentaciones de la SEC aparecen con más frecuencia detalla la distribución completa.
Preguntas frecuentes
¿Se ha solucionado ya el desfase en los registros de SEC EDGAR?
No al momento de esta revisión. El 31 de marzo, el 30 de abril y el 30 de junio de 2026 todavía presentan los registros 55, 34 y 31 respectivamente en nuestra copia del índice. Esta página se regenera cuando estos cambian. Sus límites de validación están configurados para fallar si se detecta un backfill, que es el propósito de publicar los comprobantes en lugar de un memorando.
¿Significa esto que la SEC perdió los registros?
No. Los documentos existen en EDGAR; lo que falta es el equivalente a un día de filas en la copia derivada del índice. Los horarios de llegada muestran que el cargador funcionó según lo programado y entregó un día casi vacío. Determinar si el error de desfase es responsabilidad del proveedor de datos o de nuestra carga requiere que los archivos de índice diarios de la SEC para esas tres fechas se estabilicen.
¿Qué es el índice de registros de SEC EDGAR?
EDGAR es el sistema de registros públicos de la SEC. Su índice diario enumera cada documento presentado ese día: la empresa, el tipo de formulario, el número de acceso que identifica el registro de forma única y el enlace. Es la base de cualquier sistema que contabilice registros, como los monitores de operaciones de insiders, los feeds de eventos 8-K y los rastreadores de prospectos.
¿Qué tipos de formularios faltaron el 30 de junio de 2026?
Todos los que las empresas presentan. El día contiene 6 tipos de formularios, todos ellos avisos administrativos generados por la SEC. Los registros 926 424B2 de la sesión anterior, los informes de insiders Form 595 4 y los informes de eventos 223 8-K caen a 0 en el día del desfase.
¿Ha ocurrido esto antes de 2026?
Una vez, de forma más leve. El 30 de abril de 2025 se sitúa en el 19.1% de un día normal; fue parcial en lugar de vacío y no se debió a ningún día festivo. Los únicos otros cierres de días laborables con menos de mil registros desde 2020 son el 31 de mayo de 2021 (Memorial Day) y el 31 de diciembre de 2021 (la observancia federal de Año Nuevo), siendo ambos cierres reales y no fallos de datos.
Metodología
- Todos los conteos se desduplican mediante el número de acceso: una presentación puede indexarse bajo varias entidades.
- El "promedio de días adyacentes" es el conteo medio de los días del índice dentro de los cinco días naturales previos y posteriores al día en cuestión, excluyendo este último.
- Los tiempos de llegada son los valores
_ingest_timede este almacén, no los de la SEC; estos miden el flujo de datos que un lector de esta página experimenta realmente. - Los cierres de mes en días hábiles son el último día CALENDAR de cada mes que cae de lunes a viernes; dos de ellos son feriados federales y están marcados como tales arriba.
- Esta nota se actualiza en el mismo lugar; su estructura original de cierre de trimestre fue reemplazada por la evidencia de cierre de mes en la misma URL. Cada número es el resultado de una consulta almacenada, ejecutada nuevamente a través de la ruta de solo lectura en cada regeneración; ejecute las mismas consultas usted mismo en la terminal Strasmore.