Python es un gran lenguaje para realizar análisis y visualizaciones basadas en datos. También ayuda que haya una amplia gama de bibliotecas de código abierto que se pueden usar listas para usar para algunas funciones excelentes.
Python Dash es una biblioteca que le permite crear paneles web y visualizaciones de datos sin la molestia de los complejos HTML, CSS o JavaScript de front-end.
En este artículo, aprenderemos a crear un tablero de datos de acciones utilizando Python Dash, Pandas y la API de finanzas de Yahoo.
Instalación:
Instale la última versión de Pandas Datareader
pip install pandas_datareader
Instala la última versión de Dash
pip install dash
Implementación:
importar todas las bibliotecas requeridas
# importing required libraries import datetime import pandas_datareader.data as web import dash import dash_core_components as dcc import dash_html_components as html from dash.dependencies import Input, Output
Ahora hagamos una interfaz de usuario usando dash. Vamos a hacer una interfaz de usuario simple pero funcional, una será un título de encabezado simple y un cuadro de texto de entrada para que el usuario escriba los nombres de las acciones.
# UI app = dash.Dash() app.title = "Stock Visualisation" app.layout = html.Div(children =[ html.H1("Stock Visualisation Dashboard"), html.H4("Please enter the stock name"), dcc.Input(id ='input', value ='', type ='text'), html.Div(id ='output-graph') ])
El cuadro de texto de entrada ahora es solo un cuadro de texto estático. Para obtener los datos de entrada, que en este caso es el nombre de las acciones de una empresa, desde la interfaz de usuario, debemos agregar devoluciones de llamada de la aplicación. El nombre del stock leído ( input_data ) se pasa como parámetro al método update_value . Luego, la función obtiene todos los datos bursátiles de la API de Yahoo Finance desde el 1 de enero de 2010 hasta ahora, el día actual, y se almacena en un marco de datos de Pandas. Se traza un gráfico, siendo el eje X el índice del marco de datos, que es el tiempo en años, el eje Y con el precio de cierre de la acción de cada día y el nombre del gráfico es el nombre de la acción ( input_data ). Este gráfico se devuelve al contenedor de devolución de llamada que luego lo muestra en la interfaz de usuario.
Código:
def update_value(input_data): # Reads stock prices from 1st January 2010 start = datetime.datetime(2010, 1, 1) end = datetime.datetime.now() # Read stock data from yahoo's finance API from start to end df = web.DataReader(input_data, 'yahoo', start, end) return dcc.Graph(id ="example", figure ={ 'data':[{'x':df.index, 'y':df.Close, 'type':'line', 'name':input_data}, ], 'layout':{ 'title':input_data } } )
Código: finalmente, ejecute el servidor.
if __name__ == '__main__': app.run_server()
Ejecución:
la aplicación web ahora se ejecutará en el host local en 8050 de manera predeterminada.
127.0.0.1:8050
Ejemplo:
Consideremos un ejemplo. El nombre común de Google es GOOGL. Ingresemos estos datos en el cuadro de texto de entrada.
A continuación se muestra el resultado.
Publicación traducida automáticamente
Artículo escrito por rahulhegde97 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA