Documento de trabajo del proyecto, publicado tal como se mantiene. Las rutas de archivos que aparecen en el texto se refieren al repositorio interno del proyecto.
Este documento recoge los errores encontrados en el modelo, los datos y el texto publicado del proyecto de seguimiento del choque energético de 2026: qué se encontró, cuándo, qué efecto tuvo sobre las conclusiones publicadas y cómo se corrigió.
El registro se mantiene porque un ejercicio de pronóstico que se publica tres veces por semana acumula errores, y el valor del ejercicio depende de que sean visibles. Un error corregido en silencio deja al lector sin manera de calibrar cuánto crédito dar a lo que lee.
Estado de cada entrada:
- Corregido — el defecto se arregló y su efecto está cuantificado.
- Confirmado, sin cuantificar — el defecto está verificado en el código pero todavía no se ha medido cuánto movió las cifras publicadas.
- Abierto — pendiente de resolución.
E-1 · Coeficiente de traspaso de corto plazo sin escalar a frecuencia diaria
Detectado: 28 de julio de 2026 · Estado: corregido en v15.35 Alcance: las previsiones de precio en bomba publicadas desde el 6 de abril de 2026
El modelo de corrección de error se estimó en frecuencia mensual y se usa para simular trayectorias diarias. El bloque de coeficientes de simulacion_bayesiana.R (líneas 576–580) se anuncia «escalados a DIARIO», pero escala dos de los tres coeficientes de corto plazo y deja el tercero en frecuencia mensual. El motor que genera los 5.000 mundos (línea 753) aplica ese coeficiente mensual contra un incremento diario del logaritmo del Brent.
El propio guion estima la versión correcta y la imprime en cada corrida (líneas 2870–2876): b1_d = 0,1544 frente a b1_m = 0,6152 — un factor de 4,0. El coeficiente correcto sí se emplea en el módulo de previsión inmediata (línea 2882), pero no en la simulación principal.
Efecto esperado. El nivel de largo plazo lo ancla el término de corrección de error, de modo que el destino de las trayectorias apenas se mueve. Lo que se distorsiona es la dinámica de corto plazo y la varianza: la contribución del canal del Brent escala con el cuadrado del coeficiente, así que multiplicarlo por cuatro multiplica por unos dieciséis la varianza que ese canal aporta. Como la cifra publicada es un máximo de trayectoria («gasolina pico mediana»), y el máximo de una serie más volátil es más alto aunque su media no cambie, la previsión de gasolina pico está probablemente sesgada al alza y sus intervalos son demasiado anchos.
Efecto medido. Ver la tabla conjunta al final de E-2.
E-2 · Doble conteo de varianza en la simulación
Detectado: 28 de julio de 2026 · Estado: corregido en v15.35 Alcance: amplitud de los intervalos publicados desde el 6 de abril de 2026
La desviación típica que alimenta el término aleatorio de la simulación se calcula (línea 737) como la desviación incondicional de los cambios observados del precio mayorista. Esa cantidad ya contiene el efecto del Brent, la deriva y el ajuste al equilibrio. En la línea 753 se inyecta como si fuera el residuo del modelo, de modo que la varianza sistemática se genera dos veces: una por la parte explicada y otra por el ruido.
La desviación residual correcta también la calcula el guion. Con los datos al 28 de julio (98 observaciones): residual 0,0225 frente a incondicional 0,0242, un exceso del 7,6%.
Efecto medido de E-1 y E-2
Cuatro corridas de la simulación sobre los mismos observables (28 de julio, \(B_0\) = $90) y la misma semilla, de modo que las diferencias provienen solo de los coeficientes. Los ficheros de salida están en auditoria_fase1a/.
| Actual | Solo E-1 | Solo E-2 | Ambas | |
|---|---|---|---|---|
| Gasolina pico, mediana (ch/L) | 145,3 | 133,9 | 144,2 | 132,5 |
| Amplitud del intervalo al 50% | 24,1 | 20,0 | 23,2 | 19,2 |
| Amplitud del intervalo al 90% | 59,3 | 48,5 | 57,0 | 46,4 |
| Brent pico, mediana | $154 | $154 | $154 | $154 |
Probabilidad de que el precio en bomba supere cada umbral, a dos meses:
| Umbral (ch/L) | Actual | Corregido | Diferencia |
|---|---|---|---|
| > 110 | 84% | 73% | −11 pp |
| > 115 | 75% | 60% | −15 pp |
| > 120 | 66% | 47% | −19 pp |
| > 130 | 45% | 24% | −21 pp |
| > 140 | 27% | 9% | −18 pp |
| > 150 | 14% | 3% | −11 pp |
Lectura. La previsión de gasolina pico está inflada en unos 13 chavos por litro (8,8%) y sus intervalos son un 22% más anchos de lo que corresponde. Las probabilidades de rebasar umbral —la tabla que un lector usa para decidir si llenar el tanque— están sobreestimadas hasta en 21 puntos porcentuales. Casi todo el efecto viene de E-1; E-2 aporta poco más de un chavo.
Lo que no está afectado. El Brent pico y las nueve celdas de la tipología bidimensional salen idénticos en las cuatro corridas. El defecto vive en el canal que traduce el Brent a precio de gasolina, no en la simulación del Brent. La distribución de escenarios publicada, y por tanto el registro de calibración que se está construyendo sobre ella, se mantienen válidos.
Sobre la corrección definitiva. La columna «corregido» sustituye el coeficiente mensual por el diario estimado con una regresión simple, lo que mide la magnitud del sesgo pero no fija todavía la especificación. Los demás coeficientes (relación de largo plazo y velocidad de ajuste) siguen siendo mensuales reescalados. La corrección definitiva exige reestimar el modelo completo en frecuencia diaria o semanal, que es el paso siguiente de la auditoría. Hasta entonces no se publican cifras nuevas de precio en bomba.
E-3 · Precipicio sincronizado en las primas de escalada
Detectado: 26 de julio de 2026 · Estado: corregido Alcance: cifras publicadas entre abril y el 10 de julio de 2026
Dos de las primas de riesgo geopolítico —la de escalada israelí y la de Catar— se anulaban de golpe al llegar a un día fijo (el 57 y el 71 de cada trayectoria, respectivamente) en lugar de decaer. El comentario del código prometía un descenso gradual desde la versión 12, pero nunca se implementó, mientras que las primas hermanas (Ucrania, Kuwait, infraestructura saudí) sí decaían.
Como el corte caía en el mismo día en todos los mundos simulados, producía un salto sincronizado en las trayectorias: la mediana caía 5,10 chavos por litro y el percentil 95 caía 7,10 en una sola jornada, frente a variaciones de una a cinco décimas en los días vecinos.
Efecto medido. Tras sustituir el corte por un decaimiento exponencial:
| Cifra | Antes | Después |
|---|---|---|
| Celda X-larga | 1,0% | 13,0% |
| P(bomba > 130 ch/L) a 2 meses | 41% | 52% |
El defecto suprimía sistemáticamente la cola larga de la distribución. Toda publicación anterior al 26 de julio subestimó la probabilidad de escenarios extremos sostenidos.
Corrección: decaimiento exponencial a partir del día de corte, en lugar de anulación.
E-4 · Contradicción interna en el bloque de inflación del documento público
Detectado: 28 de julio de 2026 · Estado: causa resuelta el 30 de julio; pendiente de aplicarse al publicar Alcance: documento publicado entre el 8 de mayo y el 10 de julio de 2026
El documento presenta dos cifras incompatibles del mismo indicador. En el bloque inicial «Lo esencial» consta el último dato oficial del IPC de Puerto Rico como mayo de 2026 (144,153, +4,6% interanual); en el bloque de contexto del final, como marzo de 2026 (140,874, +2,5%). La distribución de escenarios también difiere: C 21,9% / D 61,1% / E 12,1% en el primero, C 4,6% / D 67,2% / E 28,2% en el segundo.
Causa resuelta. Desde el 30 de julio el documento lee sus cifras de resultados/ciclo-actual.rds, escrito por la simulación, en vez de tenerlas tecleadas. Con fuente única de verdad la discrepancia deja de ser posible por construcción. Queda pendiente que un ciclo de pronóstico complete la conversión de las viñetas de «Lo esencial», que siguen escritas a mano porque cablearlas exige reescribir prosa.
El segundo bloque quedó congelado en el ciclo del 8 de mayo y arrastró once semanas de desfase. Un lector que llegase al final del documento habría leído un 2,5% de inflación después de haber leído un 4,6% al principio.
Causa. El documento no contiene ningún bloque de código: las cifras se teclean a mano y una misma cifra aparece hasta en doce líneas distintas, de modo que basta olvidar una para que el documento se contradiga.
Corrección prevista: fuente única de verdad. Los guiones escribirán un objeto de resultados y el documento lo leerá, de forma que cada cifra provenga de una variable y la contradicción sea imposible por construcción.
E-5 · Filas duplicadas en el registro histórico de probabilidades
Detectado: 28 de julio de 2026 · Estado: corregido el 30 de julio Alcance: el registro interno de probabilidades; no las cifras publicadas
write_csv(..., append = TRUE) no tenía lógica anti-duplicado, de modo que re-correr un ciclo —cosa que pasa cuando se corrige un dato y se vuelve a generar— añadía una fila más en vez de sustituir la anterior. El remedio era acordarse de borrarla a mano, y no siempre se recordó.
Alcance medido. historico_probs_mc_v15.csv tenía dos fechas repetidas, el 17 y el 20 de abril, con probabilidades distintas en cada par: son dos corridas del mismo ciclo, no copias. historico_probs_mc_v1a14.csv tiene cuatro fechas repetidas: 10, 13, 14 y 16 de abril.
Corrección. En la serie viva se conserva la última corrida de cada fecha, que es la que se publicó, y el guion pasa a reemplazar la fila del día en lugar de añadirla. Verificado corriendo dos veces seguidas: el fichero no crece.
La serie v1a14 no se toca: está congelada por decisión del proyecto y la regla es que las instantáneas no se editan retroactivamente. Sus cuatro duplicados quedan registrados aquí, que es donde corresponde. Quien la use para análisis debe deduplicar conservando la última de cada fecha.
E-6 · Ficheros dañados heredados de la sincronización en la nube
Detectado: 28 de julio de 2026 · Estado: abierto (contenido perdido)
Al migrar el proyecto fuera de OneDrive se verificó la integridad de los 237 ficheros. Tres presentan daños previos a la migración:
| Fichero | Daño |
|---|---|
pdfs_daco/PRECIOS-DE-MAYORISTAS-27-DE-Febrero-2026.pdf |
173.010 bytes, todos ceros. El marcador de sincronización sobrevivió; el contenido se perdió |
hormuz_map.png |
Página de error HTTP 404 guardada con extensión de imagen |
hormuz_map.jpg |
Ídem |
El PDF perdido corresponde al 27 de febrero de 2026, anterior al inicio de la crisis, y no alimenta ninguna cifra publicada. Los dos ficheros de mapa se referencian en presentacion_ds.qmd.
Se detectaron además nueve duplicados de conflicto de sincronización, todos del 10 de mayo y obsoletos frente a las figuras regeneradas después. No se migraron.
E-7 · El modelo mezclaba dos precios distintos
Detectado: 28 de julio de 2026 · Estado: confirmado y cuantificado Alcance: todas las previsiones de precio publicadas
El modelo de corrección de error se estimaba con daco_historico.csv y sus coeficientes se aplicaban en la simulación al precio mayorista (obs$gas_mayorista_hoy, media de unos catorce distribuidores).
Verificado contra la fuente primaria. El fichero de DACO Precios-Promedios-de-Gasolina-y-Diesel-86.xlsx se titula «Precios Promedios (¢ por galón) Mensuales Al Detal — Gasolina y Diesel en Puerto Rico», y sus valores coinciden dígito a dígito con daco_historico.csv (enero de 2026: promedio 287,84 · regular 282,05 · super 342,97 · diésel 314,95). La serie de estimación es el precio en bomba, no el mayorista.
Sobre 139 meses en común, el margen entre ambas series es de 4,99 ch/L de media (mediana 4,68, desviación típica 2,37), lo que en logaritmos son 0,0679. Ese es el sesgo que el término de corrección de error arrastraba: el modelo comparaba el precio mayorista contra el equilibrio de largo plazo del precio de bomba, que está sistemáticamente por encima. Al creer que el mayorista estaba menos por encima de su equilibrio de lo que realmente estaba, corregía de menos hacia abajo y proyectaba de más hacia arriba.
Efecto medido. Con \(B_0\) = $90 y mayorista 104,124 ch/L, el término de corrección pasa de +0,1105 (equilibrio de bomba) a +0,1790 (equilibrio de mayorista). Esa diferencia de 0,0685, aplicada con la velocidad de ajuste diaria, vale −25,7% acumulado en 182 días.
Corrección. Se reestimó contra la serie mayorista real, extraída de Historial-de-precios-mayoristas-27-marzo-2026.xlsx («Precios prevalecientes de mayoristas de gasolina, abril 2014 – marzo 2026»): 23.460 registros, 20 distribuidores, 145 meses. La relación de largo plazo resultante es α = 1,6122 y β = 0,6343, con R² de 0,9219 —mejor ajuste que el 0,8679 de la serie de bomba— y cointegración confirmada (Engle–Granger −5,545).
E-8 · El ancla de largo plazo se estimó sobre la mitad de la muestra
Detectado: 29 de julio de 2026 · Estado: confirmado y corregido Alcance: todas las previsiones de precio publicadas
La reestimación que resolvió E-7 dio α = 1,6122 y β = 0,6343 sobre 87 meses. El panel del mayorista cubre 145. La diferencia no fue una decisión metodológica: el guion leía brent_diario_fred.csv, un extracto de FRED que arranca en 2019, mientras que el panel arranca en 2014. La muestra la fijó el fichero más corto, en silencio.
Descartado primero lo que parecía la causa. Aquella reestimación empalmaba dos definiciones de crudo —FRED para los meses antiguos y la columna de Dated Brent físico de df_hist para los recientes—, que en el solapamiento difieren hasta 14,23 USD (julio de 2026, +18,5%). Restringiendo a la muestra común, las dos definiciones dan prácticamente lo mismo: α 1,6173 contra 1,6122, β 0,6330 contra 0,6343. El empalme no es el problema; el truncamiento sí.
Sobre los 145 meses: α = 1,7727, β = 0,5939, R² 0,9206, Engle–Granger −5,395. El equilibrio evaluado en $154 —la mediana del Brent pico— baja de 122,2 a 117,2 ch/L.
La elección se resolvió fuera de muestra. La relación de largo plazo no es estable: el Chow entre los tres regímenes da F = 14,48 con p < 10⁻⁹, y cambia la pendiente además del intercepto (β pasa de 0,506 a 0,595 y a 0,711). Eso hacía del régimen vigente el candidato natural. Se evaluaron los tres anclas con predicción rodante a un mes sobre 21 orígenes, reestimando en cada uno solo con la información disponible hasta esa fecha:
| Ancla | \(N\) | EAM (ch/L) | RECM | Sesgo |
|---|---|---|---|---|
| Muestra completa | 145 | 1,56 | 2,01 | +0,39 |
| Desde 2019 (en uso) | 87 | 2,00 | 2,34 | −0,64 |
| Régimen vigente | 46 | 2,58 | 3,19 | −0,41 |
En el único mes de crudo alto de la ventana (febrero de 2026, Brent $103) los errores son −2,0, −4,5 y −8,3 ch/L: las tres sobrepredicen, y más cuanto más corta la muestra. Gana la muestra larga. Con 46 observaciones el régimen vigente no cointegra por sí solo (Engle–Granger −2,84) y su β está estimado con demasiado ruido para extrapolarlo; se pierde más por varianza de lo que se gana por especificidad de régimen.
Efecto medido, misma semilla y mismos observables del 28 de julio:
| Con 87 meses | Con 145 meses | |
|---|---|---|
| Gasolina pico, mediana (ch/L) | 125,7 | 122,4 |
| Amplitud del intervalo al 90% | 40,7 | 37,0 |
| P(bomba > 120) a dos meses | 33% | 25% |
| P(bomba > 130) a dos meses | 13% | 9% |
E-9 · El parámetro de Ormuz cambió de significado y un bloque no se enteró
Detectado: 29 de julio de 2026 · Estado: confirmado y corregido Alcance: la distribución de escenarios, desde algún punto entre abril y mayo
Este es el primero de los defectos que subestimaba la severidad. Los cuatro anteriores empujaban al alza; este empujaba a la baja, y precisamente en la cola.
hormuz_bpd_frac mide hoy la fracción de tráfico que fluye por el estrecho: el valor vigente es 0,10 y se justifica con «el tráfico total va −90% interanual». En abril medía lo contrario, la fracción bloqueada: la calibración de referencia del modelo es obs_16abr con hormuz = 0,85, y la bitácora de esa misma fecha describe «Ormuz a ~10% de tráfico». Los dos valores, 0,85 y 0,10, describen el mismo estado físico con convenciones opuestas.
El cambio de convención se puede acotar pero no fechar con exactitud: el 20 de mayo el parámetro ya valía 0,40 con la justificación «26 buques/día es alza real vs abril», que solo tiene sentido si el número mide flujo. Ocurrió, entonces, entre mediados de abril y el 20 de mayo.
Dónde estaba el fallo. El proyecto consume el parámetro en dos sitios. sample_T_ormuz() usa 0,10 · (0,50 − hormuz_bpd_frac) para mover masa hacia los regímenes de cierre largo cuando hay menos flujo: correcto bajo la convención vigente. prior_ceasefire_outcome() calculaba dh = hormuz_bpd_frac − 0,85 con coeficientes que esperan la convención antigua (+0,8·dh sube el colapso duro). Con hormuz = 0,10 eso da dh = −0,75, y el modelo leía el bloqueo casi total como si fuera reapertura:
| Desenlace del cese al fuego | Multiplicador aplicado |
|---|---|
| Colapso duro | ×0,55 |
| Escalada estacionada | ×0,80 |
| Reaviva Pakistán | ×1,46 |
| Acuerdo sorpresa | ×2,46 |
| Limbo | ×0,69 |
Corrección. Se convierte dentro de la función: dh = (1 − hormuz_bpd_frac) − 0,85. Con el valor vigente sale dh = +0,05, casi el punto fijo de la calibración, que es lo que corresponde a un estado físico equivalente al del 16 de abril. sample_T_ormuz() no se toca.
Efecto medido, misma semilla y observables del 28 de julio:
| Celda | Antes | Después | Δ |
|---|---|---|---|
| M-breve | 28,46% | 26,60% | −1,86 pp |
| S-breve | 35,92% | 35,20% | −0,72 |
| S-media | 21,38% | 21,26% | −0,12 |
| S-larga | 0,40% | 0,82% | +0,42 |
| X-media | 7,04% | 6,84% | −0,20 |
| X-larga | 6,78% | 9,24% | +2,46 pp |
| Severidad S+X | 71,5% | 73,4% | +1,86 pp |
| Duración larga (total) | 7,2% | 10,1% | +2,88 pp |
La celda más severa de la tipología sube un 36% en términos relativos, y la duración larga un 40%. Brent pico mediana de $154 a $155; gasolina pico de 122,4 a 123,4 ch/L.
Consecuencia para el registro de calibración. A diferencia de E-1, E-2, E-7 y E-8, este defecto sí toca la distribución de escenarios. Las probabilidades publicadas desde el cambio de convención subestiman la cola severa, y el registro histórico de la Fase 2 hereda ese sesgo en el tramo afectado. Hay que evaluarlo con la fecha de corte puesta, no con la serie entera tratada como homogénea.
Medida preventiva. El bloque de observables lleva ahora la convención escrita y la advertencia de revisar los dos consumidores antes de cambiarla. La causa de fondo —un parámetro cuyo nombre no dice su signo— sigue ahí: hormuz_bpd_frac no revela si mide flujo o bloqueo.
E-10 · La brecha fundamental–mercado tenía un suelo que el modelo se contradecía
Detectado: 30 de julio de 2026 · Estado: corregido en v15.36 Alcance: la brecha publicada en cada ciclo desde abril de 2026
compute_prima_incorporada() acota cada uno de sus siete componentes con un piso. La suma de los pisos es $41: con todos los observables en su valor de paz —sin déficit acumulado, sin capacidad fuera de servicio, Ormuz abierto, ningún país racionando, tregua consolidada de un año— la prima no baja de ahí. Con pre_crisis = $56, el precio «fundamental» mínimo computable es $97.
El motor de trayectorias, en cambio, hace derivar el Brent a eq_post = $75. Los dos números describen el mismo mundo post-crisis y difieren en $22.
Efecto sobre lo publicado. La brecha fundamental–mercado se presenta en cada ciclo como medida de la supresión del precio, y hoy figura en $58. Esa brecha no puede ser cero mientras el Brent esté por debajo de $97: en el escenario de paz total con el mercado situado en el equilibrio que el propio modelo postula, seguiría marcando $22. Una parte de la cifra publicada es artefacto de construcción, no señal.
Además, el componente mayor está saturado. prima_deficit_acum alcanza su tope de $45 a partir de 1.475 MMbbl y el déficit observado va un 20% por encima. Es el 49% de la prima y solo puede moverse a la baja.
Corrección aplicada (v15.36). Tres cambios acoplados:
- Los siete pisos pasan a cero. Cada componente vuelve a cero cuando su observable lo hace, que es lo que exige llamar «función de observables» a la prima. Se retiran también dos constantes aditivas que actuaban como pisos encubiertos: el 7 de
prima_ukr_refineriasy el 5 deprima_tail_riesgo. pre_crisiscorregido de $56 a $66,1 — ver E-15.eq_postdeja de ser una constante independiente y se deriva:eq_post = pre_crisis + prima(observables residuales), donde lo residual es el daño que no se repone en el horizonte (refinerías destruidas) y todo lo demás va a cero.
Verificado: la prima con paz total pasa a $0 y el fundamental mínimo a $66,1, que es el pre-crisis. Y el ancla derivada sale en $73,6, frente al $75 que se venía usando a juicio. Que ambos coincidan no estaba garantizado: es la comprobación de que las dos lecturas eran conciliables una vez retirados los pisos y corregido pre_crisis.
Efecto: prima $91,76 → $76,76; brecha $57,8 → $52,9. Las proyecciones de precio apenas se mueven (gasolina pico 123,4 → 122,9 ch/L).
E-15 · El precio pre-crisis no era el que decía ser
Detectado: 30 de julio de 2026 · Estado: corregido en v15.36 Alcance: la prima implícita y la brecha publicadas desde abril de 2026
obs$pre_crisis valía 56 con el comentario «Brent enero 2026 (pre-guerra)». El dato de FRED para enero de 2026 es $66,60. Y $56 no corresponde a ningún punto de la serie: el mínimo del período 2024 – febrero de 2026 es $59,93 (16 de diciembre de 2025) y su percentil 5 es $62,86.
Efecto. El parámetro entra en el cálculo de la prima implícita en mercado (\(B_0\) − pre_crisis) y, por diferencia, en la brecha fundamental–mercado que se publica cada ciclo. Con $56 la prima implícita salía $34; con el valor correcto es $23,9. No toca el motor de trayectorias, de modo que las proyecciones de precio no estaban afectadas.
Corrección: $66,1, la media del tramo estable anterior a la guerra (octubre de 2025 a febrero de 2026). La elección se valida contra los datos locales: con la relación de largo plazo en uso, ese nivel implica un mayorista de 71,2 ch/L, y el observado en ese tramo fue de 70,7 a 74,9.
E-11 · Rangos documentados que no son los del código
Detectado: 30 de julio de 2026 · Estado: corregido Alcance: solo comentarios; ninguna cifra publicada
Dos componentes de la prima declaraban en su comentario un rango distinto del que produce el código:
| Componente | Comentario | Rango efectivo |
|---|---|---|
prima_ukr_refinerias |
$3 – $12 | $7 – $12 (el piso es inalcanzable: la constante del término lineal es 7) |
prima_kuwait |
$4 – $12 | $0 – $12 (el piso del código es 0) |
Los otros cinco coinciden. Corregidos los comentarios; el código no se tocó, de modo que ninguna cifra cambia. Verificado: la corrida reproduce resultados idénticos.
E-12 · La matriz de la cópula no mide lo que la documentación dice
Detectado: 30 de julio de 2026 · Estado: corregido en la documentación Alcance: la descripción del modelo, no sus salidas
La implementación de la cópula gaussiana es correcta: Σ es definida positiva, el orden del vector de probabilidades coincide con el de la matriz, y las marginales se preservan con error inferior a 0,002 sobre 200.000 sorteos.
Lo que falla es la interpretación. Σ recoge la correlación entre las variables gaussianas latentes, no entre los sucesos. Al discretizar en Bernoulli la correlación se atenúa: sobrevive el 57% de media (rango 42%–64%). El par saudi–kuwait, declarado en 0,55, resulta 0,28 entre los indicadores.
El documento formal presenta esos valores como correlaciones entre sucesos. Si esa era la intención, Σ está infracalibrada por un factor cercano a dos.
Un matiz adicional que la justificación escrita no recoge. Frente a independencia, la cópula redistribuye masa hacia las dos colas —P(ningún suceso) se multiplica por 5,6 y P(los seis) por 3,9— a costa del centro. P(3 o más) no sube: baja de 0,685 a 0,643. La cópula no hace más probable la escalada múltiple moderada; hace más probables los dos extremos.
Corregido en los comentarios del código. La reformulación de §sec-copula en el documento formal queda pendiente.
E-13 · Dos celdas de la tipología eran imposibles por construcción
Detectado: 30 de julio de 2026 · Estado: corregido en v15.36 Alcance: el mapa de calor 3×3 publicado desde el 16 de abril de 2026
El nivel M se define como pico del Brent por debajo de $140. La duración se define como días con el Brent por encima de $140. Un mundo de nivel M no supera nunca ese umbral, luego su duración es cero y cae siempre en «breve».
M-media y M-larga no pueden tener masa. Verificado: de los 1.330 mundos clasificados como M en la corrida vigente, ninguno registra un solo día por encima de $140.
La grilla que se publica como 3×3 tiene siete celdas alcanzables. Los dos huecos del mapa de calor no son un resultado del modelo sino una consecuencia de haber definido las dos dimensiones sobre el mismo umbral.
Corrección aplicada (v15.36). La duración pasa a medirse sobre $120, umbral distinto del que separa los niveles. El valor no se eligió a ojo: se barrieron todos los candidatos por debajo de $140 y se tomó el que maximiza la entropía de la distribución de celdas, es decir el que mejor discrimina. El óptimo es $120, con entropía relativa 0,737 frente a 0,682 de $130 y 0,660 de $110. Tiene además lectura sustantiva: un Brent de $120 sitúa la bomba de Puerto Rico en torno a 105 ch/L.
Resultado: M-media pasa de 0% a 7,4% y M-larga de 0% a 0,42%. Las celdas con masa suben de siete a ocho; X-breve sigue vacía, pero por improbable, no por imposible.
E-14 · La severidad publicada depende más del corte que del modelo
Detectado: 30 de julio de 2026 · Estado: confirmado y cuantificado Alcance: la cifra de severidad S+X publicada en cada ciclo
Los umbrales de la tipología ($140 y $180) no tienen justificación documentada. Desplazándolos $10 en cada sentido:
| Cortes | Severidad S+X |
|---|---|
| $130 / $170 | 87,5% |
| $140 / $180 (actuales) | 73,4% |
| $150 / $190 | 58,5% |
29 puntos porcentuales de amplitud. El error de muestreo de una celda con 5.000 mundos es de ±1,39 pp: la convención mueve la cifra veintiuna veces más que el ruido de la simulación.
La causa es que el corte está mal situado. La mediana del pico es $155 y el corte está en $140, de modo que el 29% de los mundos cae a menos de $10 de él.
No invalida la tipología —cualquier taxonomía reclasifica al mover sus cortes— pero obliga a presentar la severidad como cifra condicionada a una convención, y no como propiedad del mundo.
Efecto conjunto de E-1, E-2, E-7 y E-8
Sobre la línea base del 28 de julio (\(B_0\) = $90), misma semilla:
| Antes | Después | Cambio | |
|---|---|---|---|
| Gasolina pico, mediana (ch/L) | 145,3 | 122,4 | −22,9 (−15,8%) |
| Amplitud del intervalo al 90% | 59,3 | 37,0 | −37,6% |
| Proyección a 1 mes | 125 | 109 | −16 |
| Proyección a 6 meses | 106 | 98 | −8 |
Probabilidad de que la bomba supere cada umbral, a dos meses:
| Umbral | Antes | Después |
|---|---|---|
| > 110 | 84% | 52% |
| > 120 | 66% | 25% |
| > 130 | 45% | 9% |
| > 140 | 27% | 2% |
| > 150 | 14% | <1% |
Los cuatro defectos empujaban en la misma dirección. Las previsiones de precio en bomba publicadas desde abril estaban sesgadas al alza, y las probabilidades de rebasar umbral sobreestimadas hasta en 36 puntos porcentuales.
Sigue sin estar afectada la distribución de escenarios: el Brent pico y las nueve celdas de la tipología bidimensional son idénticos en todas las corridas.
E-16 · La columna brent_spot mezclaba instrumentos
Detectado: 13 de septiembre de 2026 (revisión adversarial externa) · Estado: corregido el 14 de septiembre de 2026, en la publicación de v15.39 Alcance: la gráfica histórica del Brent en todas las ediciones; la regresión diaria del nowcast del mayorista; las anclas de Brent del nowcast del IPC publicadas el 10 de agosto y el 10 de septiembre de 2026
simulacion_bayesiana.R declaraba brent_spot como el spot FRED DCOILBRENTEU, pero la columna, escrita a mano ciclo a ciclo, reunía evaluaciones Platts citadas en prensa, estimaciones «papel + prima» y, en algunas fechas, el propio futuro ICE. Al cruzarla por fecha exacta con FRED, de 103 filas con valor solo 6 coinciden con FRED; las demás son referencias físicas operativas. En las nueve fechas comparables de agosto y septiembre la diferencia media absoluta fue de $2,29 y la máxima de $5,67.
Qué afectó. (1) Las gráficas históricas del Brent unían en una sola línea instrumentos distintos. (2) La pendiente diaria mayorista–Brent del nowcast de un día pasa de 0,153 a 0,085 al usar solo pares FRED separados por tres días o menos (N = 67). (3) El nowcast del IPC anclaba julio en $91,39 (media de seis filas de df_hist) cuando el spot FRED de julio promedia $83,76 (n = 23), y agosto en $91,98 frente a $91,08 (n = 20). La simulación principal no se ve afectada: sus coeficientes son fijos y no se reestiman con esta columna.
Corrección. La columna se conserva como brent_ref_registrada, se une FRED por fecha exacta, cada fila se clasifica por instrumento y las gráficas dibujan las tres series por separado. La referencia previa del nowcast diario es el B₀ del ciclo anterior, del mismo instrumento. Las anclas del IPC salen de las series completas (FRED y el repositorio diario de DACO). El efecto conjunto con E-19 sobre el IPC se cuantifica en esa entrada.
E-17 · La gráfica histórica de probabilidades A–E no salía del registro que citaba
Detectado: 13 de septiembre de 2026 · Estado: corregido el 14 de septiembre de 2026 Alcance: la figura de evolución A–E publicada desde el 8 de abril de 2026
El pie decía «serie congelada en historico_probs_mc_v1a14.csv», pero la figura se dibujaba desde una tabla escrita a mano en el guion. Entre el 28 de febrero y el 7 de abril las dos fuentes difieren: para el escenario E, el 1 de abril la figura marcaba 55,9% y el CSV 26,5% (29,4 puntos); el 3 de abril, 87,5% frente a 60,9%. Desde el 8 de abril coinciden salvo redondeo. El CSV además tiene filas duplicadas por revisiones intradía (10, 13, 14 y 16 de abril).
Corrección. La figura se genera del CSV, con la regla de que vale la última fila de cada fecha (la misma de E-5). El pie aclara que del 1 al 27 de marzo el registro guarda un valor inicial constante y que las corridas registradas empiezan el 30 de marzo. Las ediciones históricas conservan la figura tal como se publicó.
E-18 · Acontecimientos futuros activados desde el primer día
Detectado: 13 de septiembre de 2026 · Estado: corregido el 14 de septiembre de 2026 (pase 3B); efecto cuantificado para el ciclo del 13 de septiembre Alcance: las proyecciones de Brent, mayorista y bomba publicadas desde abril de 2026, sobre todo en sus primeras semanas y en las probabilidades de rebasar umbral
El motor trataba como futuros un ataque saudí nuevo, una escalada nueva en Ucrania y en Kuwait, las escaladas de Israel y Qatar y el ajuste por desenlace del cese al fuego, pero los primeros tres y el desenlace sumaban su magnitud completa desde el día 1, y los otros dos arrancaban en días fijos (3 y 7) en todos los mundos donde ocurrían. En la corrida del 13 de septiembre, con B₀ = $114, la mediana del Brent del día 1 era $129.
Descomposición (corridas emparejadas con la misma semilla; media sobre 5.000 mundos antes del ruido): del salto medio de +$15,3 del día 1, el desenlace del cese aporta +$5,4, el ataque saudí nuevo +$5,2, Ucrania +$3,0, Kuwait +$1,7 y la prima marginal de Ormuz +$0,1. Los componentes de estado (el oleoducto y Mandeb descontados en B₀) aportan cero ese día.
Corrección. Cada acontecimiento tiene un tiempo de ocurrencia explícito y se transmite al precio después de ocurrir. La probabilidad acordada se interpreta como ocurrencia dentro del horizonte de 182 días con riesgo constante; el desenlace se revela entre los días 1 y 42. Probabilidades y magnitudes no cambian. Efecto sobre el ciclo del 13 de septiembre:
| Antes | Después | |
|---|---|---|
| Brent, mediana día 1 / día 30 (USD/bbl) | 129,0 / 152,2 | 113,9 / 131,6 |
| Bomba a 14 días / 1 mes / 3 meses (ch/L) | 117,7 / 119,1 / 118,7 | 111,7 / 112,5 / 114,9 |
| P(bomba > 130) a 2 meses | 25,5% | 10,8% |
| S-larga / X-larga | 55,1% / 40,8% | 64,0% / 30,3% |
| Pico de bomba, mediana (ch/L) | 138,3 | 135,3 |
El supuesto temporal importa: si los acontecimientos se concentran en los primeros 30 días, las cifras vuelven casi a las de antes (bomba a 3 meses 118,8; P > 130 a 2 meses 22,7%). No se reprocesaron los ciclos anteriores; la dirección del sesgo en ellos es la misma (al alza al inicio de la proyección). Detalle en analisis/pase_3B_2026-09-14.md.
E-19 · El nowcast del IPC mezclaba mayorista y bomba
Detectado: 14 de septiembre de 2026, al verificar la transmisión entre módulos · Estado: corregido el 14 de septiembre de 2026 Alcance: las proyecciones del IPC publicadas mientras tray_gas fue la trayectoria del mayorista (al menos las del 10 de agosto y el 10 de septiembre de 2026)
nowcast_ipc.R tomaba la trayectoria tray_gas de la simulación, que es el precio mayorista, y la encadenaba con una base y un puente de bomba (106,16 y 105,14 ch/L). El paso de agosto (bomba) a septiembre (mayorista) introducía así una caída espuria de unos 4 ch/L en el canal de transporte. La elasticidad del transporte está calibrada con precios al detal.
Corrección. El nowcast usa tray_bomba. Las bases y puentes salen de las series completas (E-16) y septiembre combina los 13 días realizados con la simulación del resto del mes. Con la misma simulación del combustible, el interanual proyectado para diciembre pasa de 3,7% (código previo) a 3,9% (corregido); septiembre de 3,4% a 3,6%. El efecto combina E-16 y E-19.
E-20 · Horizontes y rótulos que no decían lo que medían
Detectado: 13 de septiembre de 2026 · Estado: corregido el 14 de septiembre de 2026 Alcance: tablas de previsión de bomba publicadas al menos desde el 28 de julio de 2026; rótulos de duración desde v15.36 (30 de julio)
- Horizontes. La tabla usaba los días fijos 9, 26, 57, 87, 118, 149 y 182: «2 semanas» eran nueve días y los meses quedaban cortos. En la corrida del 13 de septiembre, la probabilidad de superar 130 ch/L a dos semanas era 7,5% en el día 9 y 14,9% en el día 14. Ahora los horizontes son 14 días y meses de calendario.
- Umbral de duración. Las leyendas decían «días sobre $140» cuando la clasificación usa $120 desde E-13. Las probabilidades publicadas describían persistencia sobre $120.
- Mayorista y bomba. Varias figuras rotulaban como «gasolina» la trayectoria del mayorista y la comparaban con el récord de bomba de 2022. La «gasolina pico» de los textos era el pico del mayorista.
- Otros. Un pie atribuía B₀ a «Platts observado» cuando era derivado; otro conservaba la versión y fecha de junio; tres figuras ocultaban 165 de los 182 días proyectados.
Nota sobre la asimetría en la transmisión
No es un error, pero se registra junto a lo demás porque contradice una expectativa del proyecto y afecta al argumento previsto para el artículo.
La hipótesis de transmisión asimétrica —que el precio sube más rápido de lo que baja, el «cohete y pluma» de Bacon (1991) y Borenstein, Cameron y Gilbert (1997)— no se confirma. Primero se probó la asimetría contemporánea, sin rechazar la simetría en ninguna de siete especificaciones. Después se estimó un NARDL (Shin, Yu y Greenwood-Nimmo 2014), que mira el efecto acumulado a lo largo de varios meses y tiene más potencia, sobre 145 meses de la serie mayorista.
El NARDL rechaza la simetría en la muestra completa (p = 0,0427), pero con magnitud trivial y con el RESET rechazando la forma funcional (p = 0,0007). Al modelar el cambio estructural se entiende por qué: Bai y Perron seleccionan dos quiebres —marzo de 2020 y junio de 2022—, el supF de Andrews rechaza la constancia de parámetros (p = 0,00099) y Gregory y Hansen confirman cointegración con quiebre al 1%.
La asimetría existe, pero cambia de signo entre regímenes, y por eso se cancelaba al estimarla sobre la muestra entera:
| Régimen | Período | N | β⁺ | β⁻ | p |
|---|---|---|---|---|---|
| 1 | may 2014 – feb 2020 | 70 | 0,4761 | 0,4902 | 0,1552 |
| 2 | mar 2020 – may 2022 | 27 | 0,6426 | 0,1899 | 0,0012 |
| 3 | jun 2022 – mar 2026 | 46 | 0,3123 | 0,4512 | 0,0155 |
Ausente en normalidad; «cohete y pluma» intenso durante la pandemia, con las subidas traspasándose 3,4 veces más que las bajadas; e invertida desde el pico de Ucrania. Reconocer los tres regímenes además arregla la especificación: el R² sube de 0,7684 a 0,8651 y el RESET pasa de 0,0007 a 0,3260.
El detalle completo está en auditoria_fase1a/NARDL.md.
Última revisión: 14 de septiembre de 2026.