POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Rastreador de Portafolio Cripto con PyQt6

Rastreador de Portafolio Cripto con PyQt6: interfaz reactiva, multihilo y precios en tiempo real de Kraken

Publicado el 08/09/2025

He estado experimentando con la librería PyQt6 desarrollando un proyecto ligero: un Rastreador de Portafolio Cripto. La idea fue migrar uno de mis scripts de línea de comandos a una aplicación de escritorio real, cargar un CSV con mis posiciones, obtener precios en vivo desde Kraken y mostrar todo en una tabla.

Resultó ser una forma práctica de explorar layouts de PyQt6, threading y manejo de eventos, creando una base sólida para aplicaciones a medida y software a medida de escritorio.

Resumen del proyecto: la app ofrece tres acciones principales Cargar Portafolio para importar un CSV con holdings, Refrescar Precios para consultar el API de Kraken y Exportar CSV para guardar los datos actualizados. Añadí multithreading para mantener la interfaz fluida, un sistema de logging y un archivo de configuración para mapear los símbolos del portafolio con los pares de trading de Kraken.

Núcleo de la interfaz: la ventana principal utiliza un QTableWidget para los datos del portafolio y tres botones para Cargar, Refrescar y Exportar, todo organizado en un VLayout sencillo. Los datos viven en un DataFrame de pandas con columnas symbol, amount, price y total_value, y la tabla se mantiene sincronizada con el DataFrame.

Carga del portafolio: al pulsar Cargar se abre un diálogo de archivos, se lee el CSV con pandas y se pinta en la tabla. Un CSV mínimo puede incluir las columnas symbol y amount con ejemplos como BTC 0.05, ETH 0.7 y DOGE 1000. El logger registra la ruta y el resultado de la carga para facilitar la depuración.

Obtención de precios con multihilo: regla de oro en GUIs no bloquear el hilo de la interfaz. Consultar la API de Kraken puede tardar, por lo que uso QThreadPool y un Worker basado en QRunnable. Al pulsar Refrescar, cada símbolo del portafolio se procesa en un hilo independiente. Previamente, cada símbolo se mapea a su par de Kraken mediante el archivo de configuración y se ejecuta el proceso que actualiza la información del par. De este modo la UI permanece siempre receptiva.

Ejemplo de mapeo en config ini para Kraken Symbols BTC a XXBTZUSD, ETH a XETHZUSD, DOGE a XDGUSD, USDT a USDTZUSD y SOL a SOLUSD. Este mapeo evita ambigüedades de nombres entre exchanges y normaliza las consultas.

Actualización de la tabla: una vez obtenidos los precios se actualizan el DataFrame y el QTableWidget. Las columnas visibles son symbol, amount, price y total_value, donde total_value se calcula como amount por price. Las cabeceras se sincronizan automáticamente con las columnas del DataFrame para mantener la coherencia.

Registro y empaquetado: el sistema de logging escribe tanto en consola como en un archivo app log, útil para comprender respuestas del API y detectar problemas de red. Para distribución, PyInstaller funciona bien, pero hay que cuidar recursos como el config ini empleando el conocido truco de sys _MEIPASS.

Lecciones aprendidas: el multihilo es crítico para evitar congelar la UI mientras llegan respuestas de Kraken; los layouts de PyQt6 son flexibles, aunque los anidados requieren ensayo y error; PyInstaller exige gestionar recursos externos con mimo; integrar pandas con QTableWidget simplifica mantener GUI y datos en sincronía.

Demostración y código fuente puedes ver un breve video de la app en esta demo en YouTube y consultar el repositorio completo en GitHub del proyecto.

Sobre Q2BSTUDIO en Q2BSTUDIO impulsamos soluciones de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio con power bi, automatización de procesos, ia para empresas y agentes IA. Convertimos prototipos como este rastreador cripto en productos listos para producción, robustos, seguros y escalables.

Si quieres crear una aplicación de escritorio o multiplataforma con integración de datos en tiempo real, te invitamos a explorar nuestro servicio de desarrollo de software a medida y aplicaciones multiplataforma. Y si deseas incorporar capacidades de modelos avanzados, asistentes y agentes IA a tus soluciones, descubre cómo lo hacemos en inteligencia artificial para empresas.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio