scieee AI-readable full text Open interactive document viewer

Desarrollo de aplicación en Python para simulación y análisis del mercado eléctrico

Saborido del Castillo Luna, David

Abstract

En este proyecto se crea una herramienta de escritorio mediante el lenguaje de programación Python y la herramienta GUI multiplataforma Qt, para obtener la casación de ofertas de venta y de adquisición de energía eléctrica. Esta herramienta sirve para simular, de manera simplificada, el proceso de casación que tiene lugar en el mercado Mibel (España y Portugal). Con el fin de averiguar el comportamiento del sector eléctrico, se representa de forma gráfica las ofertas de venta y adquisición según la curva agregada de oferta y demanda y se utiliza la herramienta creada para prever los precios de la electricidad modificando la energía ofertada. Esta previsión se hace en base al escenario que el usuario quiera realizar. Un escenario importante es en el que las energías renovables asumen el principal peso de la cobertura de energía eléctrica, eliminando las ofertas de las centrales térmicas convencionales o eliminando las ofertas de las centrales nucleares.

Full text

i Equation Chapter 1 Section 1 Trabajo Fin de grado Grado en Ingeniería en Tecnologías Industriales Desarrollo de aplicación en Python para simulación y análisis del mercado eléctrico Autor: David Saborido del Castillo-Luna Tutores: Ángel Luis Trigo García, Juan Manuel Roldán Fernández Dpto. Ingeniería Eléctrica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2018 iii Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías Industriales Desarrollo de aplicación en Python para simulación y análisis del mercado eléctrico Autor: David Saborido del Castillo Luna Tutores: Ángel Luis Trigo García Profesor Titular Juan Manuel Roldán Fernández Profesor Sustituto Interino Dpto. de Ingeniería Eléctrica Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2018 v Trabajo Fin de Grado: Desarrollo de aplicación en Python para simulación y análisis del mercado eléctrico Autor: David Saborido del Castillo Luna Tutores: Ángel Luis Trigo García, Juan Manuel Roldán Fernández El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2018 El Secretario del Tribunal vii A mi familia A mis maestros ix Índice Agradecimientos x Resumen xii Abstract xiv Índice xvi Índice de Figuras xix Objetivos del Trabajo Fin de Grado 1 Mercado Eléctrico Español 3 2.1 Mercado diario 4 2.2 Agentes de energía en el mercado diario 4 2.3 Ofertas del mercado diario 6 2.3.1 Ofertas simples 6 2.3.2 Ofertas Complejas 6 2.4 Presentación de ofertas de venta o adquisición 7 2.5 Procedimiento de casación de ofertas 8 2.5.1 Determinación de la curva de oferta 9 2.5.2 Determinación de la curva de demanda 9 2.5.3 Procedimiento de casación 10 2.6 Liquidación 11 2.6.1 Derechos de cobros 12 2.6.2 Obligaciones de pagos 12 Que es Python 13 3.1 Lenguaje interpretado 13 3.2 Tipado dinámico 13 3.3 Fuertemente tipado 13 3.4 Multiplataforma 14 3.5 Orientada a objetos 14 3.6 Características importantes de Python 14 ¿Por Qué Python? 15 Instalación de Python 17 El entorno de desarrollo 19 6.1 Como Instalar PyCharm en Windows 19 Instalación de las librerías 25 7.1 NumPy 25 7.2 Maplotlib 26 7.3 SciPy 26 7.4 PyQt5 27 7.5 Pandas 28 Manual de Usuario del Programa EMELEC 31 8.1 Interfaz de Usuario: Pantalla principal 31 xvii 8.1.1 Barra de menú 33 8.1.2 Toolbar 34 8.1.3 Ventana principal 34 8.1.4 Statusbar 35 8.2 Archivos 36 8.2.1 Unificador de archivos 37 8.2.2 Abrir 41 8.2.3 Salir 44 8.3 Datos Históricos 44 8.3.1 Precio horario del mercado diario 45 8.3.2 Curva agregada de oferta y demanda 52 8.4 Herramientas 55 8.4.1 Estudio por Tecnología 55 8.4.2 Simulador de Mercado Mibel simple 72 8.5 Ventana 79 8.5.1 Datos de UOF´s 80 8.5.2 Maximizar 82 8.5.3 Minimizar 82 8.6 Ayuda 83 8.6.1 Acerca de… 84 Realización de pruebas 85 9.1 Ejemplo de unificador de archivos 85 9.2 Ejemplo de cargar un DataFrame 85 9.3 Ejemplo de funcionamiento de precios de mercados 86 9.4 Ejemplo de obtención de las curvas agregadas de oferta y demanda 88 9.5 Ejemplo de obtención de las gráficas de estudio por tecnología 89 9.6 Ejemplo de obtención de las gráficas del simulador de mercado simple 90 Conclusiones 93 10.1 Conclusiones 93 Propuestas de Mejoras 95 11.1 Descargador de archivos automático 95 11.2 Algoritmo Euphemia 95 11.3 Mejoras en el simulador 95 11.4 Machine learning 95 11.5 Informes 95 11.6 Añadir combo de UOF´s 96 Referencias 97 xix ÍNDICE DE FIGURAS Figura 1 Ordenación de ofertas de venta y de adquisición .................................................................................... 10 Figura 2: Welfare ....................................................................................................................................................... 10 Figura 3: Instalación de la herramienta PyCharm ................................................................................................ 20 Figura 4: Instalación de la herramienta PyCharm 2 ............................................................................................. 20 Figura 5: Configuración de PyCharm paso 4 ......................................................................................................... 21 Figura 6: Configuración de PyCharm paso 5 ......................................................................................................... 21 Figura 7: Configuración de PyCharm paso 6 ......................................................................................................... 22 Figura 8: Configuración de PyCharm paso 7 ......................................................................................................... 23 Figura 9: Pantalla de Qt Designer .......................................................................................................................... 28 Figura 10: Pantalla principal EMELEC [22] ......................................................................................................... 32 Figura 11: Opciones de maximización, minimización y cerrar ............................................................................. 32 Figura 12: Funcionalidades de la interfaz .............................................................................................................. 33 Figura 13: Posición del toolbar en la interfaz ........................................................................................................ 34 Figura 14: Posición de la pantalla principal en la interfaz ................................................................................... 35 Figura 15: Posición de la statusbar en la interfaz .................................................................................................. 36 Figura 16: Pestaña de Archivos ............................................................................................................................... 37 Figura 17: Pestaña unificador de archivos [23] [24] ............................................................................................. 38 Figura 18: Ventana de nuevo dataset sub-ventana 1 ............................................................................................. 39 Figura 19: Ventana de nuevo dataset sub-ventana 2 ............................................................................................. 40 Figura 20: Ventana de nuevo dataset sub-ventana 3 ............................................................................................. 40 Figura 21: Ventana de nuevo dataset sub-ventana 3 datos del dataset ................................................................ 41 Figura 22: Añadir nombre del dataset .................................................................................................................... 41 Figura 23: Pestaña Abrir.......................................................................................................................................... 42 Figura 24: Ventana de carga dataframe sub-ventana 1......................................................................................... 42 Figura 25: Ventana de carga dataframe sub-ventana 2......................................................................................... 43 Figura 26: Ventana de selección de dataset ............................................................................................................ 44 Figura 27: Pestaña Salir........................................................................................................................................... 44 Figura 28: Pestaña datos históricos ........................................................................................................................ 45 Figura 29: Pestaña precio horario del mercado diario [25] ................................................................................. 46 Figura 30: Pantalla de precio horario del mercado diario ................................................................................... 46 Figura 31: Pantalla de cálculos de precio de horario de mercado diario ........................................................... 47 Figura 32: Pantalla de grafica de precio de horario de mercado diario [26] ..................................................... 48 Figura 33: Gráfica precio marginal de España – Portugal del mercado diario ................................................. 49 Figura 34: Gráfica precio marginal de compra y venta España ........................................................................... 50 Figura 35: Gráfica desviación estándar del precio de España del mercado diario ............................................ 50 Figura 36: Gráfica media del precio de España del mercado diario ................................................................... 51 Figura 37: Gráfica suma de energía ofertada España ........................................................................................... 52 Figura 38: Pestaña curva agregada de oferta y demanda ..................................................................................... 52 Figura 39: Pantalla de la curva agregada de oferta y demanda ........................................................................... 53 Figura 40: Gráfica de curva agregada de oferta y demanda con market coupling ............................................. 54 Figura 41: Gráfica de curva agregada de oferta y demanda con market splitting .............................................. 55 Figura 42: Pestaña herramientas ............................................................................................................................ 55 Figura 43: Pestaña estudio por tecnología ............................................................................................................. 56 Figura 44: Pantalla de estudio por tecnología ....................................................................................................... 57 Figura 45: Pantalla de estudio por tecnología ofertada ........................................................................................ 58 Figura 46: Pantalla de estudio por tecnología casada .......................................................................................... 58 Figura 47: Gráfica clúster bombeo ofertada .......................................................................................................... 59 Figura 48: Gráfica clúster bombeo casada ............................................................................................................ 60 Figura 49: Gráfica clúster comercialización ofertada .......................................................................................... 61 Figura 50: Gráfica clúster comercialización casada ............................................................................................. 61 Figura 51: Gráfica clúster exportación ofertada ................................................................................................... 62 Figura 52: Gráfica clúster carbón importado ofertada ......................................................................................... 62 Figura 53: Gráfica clúster carbón importado casada ........................................................................................... 63 Figura 54: Gráfica clúster carbón nacional ofertada ............................................................................................ 64 Figura 55: Gráfica clúster carbón nacional casada .............................................................................................. 64 Figura 56: Gráfica clúster ciclo combinado ofertada ........................................................................................... 65 Figura 57: Gráfica clúster ciclo combinado casada .............................................................................................. 66 Figura 58: Gráfica clúster eólica ofertada ............................................................................................................. 66 Figura 59: Gráfica clúster eólica casada ............................................................................................................... 67 Figura 60: Gráfica clúster fotovoltaica ofertada ................................................................................................... 67 Figura 61: Gráfica clúster fotovoltaica casada ...................................................................................................... 68 Figura 62: Gráfica clúster hidráulica ofertada ...................................................................................................... 68 Figura 63: Gráfica clúster hidráulica ..................................................................................................................... 69 Figura 64: Gráfica clúster nuclear ofertada .......................................................................................................... 69 Figura 65: Gráfica clúster nuclear casada ............................................................................................................. 70 Figura 66: Gráfica clúster RECORE ofertada ....................................................................................................... 70 Figura 67: Gráfica clúster RECORE casada ......................................................................................................... 71 Figura 68: Gráfica clúster turbinación ofertada .................................................................................................... 71 Figura 69: Gráfica clúster turbinación casada ...................................................................................................... 72 Figura 70: Pestaña simulador de mercado simple ................................................................................................. 73 Figura 71: Pantalla de simulador de mercado simple ........................................................................................... 73 Figura 72: Ejemplo de visualización de la pantalla de simulador de mercado simple ....................................... 74 Figura 73: Gráfica simulador de mercado simple bombeo ................................................................................... 75 Figura 74: Gráfica simulador de mercado simple carbón importado .................................................................. 75 Figura 75: Gráfica simulador de mercado simple carbón nacional ..................................................................... 76 Figura 76: Gráfica simulador de mercado simple ciclo combinado .................................................................... 76 Figura 77: Gráfica simulador de mercado simple comercialización ................................................................... 77 Figura 78: Gráfica simulador de mercado simple genérica .................................................................................... 77 Figura 79: Gráfica simulador de mercado simple hidráulica ............................................................................... 78 Figura 80: Gráfica simulador de mercado simple nuclear ................................................................................... 78 Figura 81: Gráfica simulador de mercado simple RECORE ................................................................................ 79 Figura 82: Pestaña de ventana ................................................................................................................................ 80 Figura 83: Pestaña datos de UOF´s ....................................................................................................................... 81 Figura 84: Pantalla de datos de UOF´s .................................................................................................................. 82 Figura 85: Pestaña maximizar ................................................................................................................................. 82 Figura 86: Pestaña de minimizar ............................................................................................................................ 83 Figura 87: Pestaña Ayuda........................................................................................................................................ 83 Figura 88: Pestaña Acerca de… .............................................................................................................................. 84 Figura 89: Pantalla de Acerca de… ........................................................................................................................ 84 Figura 90: Ejemplo de unificador de archivo ......................................................................................................... 85 Figura 91: Ejemplo de carga DataFrame .............................................................................................................. 86 Figura 92: Ejemplo de visualización de cálculos de mercado diario ................................................................... 87 Figura 93: Ejemplo de visualización de gráficas de mercado diario ................................................................... 88 Figura 94: Ejemplo de ejecución de curva agregada de oferta y demanda ......................................................... 89 xxi Figura 95: Ejemplo de ejecución de gráfica estudio por tecnología..................................................................... 90 Figura 96: Ejemplo de ejecución de gráfica de simulador de mercado ............................................................... 91 1 OBJETIVOS DEL TRABAJO FIN DE GRADO l objeto del presente proyecto es la creación de una herramienta de escritorio llamada EMELEC (Estudio de Mercado Eléctrico), con el fin de analizar los informes de las curvas agregada de oferta y demanda facilitados por el operador de mercado (OMIE). Esta herramienta será capaz de realizar las mismas funciones que OMIE y adicionalmente tendrá un analizador de ofertas por tecnología y un simulador de mercado simple. La solución adoptada para la creación de la herramienta de escritorio EMELEC, será mediante el lenguaje de programación Python junto con la herramienta GUI multiplataforma Qt. Esta herramienta le proporciona a cualquier empresa que participe en el mercado eléctrico, la posibilidad de analizar los precios de la energía, según la participación de la tecnología en el mercado diario o la capacidad de hacer simulaciones modificando la energía para obtener los precios para sus estrategias en el mercado. Para llevar a cabo el análisis de la información aportado por OMIE, se descargará de forma manual los datos de las curvas agregadas de oferta y demanda del mercado diario (curvas_pbc_uof) y será almacenada dentro del ordenador a modo de base de datos. Este proyecto no sólo servirá como proyecto de diseño, sino que además tiene la intención de ser un proyecto aclarativo y explicativo de la herramienta EMELEC y del mercado diario de electricidad y por ello se introducirán diferentes figuras que serán capturas de pantalla de la herramienta EMELEC. E Objetivos del Trabajo Fin de Grado 2 3 MERCADO ELÉCTRICO ESPAÑOL asta el año 1997, el sistema eléctrico español era un sistema regulado en el que el Gobierno fijaba el precio de la energía para ser capaces de remunerar la totalidad de los costes a las compañías eléctricas. Sin embargo, en ese año se promulgó la Ley 54/1997 referente al sector eléctrico, en que se liberalizaba dicho sector, naciendo, a raíz de eso, el mercado eléctrico español. La Ley del Sector Eléctrico establece que el Operador del Mercado y el Operador del Sistema asumen las funciones necesarias para realizar la gestión económica y la garantía de la gestión técnica del sistema eléctrico. Ambos deben funcionar con un elevado grado de coordinación para hacer frente a situaciones excepcionales que puedan producirse en las redes de transporte o en el sistema de generación de electricidad. En España, el Operador del Sistema es Red Eléctrica de España (REE). Su obligación es asegurar el correcto funcionamiento del sistema eléctrico y garantizar en todo momento la continuidad y seguridad del suministro. En el mercado ibérico de la energía eléctrica (MIBEL) el Operador del Mercado gestiona la casación entre las ofertas de venta de energía por parte de los generadores y la demanda que hay programada. Su función es asignar la cobertura de esa demanda a las unidades más convenientes entre las que han ofertado energía. El Operador del Mercado (OMI) pasa a convertirse en una entidad compuesta por dos sociedades: OMIP y OMIE. El OMIP opera el mercado a plazo y el OMIE, el mercado spot. El Mercado de Producción de energía eléctrica en la Península Ibérica se estructura en Mercado diario, Mercado intradiario, Mercados a plazo y Mercado de servicios de ajuste. También se integran en él los contratos bilaterales.  Mercado diario: Lleva a cabo las transacciones de energía eléctrica para el día siguiente mediante la presentación de ofertas de venta y adquisición de energía eléctrica por parte de los agentes de mercado. Se trata de un mercado marginalista, el punto de equilibrio entre la oferta y la demanda establece el precio y el volumen de energía contratada en cada hora.  Contratos Bilaterales: son acuerdos entre generadores y comercializadores para hacer una compraventa directa, sin pasar por mercado.  Mercado Intradiarios: Los mercados intradiarios se estructura actualmente en el mercado intradiario de subastas y un mercado intradiario continuo transfronterizo. - El mercado intradiario de subastas tiene por objeto atender, mediante la presentación de ofertas de venta y adquisición de energía eléctrica por parte de los agentes del mercado, los ajustes sobre el Programa Diario Viable Definitivo cuya base de programación es el resultado del mercado diario. - Los mercados intradiarios continuos (XBID) ofrece la posibilidad a que los agentes del mercado puedan beneficiarse de la liquidez del mercado a nivel regional de España y Portugal y de la liquidez disponible en los mercados de otras áreas de Europa, siempre que haya capacidad de transporte transfronteriza disponible entre las zonas y el ajuste puede realizarse hasta una hora antes del momento de entrega de la energía. [1] H Mercado Eléctrico Español 10 Figura 1 Ordenación de ofertas de venta y de adquisición 2.5.3 Procedimiento de casación El algoritmo de casación Euphemia busca la optimización del denominado «welfare» o bienestar social, que corresponde a la suma para el conjunto de todos los periodos horarios del horizonte de programación del beneficio de las ofertas de compra, más el beneficio de las ofertas de venta, más la renta de congestión. Se entiende por beneficio de las ofertas de compra la diferencia entre el precio de la oferta de compra casada y el precio marginal recibido, y se entiende por beneficio de las ofertas de venta la diferencia entre el precio marginal recibido y el precio de oferta de venta casado. Figura 2: Welfare 11 El algoritmo Euphemia considera curvas agregadas en escalón, que corresponden con las curvas para las que el precio de inicio de aceptación de un tramo de energía y el precio de aceptación completa de dicho tramo de energía es coincidente, y con curvas agregadas interpoladas, que son aquellas que corresponden con curvas para las que el precio de inicio de aceptación de un tramo de energía y el precio de aceptación completa de dicho tramo de energía difieren al menos en el salto mínimo entre precios de oferta. Para el tratamiento de ambos tipos de curvas el algoritmo Euphemia realiza el proceso de casación con una precisión en los valores de precios y en los valores de energía, superior al límite de decimales establecido para la presentación de ofertas. Una vez realizado el proceso de casación se realiza para cada mercado el redondeo de los valores de energías y precios, a la precisión establecida en cada mercado. La precisión establecida para el mercado ibérico es de dos decimales para los precios, establecidos en euros por MWh, y de un decimal para las energías, establecidas en MWh. El algoritmo Euphemia considera en cada mercado las condiciones de bloque o condiciones complejas específicas de dicho mercado, siendo las condiciones para las ofertas del mercado ibérico las establecidas en estas reglas. El resultado del algoritmo Euphemia está limitado a las condiciones de intercambio establecidas en cada mercado entre las zonas de oferta. En este sentido el flujo neto entre las zonas de oferta internas al mercado ibérico (flujo entre España y Portugal) y las fronteras del sistema ibérico (flujo entre España y Francia, y flujo entre España y Marruecos), estarán limitadas a la capacidad disponible para el mercado comunicada por los operadores del sistema responsables de dicha comunicación. El algoritmo Euphemia trata todas las ofertas simples como una única oferta, suma del conjunto de todas las ofertas simples de la zona de oferta. Una vez finalizado el proceso de casación, el operador del mercado procederá a la asignación de los tramos casados y no casados de las ofertas simples en cada zona de oferta. Una vez realizado el proceso de casación de Euphemia, quedarán asignados los valores de los tramos de energía casados y no casados de todas las ofertas que han declarado alguna de las condiciones complejas, excluida la condición de indivisibilidad, así como los valores de los tramos de energía casados y no casados por el conjunto de ofertas que no han declarado ninguna condición compleja o han declarado solamente la condición de indivisibilidad. [5] 2.6 Liquidación De acuerdo con las normas generales de confidencialidad establecidas en estas reglas, el operador del mercado pondrá a disposición de los agentes del mercado la información sobre los derechos de cobro y las obligaciones de pago, derivadas del mercado diario, para el horizonte diario de programación, correspondiente a cada sesión de contratación. Estos cálculos serán provisionales mientras no se hubieren incorporado los resultados de la medición que el operador del sistema comunique al operador del mercado y se calcularán sin perjuicio de los demás componentes del precio final de la energía. El operador del mercado determinará la retribución que corresponda percibir a los titulares de las unidades de producción que incrementen su producción para solventar las restricciones técnicas. El operador del mercado calculará, a partir de las ofertas válidas recibidas en el mercado diario, el precio al que se retribuirán las energías correspondientes a las unidades de producción que hayan solventado las restricciones técnicas. Mercado Eléctrico Español 12 2.6.1 Derechos de cobros El vendedor cuyas ofertas económicas de venta hayan resultado casadas en la sesión de contratación del mercado diario, tendrá un derecho de cobro que se calculará como el producto de la energía eléctrica cuya producción se asigne en cada período horario de programación a la unidad de producción de la que sea titular, por el precio marginal fijado para el mismo. 2.6.2 Obligaciones de pagos El comprador cuyas ofertas económicas de compra hayan resultado casadas en la sesión de contratación del mercado diario tendrá una obligación de pago que se calculará como el producto de la energía eléctrica cuya adquisición se asigne en cada periodo horario de programación a la unidad de adquisición de la que sea titular, por el precio marginal fijado para el mismo. 13 QUE ES PYTHON ython es un lenguaje de programación creado por Guido van Rossum a principios de los años 90 cuyo nombre está inspirado en el grupo de cómicos ingleses “Monty Python”. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece un código legible. Es administrado por la Python Software Foundation. Posee una licencia de código abierto, denominada Python Software Foundation License [9], que es compatible con la Licencia pública general de GNU a partir de la versión 2.1.1, e incompatible en ciertas versiones anteriores. Se trata de un lenguaje interpretado o de script, con tipado dinámico, fuertemente tipado, multiplataforma y orientado a objetos. 3.1 Lenguaje interpretado Un lenguaje interpretado o de script es aquel que se ejecuta utilizando un programa intermedio llamado intérprete, en lugar de compilar el código a lenguaje máquina que pueda comprender y ejecutar directamente una computadora (lenguajes compilados). La ventaja de los lenguajes compilados es que su ejecución es más rápida. Sin embargo, los lenguajes interpretados son más flexibles y más portables. Python tiene, no obstante, muchas de las características de los lenguajes compilados, por lo que se podría decir que es semi interpretado. En Python, como en Java y muchos otros lenguajes, el código fuente se traduce a un pseudo código máquina intermedio llamado bytecode la primera vez que se ejecuta, generando archivos. pyc o .pyo (bytecode optimizado), que son los que se ejecutarán en sucesivas ocasiones. 3.2 Tipado dinámico La característica de tipado dinámico se refiere a que no es necesario declarar el tipo de dato que va a contener una determinada variable, sino que su tipo se determinará en tiempo de ejecución según el tipo del valor al que se asigne, y el tipo de esta variable puede cambiar si se le asigna un valor de otro tipo. Python usa tipado dinámico y conteo de referencias para la administración de memoria. 3.3 Fuertemente tipado No se permite tratar a una variable como si fuera de un tipo distinto al que tiene, es necesario convertir de forma explícita dicha variable al nuevo tipo previamente. Por ejemplo, si tenemos una variable que contiene un texto (variable de tipo cadena o string) no podremos tratarla como un número (sumar la cadena “9” y el número 8). En otros lenguajes el tipo de la variable cambiaría para adaptarse al comportamiento esperado, aunque esto es más propenso a errores. P Que es Python 14 3.4 Multiplataforma El intérprete de Python está disponible en multitud de plataformas (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.) por lo que si no utilizamos librerías específicas de cada plataforma nuestro programa podrá correr en todos estos sistemas sin grandes cambios. 3.5 Orientada a objetos La orientación a objetos es un paradigma de programación en el que los conceptos del mundo real relevantes para nuestro problema se trasladan a clases y objetos en nuestro programa. La ejecución del programa consiste en una serie de interacciones entre los objetos. 3.6 Características importantes de Python Una característica importante de Python es la resolución dinámica de nombres; es decir, lo que enlaza un método y un nombre de variable durante la ejecución del programa (también llamado enlace dinámico de métodos). Otro objetivo del diseño del lenguaje es la facilidad de extensión. Se pueden escribir nuevos módulos fácilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una interfaz programable. 15 ¿POR QUÉ PYTHON? ython es un lenguaje que todo el mundo debería conocer. Su sintaxis simple, clara y sencilla, el tipado dinámico, el gestor de memoria, la gran cantidad de librerías disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una aplicación en Python sea sencillo, muy rápido y, lo que es más importante, divertido. La sintaxis de Python es tan sencilla y cercana al lenguaje natural que los programas elaborados en Python parecen pseudocódigo. Por este motivo se trata además de uno de los mejores lenguajes para comenzar a programar. Python no es adecuado sin embargo para la programación de bajo nivel o para aplicaciones en las que el rendimiento sea crítico. Algunos casos de éxito en el uso de Python son Google, Yahoo, la NASA, Industrias Light & Magic, y todas las distribuciones Linux, en las que Python cada vez representa un tanto por ciento mayor de los programas disponibles. [9] En este trabajo fin de grado, utilizo el lenguaje de programación Python junto con la herramienta GUI multiplataforma Qt para crear una herramienta de escritorio, que se usa para manipular la información que facilita el operador de mercado. Para manejar esta información, es necesaria la utilización de un lenguaje de programación estandarizado, que se utiliza para administrar bases de datos relacionales y realizar varias operaciones en los datos, como es el SQL o utilizar una librería de software escrita como extensión de Numpy, para la manipulación y análisis de los datos, como es Pandas. Una razón simple por la que he decidido utilizar la librería de datos de Pandas, en lugar de SQL, es que éste, por definición, significa usar una base de datos. En estos casos, la carga, almacenamiento, manipulación y extracción de una base de datos no es viable, puesto que el tiempo de almacenar la información de los ficheros de las curvas agregadas de oferta y demanda del mercado diario, en una base de datos SQL es superior que la utilización de Pandas, porque con este último, solo se tiene que leer el fichero en cualquier extensión (.xls, .csv, .txt…) y una vez leído el fichero, ya se puede manipular un gran volumen de datos, en un tiempo muy reducido. Asimismo, en mi casos para este trabajo simplemente se requiere bits de datos. Otra razón por la que he decidido utilizar Pandas es por la principal ventaja que tienen esto sobre SQL, y es que forma parte del universo de Python, lo que significa que de una sola vez se puede cargar, limpiar, manipular y visualizar los datos. Otra ventaja interesante es que para análisis complejos pandas es mucho mejor. Además, como este trabajo consiste en analizar las curvas agregadas de oferta y demanda del mercado diario proporcionada por el operador de mercado, pandas es muchísimo más ágil que el SQL, lo que te permite crear fácilmente muchos tipos de gráficos, estadísticas de cómputo, etc., como se puede visualizar más adelante. P ¿Por Qué Python? 16 17 INSTALACIÓN DE PYTHON rimeros pasos para la instalación de Python: 1. Ir al área de descargas para Windows del sitio oficial y descargar el instalador ejecutable Python 3.6 de 32 o 64 bit (https://www.python.org/downloads/). 2. Iniciar la instalación ejecutando el archivo descargado Python-3.6.4.exe o Python-3.6.4-amd64.exe con doble clic. Si es necesario, confirmar la ejecución en la ventana de advertencia de seguridad de Abrir archivo. 3. Una vez iniciado el instalador, en la ventana Install Python 3.6.4 (64 bit) activar las casillas de las opciones: Install launcher for all users (recommended) y Add Python 3.6 to PATH. 4. Después, continuar seleccionando la opción Customize installation. 5. Choose Location and features 6. En la ventana Optional features verificar que están activas todas las opciones y hacer clic en el botón [Next] 7. En la ventana Advanced Options verificar que están activas las opciones de la imagen, escribir la ruta del directorio de instalación "C:\Python36" (o aceptar la ruta por defecto) y comenzar la instalación haciendo clic en el botón [Install]. 8. A continuación, después de unos segundos de espera, comenzará el proceso de instalación de Python. 9. En la ventana Setup was successful, una vez que ha concluido el proceso de instalación hacer clic en el botón [Close]. Desde esta ventana es posible acceder a un tutorial online de Python, a la documentación oficial del lenguaje y a información con las novedades de la presente versión. 10. Para probar Python acceder a la línea de comandos ejecutando el programa cmd.exe o Símbolo del sistema. Después, escribir "python" y aceptar para iniciar el entorno interactivo de Python donde se puede verificar la versión de Python instalada y es posible introducir comandos Python. 11. Para finalizar, introducir quit() o presionar Ctrl+D. 12. A partir de este momento se puede instalar cualquier paquete de un tercero utilizando, entre otros, el instalador PIP. Por ejemplo, para instalar el entorno interactivo iPython: 1. C:\>pipinstallipython 13. Se instalará iPython con todas sus dependencias. En el repositorio PyPI hay decenas de miles de paquetes disponibles para abordar todo tipo de proyectos Python. [10] [11] P Instalación de Python 18 19 EL ENTORNO DE DESARROLLO yCharm es un entorno de desarrollo integrado (IDE) utilizado en la programación de computadoras, específicamente para el lenguaje Python. Está desarrollado por la compañía checa JetBrains. Proporciona análisis de código, un depurador gráfico, un probador de unidades integrado, integración con sistemas de control de versiones (VCS) y es compatible con el desarrollo web con Django. PyCharm es multiplataforma, con versiones de Windows, macOS y Linux. La Edición de la Comunidad se publica bajo la Licencia de Apache, y también hay una Edición Profesional lanzada bajo una licencia propietaria, esto tiene características adicionales. El IDE Pycharm es muy completo, creado por JetBrains. Este IDE es profesional y viene en dos modalidades: Una edición Free y otra muy completa privada que apunta a empresas de desarrollo de software. La popularidad del IDE Pycharm se puede medir a partir de que grandes empresas como Twitter, Groupon, Spotify, eBay y telefónica, han utilizado éste para su trabajo. La mayoría de sus características están disponibles en la versión gratuita, se integra con IPython, soporta Anaconda, así como otros paquetes científicos como matplotlib y NumPy. Características como desarrollo remoto, soporte de bases de datos, soporte de frameworks de desarrollo web, etc. están disponibles solo para la edición profesional de PyCharm. Algo muy útil de Pycharm es su compatibilidad con múltiples marcos de desarrollo web de terceros como Django, Pyramid, web2py, motor de aplicaciones Google y Flask, lo que lo convierte en un competo IDE de desarrollo de aplicaciones rápidas. Se encuentra disponible para Windows y Linux, puedes descargarlo desde la siguiente URL: http://www.jetbrains.com/pycharm/ [12] 6.1 Como Instalar PyCharm en Windows 1. Una vez finalizada la descarga, ejecute el archivo descargado, debe aparecer el asistente de instalación. 2. Haga clic en siguiente P Instalación de las librerías 26 Instalación de la librería NUMPY Para poder instalar la librería de Numpy podemos hacerlo de dos formas: 1. A través de símbolo de sistema 2. Abriendo la terminal en PyCharm En este caso, recomiendo que se realice de ésta última forma. Para ello, se debe abrir la terminal en PyCharm e introducir el siguiente comando “pip install numpy”. 7.2 Maplotlib Matplotlib es una librería de trazado, para el lenguaje de programación Python y su extensión matemática numérica NumPy. Proporciona una API orientada a objetos para incrustar tramas en aplicaciones utilizando kits de herramientas de GUI de propósito general como Tkinter, wxPython, Qt o GTK +. También hay una interfaz de procedimiento "pylab" basada en una máquina de estado (como OpenGL), diseñada para parecerse mucho a la de MATLAB, aunque se desaconseja su uso. Matplotlib fue escrito originalmente por John D. Hunter, como una comunidad activa de desarrollo, y se distribuye bajo una licencia de estilo BSD. Michael Droettboom fue nominado como desarrollador principal de matplotlib poco antes de la muerte de John Hunter en 2012, y se unió a Thomas CaswellÍndice y/o Índice general Instalación de la librería Maplotlib Para poder instalar la librería de Matplotlib podemos hacerlo de dos formas: 1. A través de símbolo de sistema 2. Abriendo la terminal en PyCharm En este caso, se recomienda igualmente, realizarlo de la segunda forma descrita. Para su instalación, se debe abrir la terminal en PyCharm e introducir el siguiente comando “pip install matplotlib”. [18] 7.3 SciPy SciPy es una librería de Python gratuita y de código abierto utilizada para informática científica e informática técnica. SciPy contiene módulos para optimización, álgebra lineal, integración, interpolación, funciones especiales, FFT, procesamiento de señal e imagen, solucionadores de ODE y otras tareas comunes en ciencia e ingeniería. SciPy se basa en el objeto de matriz NumPy y es parte de la pila NumPy, que incluye herramientas como Matplotlib, pandas y SymPy, y un conjunto en expansión de librerías de informática científica. Esta pila NumPy tiene usuarios similares a otras aplicaciones como MATLAB, GNU Octave y Scilab. La pila NumPy también se conoce a veces como la pila SciPy. La librería SciPy se distribuye actualmente bajo la licencia BSD, y su desarrollo está patrocinado y respaldado por una comunidad abierta de desarrolladores. 27 La estructura de datos básica utilizada por SciPy es una matriz multidimensional proporcionada por el módulo NumPy. Esta librería, proporciona algunas funciones para álgebra lineal, transformadas de Fourier y generación de números aleatorios, pero no con la generalidad de las funciones equivalentes en SciPy. NumPy también se puede usar como un contenedor de datos multidimensional eficientes, con tipos de datos arbitrarios. Esto permite a NumPy integrarse de manera rápida y sin problemas con una amplia variedad de bases de datos. Las versiones anteriores de SciPy utilizaban Numeric como tipo de matriz, ahora está en desuso, en favor del código de matriz NumPy más nuevo. [19] Instalación de la librería Scipy Para poder instalar la librería de Scipy podemos hacerlo de dos formas: 1. A través de símbolo de sistema 2. Abriendo la terminal en PyCharm Igualmente, se recomienda instalarlo de la segunda forma. Para ello, se debe abrir la terminal en PyCharm e introduzco el siguiente comando “pip install scipy” 7.4 PyQt5 En agosto de 2009, Nokia, el entonces dueño del kit de herramientas de Qt, lanzó PySide, proporcionando una funcionalidad similar, pero bajo LGPL, después de no llegar a un acuerdo con Riverbank Computing para cambiar sus términos de licencia para incluir LGPL como una licencia alternativa. PyQt es un enlace de Python del conjunto de herramientas GUI multiplataforma Qt, implementado como un complemento de Python. PyQt es un software gratuito desarrollado por la firma británica Riverbank Computing. Está disponible en términos similares a las versiones de Qt anteriores a 4.5; esto significa una variedad de licencias que incluyen la Licencia Pública General de GNU (GPL) y la licencia comercial, pero no la Licencia Pública General Reducida (LGPL) de GNU.PyQt es compatible con Microsoft Windows, así como con varios sabores de UNIX, incluidos Linux y MacOS (o Darwin). PyQt implementa alrededor de 440 clases y más de 6,000 funciones y métodos, que incluyen: 1. Un conjunto considerable de widgets de GUI clases para acceder a bases de datos SQL (ODBC, MySQL, PostgreSQL, Oracle, SQLite) 2. QScintilla, 3. Widget de editor de texto enriquecido basado en Scintilla 4. Widgets con reconocimiento de datos que se completan automáticamente desde una base de datos 5. Un analizador XML 6. Soporte SVG 7. Clases para incrustar controles ActiveX en Windows (solo en versión comercial) Para generar automáticamente estos enlaces, Phil Thompson desarrolló la herramienta SIP, que también se usa en otros proyectos. Instalación de las librerías 28 Instalación de la librería PyQt5 Para poder instalar la librería de PyQt5 podemos hacerlo, al igual que los anteriores, de dos formas: 1. A través de símbolo de sistema 2. Abriendo la terminal en Pycharm En este caso, es necesario utilizar las dos formas. La primera, es para instalar la librería y la segunda es para instalar el QT Designer. Para abrir la terminal en PyCharm, introduzco el siguiente comando “pip install pyqt5” Instalación del pyqt5 tools a través del cmd de Windows: Primero, es necesario descargarse el archivo: pyqt5_tools-5.9.0.1.2-cp36-none-win32.whl También se puede desde la web, desde el siguiente enlace: https://pypi.python.org/pypi/pyqt5-tools Una vez descargado el archivo, inicia el símbolo del sistema (cmd) para buscar la carpeta donde se ha descargado e introduce la siguiente línea para la instalación del PyQt5 designer: pip install pyqt5_tools- 5.9.0.1.2-cp36-none-win32.whl [20] Figura 9: Pantalla de Qt Designer 7.5 Pandas Su principal desarrollador, Wes McKinney, empezó a desarrollar Pandas en el año 2008, mientras trabajaba en AQR Capital, por la necesidad que tenía de una herramienta flexible de alto rendimiento para realizar análisis cuantitativo en datos financieros. Antes de dejar AQR convenció a la administración de la empresa de distribuir esta librería bajo licencia de código abierto. Otro empleado de AQR, Chang Ella, se unió en 2012 al esfuerzo de desarrollo de la librería. 29 En Computación y Ciencia de datos, pandas es una librería de software escrita como extensión de NumPy, para manipulación y análisis de datos para el lenguaje de programación Python. En particular, ofrece estructuras de datos y operaciones para manipular tablas numéricas y series temporales. Es un software libre, distribuido bajo la licencia BSD, versión tres cláusulas. Las características de la librería son:  Tipo de datos DataFrame para manipulación de datos con indexación integrada.  Herramientas para leer y escribir datos entre estructuras de dato en-memoria y formatos de archivo variados.  Alineación de dato y manejo integrado de datos faltantes.  Reestructuración y segmentación de conjuntos de datos.  Segmentación vertical basada en etiquetas, indexación elegante, y segmentación horizontal de grandes conjuntos de datos.  Inserción y eliminación de columnas en estructuras de datos.  Agrupación predefinida en la librería lo que permite realizar cadenas de operaciones dividir-aplicar- combinar sobre conjuntos de datos.  Mezcla y unión de datos.  Indexación jerárquica de ejes para trabajar con datos de altas dimensiones en estructuras de datos de menor dimensión.  Funcionalidad de series de tiempo: generación de rangos de fechas y conversión de frecuencias, desplazamiento de ventanas estadísticas y de regresiones lineales, desplazamiento de fechas y retrasos. Instalación de la librería Pandas Para poder instalar la librería de Pandas podemos hacerlo de dos formas: 1. A través de símbolo de sistema 2. Abriendo la terminal en PyCharm Se recomienda realizar la instalación de la segunda forma. Para ello, pulso abrir la terminal en PyCharm e introduzco el comando “pip install pandas”. [21] Instalación de las librerías 30 31 MANUAL DE USUARIO DEL PROGRAMA EMELEC l presente capítulo es un manual de usuario detallado de la aplicación EMELEC: Programa de estudio de mercado eléctrico. El programa EMELEC es un simulador del mercado ibérico simple, en el cual, se puede observar que efectos tendrán las modificaciones que se le realicen a la energía, sobre los precios del mercado ibérico mayorista de electricidad. Este programa está realizado con PyQt5 y Python 3.6, en el que se muestra por pantalla de forma visual los datos históricos recopilados de los archivos que nos facilita el operador de mercado español (OMIE). Los archivos que se utiliza en este programa son las curvas_pbc_uof. Estos archivos serán descargados manualmente por el usuario y serán almacenados en una base de datos local en el ordenador. Los datos serán tratados, a través de las librerías de pandas, NumPy y matplotlib de Python, para poder representar los datos con distintas gráficas según la opción que seleccione el usuario. Las principales funcionalidades de la herramienta son:  Unificador de archivos.  Representación de los datos en gráficas de histograma.  Cálculos estadísticos realizados a la energía y precios.  Representación de las curvas agregadas de oferta y demanda.  Representación de los precios y energía ofertados y casados por hora y por tecnologías en forma de nube de puntos o clúster.  Representación de la curva agregada de oferta y demanda del simulador de mercado simple. A continuación, se explica el programa y el funcionamiento de la herramienta EMELEC (Estudio de Mercado Eléctrico). 8.1 Interfaz de Usuario: Pantalla principal Al iniciar el ejecutable “EMELEC.py”, se muestra la pantalla principal de interfaz de usuario: E Manual de Usuario del Programa EMELEC 32 Figura 10: Pantalla principal EMELEC [22] La pantalla principal se puede maximizar o minimizar según las necesidades del usuario. Figura 11: Opciones de maximización, minimización y cerrar En los siguientes sub-apartados se especifican “paso a paso” las funcionalidades que conforman esta interfaz, para ello se diferencian 4 áreas: • Barra de menú. • Toolbar. • Ventana principal. • Statusbar. 33 Figura 12: Funcionalidades de la interfaz 8.1.1 Barra de menú En la parte superior de la pantalla principal, se encuentra la barra de menú, con las siguientes funcionalidades: - Archivos:  Unificador de archivos: Permite seleccionar todos los archivos que estén contenidos en la base de datos local del ordenador, para unificarlos en un solo archivo que lo denominaremos dataset.  Abrir: Se realiza la lectura de ese dataset, para tenerlo en memoria, y poder realizar las modificaciones pertinentes a los datos que están contenido en el interior del dataset.  Salir: Cierra la aplicación. - Datos Históricos  Precio horario del mercado diario: Muestra los datos contenidos en el dataset, de una forma visual y sencilla de los precios marginales o de la energía ofertada por hora o día.  Curva agregada oferta y demanda: Muestra, con una gráfica, la curva agregada de oferta y demanda para la hora y el día que se ha seleccionado. - Herramientas:  Estudio por tecnología: Muestra por pantalla una nube de puntos, en el que nos indica el precio, la hora y la energía ofertada o casada por tecnología. Manual de Usuario del Programa EMELEC 34  Simulador de mercado simple: Permite modificar los datos de la energía ofertada en el mercado diario con la ecuación AX + B, para cualquier tecnología seleccionada por el usuario. - Ventana:  Datos de Unidades: Muestra una ventana con una tabla, que contiene la información de cada unidad ofertante que participa en el mercado diario.  Maximizar: Muestra el programa en pantalla completa.  Minimizar: Minimiza la pantalla principal del programa. - Ayuda  Acerca de…: Información y fecha de actualización de la aplicación. 8.1.2 Toolbar Se encuentra debajo de la barra de menú, su funcionalidad es la de ejercer de acceso directos de todas aquellas funcionalidades más importantes del programa. Figura 13: Posición del toolbar en la interfaz 8.1.3 Ventana principal Al iniciar el programa, únicamente se puede visualizar el nombre del proyecto con los logotipos de la Escuela Superior de Ingenieros de Sevilla (ETSI), el logotipo de la Universidad de Sevilla y el logotipo del programa EMELEC. Una vez que vayamos abriendo las distintas funcionalidades, éstas se mostrarán en esta ventana 35 principal en forma de tablas. En cada una de las pestañas, aparecerá el nombre de la opción que se haya elegido, y éstas se podrán mover para poder establecer el orden que el usuario crea conveniente. Figura 14: Posición de la pantalla principal en la interfaz 8.1.4 Statusbar En la parte inferior de la pantalla, está situada la StatusBar. Esta función proporciona al usuario la información del dataset, el número de registros, la primera fecha y la última fecha, de los datos que están cargados en el DataFrame. Permite dar información adicional al usuario, para que tenga los datos que va a utilizar de forma clara y visual. Manual de Usuario del Programa EMELEC 42 Figura 23: Pestaña Abrir Si seleccionamos la opción “Abrir” se muestra la pantalla “Carga DataFrame”. En esta pantalla se puede visualizar dos sub-ventanas. La primera de ellas, contiene todos los dataset creado por el usuario y los archivos de información de los dataset. Figura 24: Ventana de carga dataframe sub-ventana 1 43 La segunda sub-ventana, es en la que se puede visualizar la información contenida en los archivos info y dataset. Seleccionando el archivo de Prueba_Info.txt en la segunda sub-ventana, se mostrará la información de los archivos que contiene el dataset Prueba.1. Si el usuario selecciona cualquiera de los dos archivos, (info o dataset) el nombre del dataset se colocará automáticamente en la casilla de Datasets Seleccionado. Como en el ejemplo que se muestra a continuación, Mayo2018.1, es el dataset que se quiere cargar para poder realizar las pruebas. Figura 25: Ventana de carga dataframe sub-ventana 2 Pulsando “Aceptar”, la flecha del ratón se convierte en un círculo animado, que gira en sentido de las agujas del reloj, e informa al usuario del proceso de carga del DataFrame. Una vez cargado, esta ventana se cerrará automáticamente. Cuando esté cargado el DataFrame, es el momento en el que se le puede empezar a modificar y extraer mediante el programa, la información contenida de una manera más visual y sencilla. Manual de Usuario del Programa EMELEC 44 Figura 26: Ventana de selección de dataset 8.2.3 Salir La funcionalidad de esta pestaña es la de cerrar la herramienta EMELEC. Figura 27: Pestaña Salir 8.3 Datos Históricos En esta opción de la barra de menú aparecen dos pestañas: 45  Precio horario del mercado diario: Su función es la de poder visualizar de forma gráfica y numérica la aplicación de algunas funciones estadística como la media, mediana, la moda… a los datos de precio y energía del DataFrame. También proporciona los datos de la Energía casada, la energía ofertada de compra, etc. como se explicará posteriormente.  Curva agregada de oferta y demanda: La otra funcionalidad es la curva agregada de oferta y demanda, y su función es la de representar con una gráfica la curva marginalista de los datos del mercado diario que está contenido en el DataFrame. Figura 28: Pestaña datos históricos 8.3.1 Precio horario del mercado diario La pestaña del Precio del mercado diario posee la función de poder aplicar a los precios y energía del mercado, las funciones estadísticas y de representar estos datos cargados en el DataFrame, con las gráficas de histogramas. Manual de Usuario del Programa EMELEC 46 Figura 29: Pestaña precio horario del mercado diario [25] Al seleccionar la opción que aparece en la imagen anterior, se muestra la ventana en la pantalla principal del programa, como podemos observar en la siguiente imagen: Figura 30: Pantalla de precio horario del mercado diario 47 Como se puede observar en esta ventana, hay una tabla con dos pestañas, una es Cálculos y la otra es Gráficas, lo que contiene en cada una de las pestañas, se desglosará a continuación. 8.3.1.1 Cálculos En esta pestaña, se visualiza que de la tabla se aplican, a los datos de energía y precios de compra y venta que están contenidos en el DataFrame, las funciones estadísticas básicas, como la media, mediana, desviación estándar, los percentiles 25%, 50% y 75%. Igualmente se puede visualizar el precio casado para la hora seleccionada, la energía ofertada de compra, la energía ofertada de venta, los precios casados de compra y los precios casados de venta. Figura 31: Pantalla de cálculos de precio de horario de mercado diario 8.3.1.1.1 Funció n estadí stica media La media aritmética es el promedio de un conjunto de valores. 8.3.1.1.2 Funció n estadí stica mediana La mediana representa el valor de la variable de posición central en un conjunto de datos ordenados. 8.3.1.1.3 Funció n estadí stica móda En estadística, la moda es el valor con mayor frecuencia en una distribución de datos. 8.3.1.1.4 Funció n estadí stica desviació n esta ndar La desviación estándar, es una medida de dispersión usada en estadística que nos dice cuánto tienden a alejarse los valores concretos del promedio en una distribución de datos. De hecho, específicamente, el cuadrado de la desviación estándar es “el promedio del cuadrado de la distancia de cada punto respecto del promedio”. Manual de Usuario del Programa EMELEC 48 La desviación estándar de un conjunto de datos, es una medida de cuánto se desvían los datos de su media. Esta medida es más estable que el recorrido y toma en consideración el valor de cada dato. 8.3.1.1.5 Funció n estadí stica percentil 25%, 50%, 75% El percentil, es una medida de posición usada en estadística que indica que una vez ordenados los datos de menor a mayor, el valor de la variable por debajo del cual se encuentra un porcentaje dado de observaciones en un grupo de observaciones. Por ejemplo, el percentil 25 es el valor bajo el cual se encuentran el 25 por ciento de las observaciones. Lo mismo para los otros dos porcentajes. 8.3.1.2 Gráficas En esta pestaña, se puede visualizar las gráficas de histograma de los siguientes datos: los precios marginales por hora de España y Portugal, precio de compra y venta de la energía en España, la desviación estándar de los precios ofertados, el precio marginal medio por hora ofertado, la energía ofertada de compra y venta y la distribución en caja de los precios del mercado diario. Figura 32: Pantalla de grafica de precio de horario de mercado diario [26] 8.3.1.3 Precio Marginal España – Portugal Al seleccionar la opción de Precio marginal ES-PT aparece una gráfica de histograma que contiene en el eje de abscisa, los periodos del día seleccionado (24) y en el eje de ordenadas, se encuentran los precios en €/MWh y en el tercer eje se encuentra la energía en MWh. Se observa que el color azul de la barra del histograma, indica los precios de compra casado de España, para cada hora del día y el color rojo de las barras del histograma, indica los precios de compras casados de Portugal para cada hora del día. También está representada una línea naranja que indica la suma de energía casada para cada hora de España. Se puede observar, que los precios de España y Portugal en determinadas horas no coinciden, cuando esto sucede, se le llama “Market Spliting”, que quiere decir, que los mercados de España y Portugal están desacoplados o separados. 49 Si por el contrario los precios de compras de España y Portugal, en determinadas horas, coinciden se le denomina “Market Copling”, es decir, que los dos mercados están perfectamente acoplados y trabajarían como un solo Mercado, el mercado ibérico. Cuando esto sucede, si tenemos “Market Splitting” en el fichero se identifica en la columna de País “ES” o “PT”, pero si tenemos “Market Coupling” en la columna de “País” se coloca “MI”. En la siguiente gráfica se muestra las ofertas casadas de compra de ambos países. Se representa este valor puesto que, al tener la curva agregada de oferta y demanda el mismo Welfare o bienestar social, el algoritmo Euphemia selecciona el precio que está por encima, (que suele ser el de compra) siendo, este precio finalmente, el precio marginal de la subasta. Figura 33: Gráfica precio marginal de España – Portugal del mercado diario 8.3.1.4 Precio Marginal Compra – Venta España Al seleccionar la opción de Precio Euros/MWh, aparece una gráfica de histograma que contiene en el eje de abscisa los periodos del día seleccionado, y en el eje de ordenadas se encuentra los precios en €/MWh. El color azul de la barra del histograma, indica los precios de venta casado de España para cada hora del día, y en el color rojo, indica los precios de compras casados de España para cada hora del día. Se puede observar que los precios de venta y compra en determinadas horas no coinciden y es por la forma de la gráfica de la curva agregada de oferta y demanda, al tener forma de escalón, los cortes de ambas líneas en algunas ocasiones no coinciden. Manual de Usuario del Programa EMELEC 50 Figura 34: Gráfica precio marginal de compra y venta España 8.3.1.5 Precio marginal desviación estándar compra/venta Al seleccionar la opción de Precio marginal desviación estándar compra/venta, aparece una gráfica de histograma que contiene en el eje de abscisa, los periodos del día seleccionado, y en el eje de ordenadas, se encuentra los precios en €/MWh. El color azul de la barra del histograma, indica los precios marginales de desviación estándar de venta de España para cada hora del día, y en el color rojo, se indica los precios marginales de desviación estándar de compra de España para cada hora del día. La desviación estándar de un conjunto de precios, es una medida que sirve para conocer, cuánto se desvían los precios de su media. Esta medida es más estable que el recorrido y toma en consideración el valor de cada precio. Figura 35: Gráfica desviación estándar del precio de España del mercado diario 51 8.3.1.6 Precio marginal medio compra/venta España Al seleccionar la opción de Precio medio por hora, aparece una gráfica de histograma, que contiene en el eje de abscisa, los periodos del día seleccionado (24), y en el eje de ordenadas, se encuentra los precios en €/MWh. En la siguiente gráfica, se aprecia los valores medios de los precios de la energía ofertado en la subasta del Mercado diario de España. Como se puede visualizar, los precios de compra ofertados tienen una media mucho más alta, esto se debe a que la pendiente de las ofertas de compra es más inclinada. Sin embargo, con la energía de venta, es, al contrario, la pendiente de la oferta de venta es mucho más suave. Ello demuestra la gran diferencia de los precios que se obtienen en esta gráfica. Figura 36: Gráfica media del precio de España del mercado diario 8.3.1.7 Energía ofertada compra/venta España Al seleccionar la opción de “Energía casada”, aparece una gráfica de histograma, que contiene en el eje de abscisa los periodos (24) del día seleccionado, y en el eje de ordenadas se encuentra la suma de energía en MWh. En esta gráfica, se representa con una línea roja, la suma energía ofertada de venta de España por periodo, y con la línea naranja, la suma de energía de venta de España por periodos del día seleccionado. Se puede apreciar que, en el mercado diario de la electricidad en España, se oferta mucha más energía de venta que de compra. Manual de Usuario del Programa EMELEC 58 Cuando se selecciona en el comboBox de ofertada/casada la opción de “Ofertada”, nos muestra la cantidad de energía y el precio que se ha ofertado en ese día, en el mercado para la tecnología seleccionada. Figura 45: Pantalla de estudio por tecnología ofertada Cuando se selecciona en el comboBox de ofertada/casada la opción de “Casada”, en la gráfica se nos muestra la cantidad de energía y al precio que se ha casado en ese día en el mercado para la tecnología seleccionada. Figura 46: Pantalla de estudio por tecnología casada 59 8.4.1.1 Gráfica Bombeo En el programa, se representa como se oferta a cada hora del día, a qué precio y cuanta energía, la tecnología de bombeo, como se muestra en la siguiente gráfica. En ella se puede observar, que está ofertando la gran mayoría de su energía en un rango de precios entre 25€ y 50€, también el periodo en el que se ve un incremento de la oferta son de 1 a las 7 de la mañana, que es cuando más barata esta la energía y es cuando esta tecnología aprovecha para bombear el agua, y por último que sus ofertas se mantienen bastante estables. Figura 47: Gráfica clúster bombeo ofertada En la siguiente gráfica, se puede observar la cantidad de energía casada por hora y precio. Con respecto al anterior gráfica (figura 44) se puede ver una gran diferencia de energía que oferta y la que realmente casa en el Mercado. Se puede decir, que la energía que ha casado, es porque en esas horas, el precio marginal se ha reducido tanto hasta conseguir llegar a casar. Manual de Usuario del Programa EMELEC 60 Figura 48: Gráfica clúster bombeo casada 8.4.1.2 Gráfica Comercialización En el programa se representa como oferta a cada hora del día, a qué precio y cuanta energía, la tecnología de comercialización, como se muestra en la siguiente gráfica. Se puede observar, que está ofertando la gran mayoría de su energía en un rango de precios entre 100€ y 180€. Esto se debe a que los consumidores de energía de esta tecnología son los hogares, entonces las comercializadoras tienen una gran demanda que suplir. Otro dato curioso es que también ofertan mucha energía a 0€, esto sucede porque muchas comercializadoras han comprado en el mercado a futuro, es decir, que ya ha comprado la energía para todo el año y no tienen la necesidad de entrar en la casación del mercado, pero están obligados a participar en el mercado diario si quieren entrar en los mercados posteriores. Asimismo, se aprecia un incremento de energía ofertada entre los periodos 10 y 22, que comprenden las horas de punta y una disminución de energía ofertada, que está comprendida entre los periodos 1 al 7, que son en periodos de valle, cuando normalmente existe menos actividad. Es necesario decir, que en general no suele ser muy variable la cantidad de energía ofertada por esta tecnología en el mercado diario. 61 Figura 49: Gráfica clúster comercialización ofertada En la siguiente gráfica, se observa la cantidad de energía casada por hora y precio. Si se compara con la anterior gráfica (figura 46) se puede ver que la gran diferencia entre ambas es la franja de oferta a 0€/MWh, también se visualiza que en ciertas horas de la madrugada el precio de casación baja de los 40€/MWh, pero que el gran porcentaje se encuentra al precio de 180,3 €/MWh y en el rango de 40 €/MWh a 120 €/MWh. Figura 50: Gráfica clúster comercialización casada 8.4.1.3 Gráfica Exportación En esta gráfica, se representa las exportaciones de España a los países transfronterizos como son Portugal y Francia. Se identifica con los días que tenemos market splitting, es decir, cuando España vende a Portugal o a Francia. Se puede comprobar, que no ofertan gran cantidad de energía debido a los límites de interconexión que existen entre los países. Manual de Usuario del Programa EMELEC 62 Figura 51: Gráfica clúster exportación ofertada 8.4.1.4 Gráfica Carbón Importado En el programa se representa como oferta a cada hora del día y precio, la tecnología de carbón importado, como se muestra en la siguiente gráfica. Se puede observar que sus precios de ofertas son muy diversos, pero que, en los primeros periodos, es cuando más energía se oferta a un precio mayor. Ello se debe, al arranque de las centrales, como estas centrales no tienen buena maniobrabilidad, es decir, que no puedan parar o arrancar la central en pocas horas, no pueden ofertar energía, porque no llegan a su mínimo técnico. Es ya pasado el periodo 8 o 9, cuando esta tecnología empieza a construir su escala de oferta. Se puede decir que, en la gran mayoría de la energía ofertada, está en el rango de 0 €/MWh y 75 €/MWh, observándose, que las centrales de carbón que están ofertando a precios muy altos, no tienen la intención de participar en el mercado diario, porque tiene indisponibilidad de la planta o simplemente prefieren participar en los mercados posteriores. Figura 52: Gráfica clúster carbón importado ofertada 63 En la gráfica que se muestra a continuación, se puede observar la cantidad de energía casada por hora y precio. Si se compara con la anterior gráfica (figura 49), se puede ver que hay más energía ofertada que casada, ello puede deberse, a que muchas de estas tecnologías tienen condiciones complejas como la CIMV o CIMF (Condiciones de ingresos mínimos variables y fijos) y si no llegan al objetivo, no casan en el mercado diario, pero puede que participen en los mercados posteriores. Se observa en la gráfica, que el rango de precios al que ha casado, es entre 0 €/MWh y 50 €/MWh. Esta tecnología suele estar muy próxima al precio marginal y será una de las que imponga el precio de casación del mercado diario. Figura 53: Gráfica clúster carbón importado casada 8.4.1.5 Gráfica Carbón Nacional En el programa se representa como oferta a cada hora del día y precio, la tecnología de carbón nacional, como se muestra en la siguiente gráfica. Se puede observar que sus precios de ofertas son muy diversos, pero en los primeros periodos, es cuando más energía se oferta a un precio mayor, y ello se debe, al arranque de las centrales, como estas centrales no tienen buena maniobrabilidad, es decir, que puedan parar o arrancar la central en pocas horas, no pueden ofertar energía, porque no llegan a su mínimo técnico. Es ya pasado el periodo 8 o 9 cuando esta tecnología empieza a construir su escala de oferta. Se puede decir que, en la gran mayoría de la energía ofertada, se encuentra en el rango de 0 €/MWh y 75 €/MWh. Se podría decir, que las centrales de carbón que están ofertando a precios muy altos, no tienen la intención de participar en el mercado diario, porque tiene indisponibilidad de la planta o simplemente prefieren participar en los mercados posteriores. Manual de Usuario del Programa EMELEC 64 Figura 54: Gráfica clúster carbón nacional ofertada En la próxima gráfica se puede observar la cantidad de energía casada por hora y precio. Si se compara con la anterior gráfica (figura 51), se puede ver que no ha casado nada. Ello sucede, puesto que muchas de estas tecnologías tienen condiciones complejas como la CIMV o CIMF (Condiciones de ingresos mínimos variables y fijos) y si no llegan al objetivo, no casan en el mercado diario, pero puede que participen en los mercados posteriores. Figura 55: Gráfica clúster carbón nacional casada 8.4.1.6 Gráfica Ciclo Combinado En el programa se representa como oferta a cada hora del día y precio la tecnología de ciclo combinado, como se muestra en la siguiente gráfica. 65 Se puede observar, que sus precios de ofertas son muy diversos, pero que, en los primeros periodos, es cuando más energía se oferta a un precio mayor, esto se debe al arranque de las centrales (como ya se ha explicado en los puntos anteriores). Se puede decir, que en la gran mayoría de la energía ofertada se encuentra en el rango de 0 €/MWh y 100 €/MWh, Es necesario indicar, que las centrales de ciclo combinado que están ofertando a precios muy altos, no tienen la intención de participar en el mercado diario, porque tiene indisponibilidad de la planta o simplemente prefieren participar en los mercados posteriores. Podemos ver también en este gráfico, que, de la tecnología térmica, la que mayor potencia instalada tiene en la península, es la de ciclo combinado y con bastante diferencia con respecto a la de carbón importado y nacional. Figura 56: Gráfica clúster ciclo combinado ofertada En la próxima gráfica, se puede observar la cantidad de energía casada por hora y precio. Si se compara con la anterior gráfica, se puede ver que hay más energía ofertada que casada. Ello puede deberse, a que muchas de estas centrales o agentes, tienen condiciones complejas como la CIMV, CIMF (Condiciones de ingresos mínimos variables y fijos), indivisibilidad… y si no llegan al objetivo, no casan en el mercado diario, pero puede que participen en los mercados posteriores. Se puede observar que el rango de precios al que ha casado es entre 0 €/MWh y 50 €/MWh, esta tecnología suele estar muy próximo al precio marginal y será una de las que imponga el precio de casación del mercado diario. Manual de Usuario del Programa EMELEC 66 Figura 57: Gráfica clúster ciclo combinado casada 8.4.1.7 Gráfica Eólica En el programa se representa como oferta a cada hora del día y precio la tecnología eólica, como se muestra en la siguiente gráfica. Se puede observar que esta tecnología intenta introducir en el mercado, toda la energía disponible en un rango de precio bajo, ya que, al ser una energía renovable, es una tecnología de oportunidad, porque ésta dependerá de cuando sople el viento. Es necesario comentar, que la diferencia con la energía casada en el mercado, no difiere mucho, porque al ofertar a un precio menor de 30 €/MWh, es difícil que no case casi toda la energía ofertada. Figura 58: Gráfica clúster eólica ofertada En la gráfica que se muestra a continuación se puede observar la cantidad de energía casada por hora y precio. Si se compara con la anterior gráfica, se puede ver que no existe gran diferencia de la energía que ha ofertado con la que finalmente ha casado en el Mercado, solo se ha quedado fuera, aquella que han ofertado a un precio 67 alto porque no querían participar en el Mercado por alguna indisponibilidad o simplemente que prefiere participar en los mercados posteriores. Figura 59: Gráfica clúster eólica casada 8.4.1.8 Gráfica Fotovoltaica En el programa se representa como oferta a cada hora del día y precio la tecnología fotovoltaica, como se muestra en la siguiente gráfica. Se puede observar que, a ciertas horas del día, ofertan una gran cantidad de energía a los precios de 0 €/MWh, ello se debe a las horas de mayor radiación solar, que es cuando esta tecnología producirá más volumen de energía. Igualmente, la producción de esta tecnología varía según la época del año en la que se encuentre, debido a las condiciones climatológicas y la radiación solar. Figura 60: Gráfica clúster fotovoltaica ofertada Manual de Usuario del Programa EMELEC 74  Un calendario: Para seleccionar el día, mes y año de los datos cargados en el DataFrame.  Un reloj: Para seleccionar la hora o periodo de la fecha seleccionada.  Un Combo Box Tecnología: Para seleccionar la tecnología que se le quiere hacer la modificación de su energía en el mercado diario.  A: Valor que multiplica a la energía que está contenida en el DataFrame.  B: Valor que suma a la energía que está contenida en el DataFrame.  El botón Generar Gráfica: Muestra la gráfica de curva agregada de oferta y demanda modificada con los datos introducidos de la ecuación AX+B.  Botón Extraer Archivo: Se extrae un archivo en Excel con los datos de la Unidad, Tipo de tecnología, Precio de la energía y energía modificada con la ecuación AX+B.  LCD Energía Compra: Energía en MWh, que se ha introducido o extraído para la tecnología de tipo oferta compra.  LCD Energía Venta: Energía en MWh que se ha introducido o extraído para la tecnología de tipo oferta venta. Figura 72: Ejemplo de visualización de la pantalla de simulador de mercado simple El día y el mes de las gráficas corresponde al 01/06/2018 en el periodo 7 y la modificación que se le ha realizado a la energía es con A=2 y B=0. Se puede observar que según el tipo de oferta que sea, la tecnología en cuestión, aumentará el precio marginal o disminuirá, y también se incrementará más o menos los precios según la cantidad de energía que haya ofertado en el mercado diario ese día de estudio. 75 8.4.2.1 Modificación de los datos introduciendo más energía en Bombeo El precio original es de 52.09€/MWh, al realizar la modificación de la energía con la formula AX+B donde el valor de A = 2 y el de B = 0, se puede observar que la cantidad de energía introducida al sistema es de 5013.6MWh y el precio ha incrementado en 1.2€/MWh. Podemos visualizar que la curva de oferta de compra se ha desplazado haciendo que se incremente el precio marginal gracias al aumento de la oferta de energía. Figura 73: Gráfica simulador de mercado simple bombeo 8.4.2.2 Modificación de los datos eliminando la oferta de energía de Carbón Importado El precio original es de 52.09€/MWh, al realizar la modificación de la energía con la formula AX+B donde el valor de A = 0 y el de B = 0, se puede observar que la cantidad de energía eliminada del sistema es de -6316.6 MWh y el precio se ha incrementado en 14.035€/MWh. Se puede visualizar que la curva de oferta de venta se ha desplazado, haciendo que se incremente el precio marginal, al eliminar la tecnología carbón importado de la oferta. Figura 74: Gráfica simulador de mercado simple carbón importado Manual de Usuario del Programa EMELEC 76 8.4.2.3 Modificación de los datos introduciendo más energía en Carbón Nacional El precio original es de 52.09€/MWh, al realizar la modificación de la energía con la formula AX+B donde el valor de A = 2 y el de B = 0, se puede observar que la cantidad de energía introducida al sistema es de 4315.5MWh y el precio ha disminuido en 2.13€/MWh. Podemos visualizar que la curva de oferta de venta se ha desplazado haciendo que se disminuya el precio marginal, gracias al aumento de la oferta de energía. Figura 75: Gráfica simulador de mercado simple carbón nacional 8.4.2.4 Modificación de los datos introduciendo más energía en Ciclo Combinado El precio original es de 52.09€/MWh, al realizar la modificación de la energía con la formula AX+B donde el valor de A = 2 y el de B = 0, se puede observar que la cantidad de energía introducida al sistema es de 26529.3 MWh y el precio ha disminuido en 10.2€/MWh. Se puede visualizar, que la curva de oferta de venta se ha desplazado haciendo que se disminuya el precio marginal, gracias al aumento de la oferta de energía. Figura 76: Gráfica simulador de mercado simple ciclo combinado 77 8.4.2.5 Modificación de los datos introduciendo más energía en Comercialización El precio original es de 52.09€/MWh, al realizar la modificación de la energía con la formula AX+B donde el valor de A = 2 y el de B = 0, se puede observar que la cantidad de energía introducida al sistema es de 26025.4 MWh y el precio ha incrementado en 27.91 €/MWh. Podemos visualizar, que la curva de oferta de compra se ha desplazado haciendo que se incremente el precio marginal, gracias al aumento de la oferta de energía. Figura 77: Gráfica simulador de mercado simple comercialización 8.4.2.6 Modificación de los datos introduciendo más energía en Genérica El precio original es de 52.09€/MWh, al realizar la modificación de la energía con la formula AX+B donde el valor de A = 2 y el de B = 0, se puede observar que la cantidad de energía introducida al sistema es de 4535.4 MWh y el precio ha incrementado en 12.2 €/MWh. Se Puede visualizar, que la curva de oferta de compra se ha desplazado haciendo que se incremente el precio marginal, gracias al aumento de la oferta de energía. Figura 78: Gráfica simulador de mercado simple genérica Manual de Usuario del Programa EMELEC 78 8.4.2.7 Modificación de los datos introduciendo más energía en Hidráulica El precio original es de 52.09€/MWh, al realizar la modificación de la energía con la formula AX+B donde el valor de A = 2 y el de B = 0, se puede observar que la cantidad de energía introducida al sistema es de 13272.6 MWh y el precio ha disminuido en 0.92 €/MWh, entonces podemos visualizar que la curva de oferta de venta se ha desplazado haciendo que se disminuya el precio marginal, gracias al aumento de la oferta de energía. Figura 79: Gráfica simulador de mercado simple hidráulica 8.4.2.8 Modificación de los datos eliminando las ofertas de energía Nuclear El precio original es de 52.09€/MWh, al realizar la modificación de la energía con la formula AX+B donde el valor de A = 0 y el de B = 0, se puede observar que la cantidad de energía eliminada al sistema es de -329.6 MWh y el precio se ha incrementado en 1.20 €/MWh. Se puede visualizar, que la curva de oferta de venta se ha desplazado haciendo que se aumente el precio marginal, al eliminar la tecnología nuclear de la oferta. Figura 80: Gráfica simulador de mercado simple nuclear 79 8.4.2.9 Modificación de los datos introduciendo más energía en Recore El precio original es de 52.09€/MWh, al realizar la modificación de la energía con la formula AX+B donde el valor de A = 2 y el de B = 0, se puede observar que la cantidad de energía introducida al sistema es de 8404 MWh y el precio ha disminuido en 22.09 €/MWh. Podemos visualizar, que la curva de oferta de venta se ha desplazado haciendo que se disminuya el precio marginal, gracias al aumento de la oferta de energía. Figura 81: Gráfica simulador de mercado simple RECORE 8.5 Ventana En la opción de la barra de menú de “Ventana”, se visualiza tres funcionalidades distintas: la primera es la de Datos de UOF´s, la segunda es maximizar y la tercera es minimizar, a continuación, entraremos en detalle en cada una de ellas. En la ilustración X podemos observar donde se encuentra disponibles estas opciones. Manual de Usuario del Programa EMELEC 80 Figura 82: Pestaña de ventana 8.5.1 Datos de UOF´s La opción de la barra de menú de “Datos de UOF´s”, tiene las siguientes funcionalidades:  Mostrar cuales son las unidades que están operando en el Mercado diario de la energía.  Qué tipos de tecnología son cada una de las UOF que participan.  Una breve descripción de la unidad.  El porcentaje de participación, si corresponde a compra o venta.  Y por último el país al que pertenecen, si es de España o Portugal. Los datos de UOF´s son una información bastante valiosa para poder entender cómo trabaja el programa EMELEC. 81 Figura 83: Pestaña datos de UOF´s Estos datos se han recopilado de la información que se puede extraer de la lista de unidades que emite OMIE, también de algunos datos proporcionados por el profesor y otros datos de la lista de UP, que emite el operador de sistema REE. Para detectar si las unidades son de compra o venta, se debe realizar una consulta en ACCESS a un gran número de archivos unificados de curvas_pbc_uof (más de dos años,) colocando en criterio, el tipo de oferta “C” o “V” para que muestre las unidades de compra o venta. Manual de Usuario del Programa EMELEC 82 Figura 84: Pantalla de datos de UOF´s 8.5.2 Maximizar La funcionalidad de esta ventana es la de colocar en pantalla completa el programa. Figura 85: Pestaña maximizar 8.5.3 Minimizar La funcionalidad de minimizar es la de ocultar o reducir el programa. 83 Figura 86: Pestaña de minimizar 8.6 Ayuda En esta opción de la barra de menú, podemos visualizar la funcionalidad “Acerca de…”, es una ventana en la que se proporciona algunos datos de interés. Figura 87: Pestaña Ayuda Realización de pruebas 90 Figura 95: Ejemplo de ejecución de gráfica estudio por tecnología 9.6 Ejemplo de obtención de las gráficas del simulador de mercado simple Realización de un ejemplo para obtener la gráfica de curva agregada de oferta y demanda para el simulador de mercado simple: 1. Seleccionar la fecha. 2. Seleccionar el periodo (1 – 24). 3. Seleccionar la tecnología a la que se le quiere modificar la energía ofertada. 4. Valor para multiplicar a la energía ofertada. 5. Valor para sumar a la energía ofertada. 6. Pulsar botón para generar la gráfica. 7. Apartado donde se muestra la energía total que se le introduce a las ofertas de compra o venta de la tecnología seleccionada. 8. Pantalla donde se muestra la curva agregada de oferta y demanda, pero con la energía modificada de la tecnología seleccionada. 9. Pulsar el botón para extraer un documento con los datos de la modificación realizada a la energía ofertada de la tecnología seleccionada. 91 Figura 96: Ejemplo de ejecución de gráfica de simulador de mercado Realización de pruebas 92 93 CONCLUSIONES onocida la herramienta, el gran potencial de análisis que presenta y toda la información que se puede extraer, en este capítulo se proporciona las conclusiones más importantes a tener en cuenta sobre la curva agregada de oferta y demanda del mercado diario. 10.1 Conclusiones Se puede observar que, con esta herramienta de análisis del mercado eléctrico, se puede realizar un estudio de los precios del mercado diario de España y Portugal. Esto se representa con las gráficas de histogramas y la energía subastada con las gráficas lineales. Asimismo, se aplica un análisis estadístico utilizando la media, mediana, moda, desviación estándar y los distintos percentiles 25%, 50% y 75% a los precios y energías ofertadas que se extraen de las curvas agregadas de oferta y demanda del mercado diario, obteniendo de estos cálculos la energía o precio que más se repite por periodo y día, la dispersión que tiene estos datos, etc. Con este programa el usuario puede obtener la representación de los datos de la curva agregada de oferta y demanda del mercado diario. Esta funcionalidad de la herramienta, permite visualizar las curvas marginalistas del mercado diario sin la necesidad de conectarnos a la página oficial del operador de mercado OMIE, es decir, no se necesita la conexión a internet siempre que este disponibles los datos en la base de datos de la aplicación. También, con la funcionalidad de estudio por tecnología, se puede obtener una nube de puntos que representan la cantidad de energía (por el tamaño del punto y opacidad) y rango de precios (por los colores de los puntos) de las distintas ofertas de cada tecnología en la subasta del mercado diario. Esta funcionalidad se podría ampliar en un futuro para estudiar las ofertas de las unidades (en vez de seleccionar por tecnologías se seleccionaría por UOF), con la representación de esto datos se podría encontrar un patrón de conducta de las distintas unidades en el mercado. Se puede decir que, con la funcionalidad de simulador del mercado, se puede obtener los precios aproximados del mercado, según la variación de las ofertas de energía de cada tecnología. Es decir, según si se añade o elimina las ofertas de cada tecnología las curvas agregadas de oferta y demanda se desplazarán hacia la izquierda o derecha cambiando su punto de corte o precio marginal. Se puede observar que el análisis que se ha realizado con la herramienta, puede determinar el incremento de los precios de la energía en el mercado diario. Esto sucede por el incremento en los precios de las ofertas de la tecnología hidráulica porque están ofertando a los mismos precios que la térmicas convencionales, cuando los costes de dicha tecnología se aproximan a los costes de operación. Del simulador de mercado, si simulamos el mercado sin tecnología de carbón, se puede observar que los precios del mercado son menores a causa del desplazamiento hacia la izquierda del punto de corte marginal de las curvas agregadas de oferta y demanda. Asimismo, se podría deducir que la tecnología térmica convencional, la gran mayoría presentan ofertas complejas de condición de ingresos mínimos porque ofertan mucha energía a precios bajos pero la energía casada es muy inferior a la ofertada. Además, en las gráficas de estudio por tecnología se puede identificar patrones de conductas de la tecnología térmica, como su estado de arranque o parada de estas centrales. C Conclusiones 94 Se puede observar que las comercializadoras es la tecnología que mayor demanda tiene de energía, porque la gran parte de sus clientes son pequeños consumidores. Además, una gran parte de las comercializadoras hacen ofertas de compra de energía a precio cero en el mercado diario, esto se debe a que no quieren casar energía ya que, han realizado ofertas con contratos bilaterales o han comprado la energía en mercados a futuros. 95 PROPUESTAS DE MEJORAS ara finalizar, en el presente capítulo se propone unas mejoras para la herramienta EMELEC. Esta herramienta es una versión muy básica, pero con la que se le puede extraer mucha información solo con el análisis del fichero de curva agregada de oferta y demanda. La idea de este capítulo es la de explicar algunas de las futuras mejoras de la herramienta, para conseguir el interés de la empresa que quiera adquirirla y mostrar la versatilidad y el potencial que puede alcanzar con las siguientes propuestas. 11.1 Descargador de archivos automático Se añadirá una pestaña nueva en la barra de menú denominada Descarga OMIE, su función es la de conectar a través de la API que proporciona OMIE, para descargar todos los archivos de forma automática y que se almacene en el ordenador para facilitar el trabajo al usuario. 11.2 Algoritmo Euphemia Creación del algoritmo Euphemia con Python, para realizar estrategias de mercado con la herramienta. 11.3 Mejoras en el simulador En la pantalla de simulador se modificará para mejorar la funcionalidad y ofrecer las siguientes opciones:  Modificación del ATC: El usuario podrá modificar los valores de interconexiones entre las fronteras.  Modificación de las ofertas de Unidades: El usuario podrá modificar la energía, los precios a nivel de tramos, las condiciones complejas (CIMF, CIMV, rampa de subida o bajada, indivisibilidad…) para una única unidad o para varias unidades ofertantes,  Adaptación de la oferta de una unidad a otra: EL usuario podrá igualar la oferta de una unidad ofertante a otra unidad ofertante.  Introducir unidades ficticias: El usuario podrá introducir una unidad ficticia con la estrategia que quiere aplicar en el mercado para saber los beneficios que obtendría en el mercado diario. 11.4 Machine learning Aplicación de modelos predictivos en el mercado diario, para saber cuánta energía se va a subastar en el mercado y mejorar la estrategia del mercado. 11.5 Informes Obtención de informe comparativo con los datos históricos tras realizar la casación con el algoritmo Euphemia implementado para la herramienta EMELEC. P Propuestas de Mejoras 96 11.6 Añadir combo de UOF´s Se añadirá un nuevo combo para elegir si modificar por tecnología o por Unidades UOF´s para poder obtener el patrón de conducta de cada unidad ofertante en el mercado diario y poder sacar la estrategia que tiene en el mercado. 97 REFERENCIAS [1] M. intradiario, «OMIE,» [En línea]. Available: http://m.omie.es/inicio/mercados-y-productos/mercadoelectricidad/nuestros-mercados-de-electricidad/mercado-intradiar?m=yes. [2] «Energía y sociedad,» [En línea]. Available: http://www.energiaysociedad.es/manenergia/6-2-formacion- de-precios-en-los-mercados-mayoristas-a-plazo-de-electricidad/. [3] R. d. funcionamientos, «OMIE,» [En línea]. Available: http://www.omie.es/inicio/normativa-de- mercado/reglas-omie. [4] «Energía y Sociedad,» [En línea]. Available: http://www.energiaysociedad.es/manenergia/2-3- actividades-reguladas-y-actividades-en-libre-competencia/. [5] «BOE: Resolución de 9 de mayo de 2018,» [En línea]. Available: https://www.boe.es/diario_boe/txt.php?id=BOE-A-2018-6295. [6] «BOE: Resolución de 27 de enero de 2014,» [En línea]. Available: https://www.boe.es/diario_boe/txt.php?id=BOE-A-2014-916. [7] «BOE: Resolución de 23 de julio de 2012,» [En línea]. Available: https://www.boe.es/buscar/doc.php?id=BOE-A-2012-10386. [8] «BOE: Real Decreto 647/2011,» [En línea]. Available: https://www.boe.es/buscar/doc.php?id=BOE-A- 2011-8910. [9] R. G. Duque, Python para todos, Creative Commons. [10] T. Peters, «Python 3 para impacientes,» [En línea]. Available: http://python-para- impacientes.blogspot.com.es/2017/02/instalar-python-paso-paso.html. [11] W. Python, «Wikipedia,» [En línea]. Available: https://es.wikipedia.org/wiki/Python. [12] W. PyCharm, «Wikipedia,» [En línea]. Available: https://en.wikipedia.org/wiki/PyCharm. [13] «Mi diario Python,» [En línea]. Available: http://www.pythondiario.com/2016/11/los-5-mejores-ide-para- python.html. [14] R. Python, «Recursos Python,» [En línea]. Available: https://recursospython.com/guias-y- manuales/convertir-qtdesigner-a-codigo-python/. [15] «PyQt Soucer forger,» [En línea]. Available: http://pyqt.sourceforge.net/Docs/PyQt5/designer.html. [16] OMIE, «Modelo de Ficheros para la distribución pública de Información del mercado de electricidad». Referencias 98 [17] W. Numpy, «Wikipedia,» [En línea]. Available: https://es.wikipedia.org/wiki/NumPy. [18] W. Matplotlib, «Wikipedia,» [En línea]. Available: https://es.wikipedia.org/wiki/Matplotlib. [19] W. SciPy, «Wikipedia,» [En línea]. [20] W. PyQt, «Wikipedia,» [En línea]. Available: https://es.wikipedia.org/wiki/PyQt. [21] W. Pandas, «Wikipedia,» [En línea]. Available: https://es.wikipedia.org/wiki/Pandas. [22] Retinaicons, «Flaticons,» [En línea]. Available: https://www.flaticon.com/search?word=power%20transformer&author_id=182. [23] Smashicons, «Flaticons,» [En línea]. Available: https://smashicons.com/. [24] Freepik, «Flaticons,» [En línea]. Available: https://www.flaticon.com/search?word=logout&author_id=1. [25] Neungstockr, «Flaticons,» [En línea]. Available: https://www.flaticon.com/authors/neungstockr. [26] Smashicons, «Flaticons,» [En línea]. Available: https://www.flaticon.com/freeicon/flash_222506#term=flash&page=1&position=4.