La odisea de comercializar electricidad en las SEIEs

Las sistemas extrapeninsulares (antiguos SEIEs, ahora SENP) han sido históricamente un quebradero de cabeza para el legislador. No cabe duda de que los costes de generación eléctrica son diferentes a los de la península, y tampoco nadie duda de la complejidad que supone para un comercializador estipular un precio justo de la energía dependiendo del subsistema en el que se encuentre el cliente.

El 31 de julio de 2015 se aprobó el RD 738/2015, donde se pretendía dar mandato a los estipulado en la Ley 24/2013 del sector eléctrico, que entre otras cosas, buscaba dar señales de precio eficientes al consumidor para adaptar su curva de carga de cada sistema y reflejar el coste de generación de cada subsistema no peninsular. El objetivo era loable, pero la ejecución ha sido a todas luces, nefasta.

Y es que la metodología de cálculo del precio de adquisición de energía para cada subsistema tenía un problema fruto de una complejidad mucho más alejada del sistema que la que cualquier analista se pensaba… La lentitud de la Administración central.

Cómo se marca el precio de la energía para la comercialización

En los SENP no existe el mercado mayorista, es decir, no opera OMIE. En su lugar, es el operador del sistema (REE) quien se encarga de liquidar la energía comercializada íntegramente a cada agente. El mecanismo de fijación de precios no es competitivo, sino que intenta reflejar el coste real de generación en cada subsistema mediante una fórmula que tiene en cuenta por un lado, lo sucedido durante el año móvil en la península, y por otro, los costes de generación variables de cada SENP.

La fórmula exacta es:

Donde:

  • Panual-movil-penin = precio medio final de la demanda peninsular del último año móvil descontados el coste del pago por capacidad, el coste de los desvíos, el de los intercambios internacionales (faltaría más) y los costes de la interrumpibilidad. Es decir, es una variable indexada a la volatilidad del pool y los costes del operador del sistema, todo ello suavizada por el año móvil.

  • Apuntamiento horario Ah(j) = coste variable horario que cobran los productores del SENP. Se calcula como sigue:

Teniendo en cuenta que los SSAAh (servicios auxiliares) son 0 en los SENP, sólo queda el precio resultante de dividir los costes de generación vaiables de la hora j (CGvAh) entre la energía generada (Egh).

  • Panual-móvil-j = coste variable medio anual que han cobrado los productores en el sistema j en el último año móvil. Se calcula como sigue:

Es decir, que no deja de ser la media ponderada de los apuntamientos mensuales. Por tanto, volviendo a la fórmula original:

Se puede reescribir como:

Donde en resumidas cuentas, para calcular el precio horario de la energía de cada SENP, se toma el precio del pool + costes del operador del sistema, del año móvil todo ello, y se multiplica por el apuntamiento basado en los costes de generación de cada SENP.

Parecía complejo, pero en realidad el trabajazo lo tiene REE para calcular dichos costes variables de generación hora a hora.

Costes de generación variables

Si esta es la variable que teóricamente añade realismo al coste real de la energía, vale la pena ver qué parámetros influyen en su cálculo:

  • Retribución por costes variables por combustible.
    • Costes variables de funcionamiento.
    • Costes variables de arranque.
    • Costes variables de banda de regulación.
  • Retribución por costes variables no asociados al combustible.
    • Costes por operación y mantenimiento.
    • Costes por operación y mantenimiento debidos al arranque.
  • Costes por derechos de emisión.

Según la propia REE en uno de sus seminarios de noviembre de 2016, los costes variables asociados al combustible representan un 73% del total. ¿Por qué hago mención a este dato?

Porque el precio de la termia de combustible (recordemos que en SENP, tiene un gran peso la generación por gas natural y diésel), lo fija el Ministerio competente mediante Resolución. Generalmente, de forma provisional por semestres. ¿Qué ocurre si al Ministerio no le da tiempo a tener dicha Resolución a tiempo de iniciar el periodo de cálculo del precio de la energía? Fácil, que REE tiene que calcularlo con los anteriores vigentes. ¿Y qué consecuencias tiene ello? Que el precio real se sabe con casi 2 años de retraso.

Las liquidaciones de REE

Todo analista que comienza a trabajar en una comercializadora tiene que enfrentarse al concepto de liquidación de REE.

Las liquidaciones no dejan de ser refacturaciones que el propio sistema realiza a cada comercializador, como si fueran versiones de un mismo periodo temporal de consumo, pero con mejores estimaciones tanto de la medida como de los costes:

Todos los comercializadores quieren ofertar a sus clientes en los SENP unos precios atractivos y ajustados a los costes que REE les liquidará, y para ello existen dos opciones: ofertar a precio fijo y liquidar el coste de la energía según marque el C2 (ver cuadro de arriba), o bien realizar un forecast lo más ajustado posible de dichos costes a 1 año vista para ofertar un precio fijo.

La volatilidad del precio de los SENP

Y aquí llegamos a la perversión de la norma: como el Ministerio competente en materia energética publica con retraso los precios de la termia de combustible, se tienen que recalcular los costes de generación variables, y con ello el precio de la energía en cada SENP. La única posibilidad de actualizar dichos precios es mediante las liquidaciones de REE, lo que quiere decir que con cada liquidación de REE, el precio de la energía que el comercializador ha de pagar varía.

Magnitud de la variación

Para calcular el diferencial del precio de adquisición basta con descargar desde ESIOS todos los archivos liquicomun publicados desde septiembre de 2015, que es cuando comenzó a aplicar el RD 738/2015. A continuación, basta con buscar dentro de dichos archivos los Sphdem, que son los precios horarios de adquisición para cada subsistema:

library(dplyr)
library(ggplot2)
library(readr)

# Lectura del archivo
sphdem <- read_csv2("/Users/pherreraariza/Documents/energychisquared/post_inputs/5_post/variacionPreciosSEIES_2018-09-09.csv", col_names = TRUE, locale = locale(encoding = "latin1"))

head(sphdem)
## # A tibble: 6 x 16
##   fecha        año   mes UPR      C2    C3    C4    C5    C6    C7   dif
##   <date>     <int> <int> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2015-09-01  2015     9 CE     52.1  50.7  55.8  52.8  44.9    0. -7.14
## 2 2015-09-01  2015     9 FL     50.6  51.0  56.3  51.8  45.5    0. -5.07
## 3 2015-09-01  2015     9 GC     54.2  54.4  58.4  52.4  45.2    0. -8.91
## 4 2015-09-01  2015     9 HI     51.3  51.5  54.0  50.6  45.6    0. -5.72
## 5 2015-09-01  2015     9 IF     49.9  47.9  51.8  51.6  43.3    0. -6.62
## 6 2015-09-01  2015     9 LG     55.1  55.6  58.1  54.4  48.4    0. -6.69
## # ... with 5 more variables: varC2C3 <dbl>, varC2C4 <dbl>, varC2C5 <dbl>,
## #   varC2C6 <dbl>, varC2C7 <dbl>

La columna dif ya tiene el cálculo entre el precio horario del C2 y la última disponible, por lo que puedo limpiar la tabla para facilitar la graficación:

# Limpieza de datos
sphdem_clean <- sphdem %>% select(fecha, UPR, dif)

# Gráfico para Canarias
sphdem_clean %>% filter(UPR %in% c("TF", "PA", "LG", "GC", "FL")) %>% 
                          ggplot(aes(x = fecha, y = dif)) + 
                                  geom_bar(aes(fill = dif < 0), stat = "identity") + 
                                  scale_fill_manual(guide = FALSE, breaks = c(TRUE, FALSE), values=c("red", "blue")) +
                                  facet_grid(. ~ UPR) + 
                                  ggtitle("Variación del precio de adquisición en Canarias") +
                                  xlab("Subsistema") + ylab("€/MWh")

# Gráfico para Baleares
sphdem_clean %>% filter(UPR %in% c("MM", "IF")) %>% 
                          ggplot(aes(x = fecha, y = dif)) + 
                                  geom_bar(aes(fill = dif < 0), stat = "identity") + 
                                  scale_fill_manual(guide = FALSE, breaks = c(TRUE, FALSE), values=c("red", "blue")) +
                                  facet_grid(. ~ UPR) + 
                                  ggtitle("Variación del precio de adquisición en Baleares") +
                                  xlab("Subsistema") + ylab("€/MWh")

# Gráfico para Ceuta y Melilla
sphdem_clean %>% filter(UPR %in% c("ML", "CE")) %>% 
                          ggplot(aes(x = fecha, y = dif)) + 
                                  geom_bar(aes(fill = dif < 0), stat = "identity") + 
                                  scale_fill_manual(guide = FALSE, breaks = c(TRUE, FALSE), values=c("red", "blue")) +
                                  facet_grid(. ~ UPR) + 
                                  ggtitle("Variación del precio de adquisición en Ceuta y Melilla") +
                                  xlab("Subsistema") + ylab("€/MWh")

Los resultados son demoledores:

  • Existen diferenciales positivos de hasta 16.97 €/MWh, cifra que agota cualquier prima y/o margen comercial impuesto al precio trasladado a cliente final.
  • Los diferenciales negativos alcanzan un máximo de -18.43 €/MWh, y parecen ser menos frecuentes que los diferenciales positivos (excepto para Baleares, donde parece que se van compensando en cierto modo). En cualquier caso, supondrían unos windfall profits a la comercializadora.

Conclusiones

  1. La volatilidad histórica entre el C2 y la liquidación última disponible para mes a fecha de hoy indica la imposibilidad de tener una certidumbre de una señal de precio. Primer punto en el que el RD 738/2015 falla estrepitosamente.
  2. Si se ofrece un precio indexado a cliente, impone refacturaciones al comercializador si éste quiere repercutir el coste/ingreso de la volatilidad del precio.
  3. Si se ofrece un precio fijo, pese a que el forecast calculado para cada SENP sea bueno, los cambios retroactivos dan al traste con los cálculos iniciales, precisamente al estar vinculado el valor presente al año móvil.
  4. Como no es posible cubrirse en mercado organizado mediante un swap en los SENP, el riesgo asociado a la retroactividad tampoco lo compensaría ninguna cámara.
  5. A fecha 31 de mayo de 2018 se publicaron liquidaciones extraordonarias (C6) correspondientes a todos los meses de 2016. Es más, ¡se publicó incluso un C7! ¿Y si el cliente ya no está con el comercializador al haber pasado 2 años?
  6. La compensación de dichos sobrecostes vs windall profits depende exclusivamente de cómo se distribuya la cartera del comercializador, concretamente de la fecha de alta y de la de baja, lo que puede provocar que con unos clientes sólo se pierda margen, y con otros, se gane más de lo esperado, haciendo difícil de calcular el flujo de caja.

No todo son malas noticias, existe una propuesta de modificación

Cierto es que tal y como está funcionando la normativa actual el daño a la competencia y al consumidor al no poder beneficiarse de los mejores precios posibles es un problema. También lo es que se sigan calculando las pérdidas horarias con coeficientes peninsulares, en lugar de con los suyos propios de cada SENP. O también es cuestionable el recargo de la interrumpibilidad en las liquidaciones que carga REE en estos subsistemas. Pero no todo son malas noticias.

La CNMC publicó en octubre de 2017 una propuesta de modificación del RD 738/2015 establece un nuevo modelo, esta vez eliminando lo que haya acontecido durante el año móvil en península, y por tanto fijándose exclusivamente en el precio final medio diario.

Asimismo desaparece la vinculación a los costes de generación variables por subsistema, para en su lugar apalancar el precio horario directamente a la curva de carga de cada SENP. En definitiva, se elimina la volatilidad retroactiva y la dependencia de lo acontecido 12 meses atrás en península.

 
comments powered by Disqus