Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

portfolio-manager

Portfolio Manager es una herramienta de gestión de portafolio de inversión autoadministrable, construida con FastAPI + Python backend y frontend HTML5/JS. Soporta múltiples activos, cálculo FIFO de costos, reconciliación con IBKR Statements y dashboards interactivos.

Ficha actualizada 23 sept 2026, 12:35 · upstream 23 sept 2026, 12:21 · release v2.1.6

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es portfolio-manager

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Este repositorio contiene un sistema de gestión de portafolio de inversiones diseñado para ser autoadministrado localmente. El proyecto se construye sobre una arquitectura moderna que combina un backend en Python (FastAPI) con un frontend basado en HTML5, Vanilla CSS y JavaScript. La aplicación permite la creación, edición y eliminación de transacciones de activos, el cálculo del costo base FIFO, la generación de reportes financieros mensuales y anuales, así como la sincronización automática con las Statements de IBKR a través de su SDK oficial.

El sistema se estructura en un diseño modular donde los cálculos financieros (costos, ganancias, conversiones de moneda) se separan del frontend, lo que facilita la escalabilidad. Se utiliza una base de datos SQLite para persistir el estado del portafolio y las transacciones, con soporte para múltiples activos y grupos temáticos.

La integración con Interactive Brokers es central en el diseño, ya que permite sincronizar posiciones, dividendos y movimientos de capital directamente desde la plataforma de trading. Además, se incluyen herramientas para realizar backtests históricos sobre los activos subyacentes y calcular escenarios de estrés financiero.

CASOS DE USO
  • Gestionar un portafolio de acciones con múltiples tickers en una sola vista
  • Calcular costos base FIFO y ganancias de capital (realizadas)
  • Reconciliación automática entre el portafolio local y las Statements de IBKR
  • Visualización de dividendos mensuales y anuales con calendario interactivo
  • Cálculo de exposición a opciones y pruebas de estrés financiero
  • Backtesting histórico sobre los activos subyacentes del portafolio
  • Gestión manual de transacciones sin depender de APIs externas
PUNTOS DESTACADOS
  • Soporte completo para Interactive Brokers mediante SDK ib_async, con sincronización bidireccional de posiciones y dividendos
  • Cálculo FIFO (First-In-First-Out) de costos base que permite reasignar activos cuando se venden o compran
  • Dashboard en tiempo real con visualización de candlesticks sobre el precio del activo, mostrando todas las transacciones históricas superpuestas
  • Integración con Yahoo Finance para obtener precios y datos de mercado sin dependencias externas
  • Soporte para múltiples brokers (IBKR, Moomoo) mediante archivos CSV o API manual
  • Interfaz web completa en HTML5/JS que no requiere instalación de Node.js ni Python
PRECAUCIONES
  • No incluye autenticación de usuarios ni control de acceso multiusuario por defecto
  • Las transacciones históricas se almacenan manualmente y no se sincronizan automáticamente con brokers externos
  • La integración con Yahoo Finance es limitada a precios básicos sin datos intradía detallados
  • El cálculo FIFO puede generar resultados incorrectos si las transacciones no están ordenadas cronológicamente
  • No incluye funcionalidades de trading activo como órdenes de compra/venta o alertas de precio
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Para ejecutar el proyecto, se recomienda usar Docker Compose. Se ejecuta un contenedor que inicia FastAPI en modo desarrollo con la URL `http://127.0.0.1:8080`. El archivo SQLite persiste en el directorio `./data` del host. Para producción, se debe desplegar el contenedor en un servidor de forma estática (Nginx + Docker) y configurar variables de entorno como `BASE_PATH`, `PORTFOLIO_DB_FILE` y `exchange_rates_file`. Se recomienda ejecutar la aplicación en modo production con `uvicorn app:main_app --host 0.0.0.0 --port 8080 --reload` o desplegar el contenedor en un servidor de producción. El proyecto soporta configuraciones dinámicas mediante archivos JSON en `data/config.json`, permitiendo personalizar rutas, permisos y servicios externos sin reiniciar el servicio.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsVueFastAPIPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
8080
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.