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 ligero de portafolio cripto con PyQt6: CSV, precios en vivo y multihilo

Publicado el 08/09/2025

He estado experimentando con la biblioteca PyQt6 construyendo un pequeño proyecto personal un rastreador ligero de portafolio cripto. La idea fue migrar uno de mis scripts de línea de comandos a una aplicación de escritorio capaz de cargar un CSV con mis posiciones, obtener precios en vivo desde Kraken y visualizar todo en una tabla. Resultó una forma divertida de explorar los layouts de PyQt6, el manejo de hilos y el modelo de eventos, además de sentar las bases para escalar la herramienta.

Resumen del proyecto La aplicación ofrece tres acciones principales cargar el portafolio desde un CSV, actualizar precios consultando la API pública de Kraken y exportar el resultado a un nuevo CSV. Durante el desarrollo añadí multithreading para mantener una 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.

Interfaz principal La ventana principal se compone de una tabla para los datos del portafolio y tres botones para Cargar, Refrescar y Exportar. Internamente, la configuración inicial crea un DataFrame con las columnas symbol, amount, price y total_value y lo sincroniza con un QTableWidget mediante un layout vertical para disponer tabla y controles de forma clara.

Carga del portafolio Al pulsar Cargar se abre un diálogo de archivo, se lee el CSV con pandas y se vuelca a la tabla. Un ejemplo de CSV mínimo sería una cabecera con symbol y amount y filas como BTC 0.05, ETH 0.7, DOGE 1000. Con el logger activo, cada acción queda registrada para facilitar la trazabilidad.

Obtención de precios con multihilo Regla de oro en interfaces gráficas nunca bloquear el hilo de la UI. Como las llamadas a Kraken pueden tardar, utilicé QThreadPool con un Worker basado en QRunnable. Al pulsar Refrescar, cada símbolo del portafolio se procesa en un hilo independiente, solicitando el precio actual y devolviendo el resultado a la interfaz sin congelarla. Un archivo config.ini mapea símbolos a pares de Kraken, por ejemplo BTC a XXBTZUSD, ETH a XETHZUSD, DOGE a XDGUSD, USDT a USDTZUSD y SOL a SOLUSD, lo que simplifica el consumo de la API.

Actualización de la tabla Una vez recibidos los precios, la aplicación actualiza tanto el DataFrame como la tabla visible. Cada fila muestra el símbolo, la cantidad original del CSV, el precio más reciente y el valor total calculado como cantidad por precio. Esta doble fuente de verdad hace sencillo exportar resultados o recalcular métricas sin perder consistencia con lo que ve el usuario.

Registro de actividad Para entender qué sucede en cada paso, añadí un logger que escribe en app.log y en consola. Fue especialmente útil para depurar respuestas de la API y también durante el empaquetado con PyInstaller, donde conviene atender al manejo de recursos como el config.ini mediante el conocido truco con la ruta temporal de empaquetado.

Lecciones aprendidas El uso de hilos es crucial sin ellos, la interfaz se congelaría esperando las respuestas de Kraken. Los layouts de PyQt6 son flexibles, aunque la composición de layouts anidados requiere cierta práctica. PyInstaller funciona bien, pero hay que gestionar con cuidado los recursos embebidos. Combinar pandas con QTableWidget simplifica mantener sincronizados datos y GUI.

Demostración y código fuente Puedes ver una demostración en video en este enlace de YouTube y consultar el código completo en este repositorio de GitHub.

Cómo puede ayudarte Q2BSTUDIO Si te interesa crear una herramienta similar, migrar scripts a apps de escritorio con PyQt6 o construir paneles para tus datos financieros, en Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad, automatización de procesos, servicios cloud aws y azure, y servicios inteligencia de negocio con power bi. Nuestro enfoque en software a medida nos permite diseñar soluciones multiplataforma que integran APIs de mercado, bases de datos, agentes IA y cuadros de mando con métricas en tiempo real. Descubre cómo abordamos proyectos de aplicaciones a medida y software a medida o potencia tus casos de uso con inteligencia artificial e ia para empresas.

Si necesitas conectar tu portafolio con proveedores de datos, desplegarlo de forma segura con prácticas de ciberseguridad o integrarlo en tus pipelines en la nube, nuestro equipo puede acompañarte desde la arquitectura hasta la puesta en producción, incluyendo asesoría en servicios cloud aws y azure y la orquestación de tableros con power bi para tu inteligencia de negocio.

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