Rastreador de Portafolio Cripto con PyQt6

Rastreador de Portafolio Cripto en PyQt6: una app de escritorio ligera que carga CSV de holdings, consulta precios en vivo de Kraken con multihilo y visualiza los datos en una tabla sincronizada con pandas; incluye mapeo con config ini, exportación a CSV, registro y empaquetado con PyInstaller.

8 sept 2025 • 3 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat