Este proyecto proporciona una herramienta automatizada para calcular las desviaciones de una cartera de inversión respecto a una asignación de activos objetivo. Utiliza datos de mercado en tiempo real para determinar las operaciones de compra o venta necesarias.
- Conexión automática con la API de Yahoo Finance para obtener precios de cierre actualizados.
- Cálculo del valor de mercado actual de cada posición y del portafolio total.
- Generación de un plan de ejecución basado en porcentajes de alocación definidos por el usuario.
- Clase Portfolio: Es el núcleo del script. Se encarga de la lógica de negocio, la obtención de datos y el cálculo de diferencias.
get_assets_price: Método que obtiene los últimos precios a través de la API de Yahoo Finance.rebalance: Procesa la aritmética financiera para comparar el estado actual versus el objetivo.print_balance_results: Gestiona la salida por consola con formato tabular.
Para ejecutar el script, se deben definir dos diccionarios: uno con las tenencias actuales (balance) y otro con la distribución deseada (target_allocation).
my_balance = {"AAPL": 45, "META": 15}
my_target_allocation = {"AAPL": 0.6, "META": 0.4}
my_portfolio = Portfolio(my_balance, my_target_allocation)
my_portfolio.print_balance_results()