Hola a tod@s
Después de la actualización “fallida” a la versión Autocartera_Beta_V4 os traigo una nueva revisión: Autocartera_Beta_V5.
https://drive.google.com/open?id=1N8nn9ehm7leNO1p20GJGT93BPyw1VNQqT_-1j6mCi-I
No he encontrado errores en el código que pudieran ocasionar los fallos que teníamos días atrás, con la función Autocartera() (actualización diaria de la cartera). Es más, las versiones anteriores Beta_V3 y Beta_V4 ahora no provocan esos fallos, por lo que entiendo que era un problema de google.
En el proceso de búsqueda de errores en el código he encontrado fallos y he implantado alguna mejora que a continuación os detallo:
Durante la búsqueda del posible fallo pensé que igual el archivo se podía haber “corrompido”, por lo que empecé con un archivo nuevo donde copie todas las pestañas, código, etc ... y sobre él realice las mejoras.
Se divide en 2 la funcion Auto_Cartera().
Una 1ª parte Auto_Cartera(): actualiza VL fondos, calcula porcentaje actual, rentabilidad, X-Ray, VL cartera y participaciones cartera. Se incluye código para mantener la anterior VL si falla la actualización (se verá en rojo) y se modifica la copia de datos para mejorar los tiempos de ejecución.
La 2ª parte Avisos_Cartera() actualiza el histórico de las rentabilidades de los fondos y envía avisos por e-mail de caídas máximas, rebalanceos cartera y operaciones programadas pendientes. Se reduce los acceso mejorando código con array. Se incluye código para mantener el histórico anterior de los fondos si falla la actualización (se verá en rojo). Aparte de las rentabilidades se incluye la comparativa con su categoría y con su índice. Se corrige error en secuencia envio correo mensual.
La función Historicos_Cartera() envia un e-mail cuando la VL de la cartera no es un número, fallo de la actualización de la VL. Esto se produce si no se ha podido finalizar una actualización de forma correcta, por lo que no habrá histórico VL. El e-mail informará que se debe ejecutar de forma manual las Macros [TARGET] y [HISTORICOS].
Se eliminan tiempos de espera programados mejorando la velocidad de varias funciones.
Se incluye la rentabilidad y rendimiento anualizados si la diferencia entre posición A y B es mayor o igual a 1 año (pendiente para próxima revisión ajuste de datos en la hoja).
Se sustituye RENTABILIDAD por RENDIMIENTO en pestaña Rendimientos.
Se corrigen errores en el cálculo de los rendimientos cartera, cuando se sacan los datos de los históricos (errores del copy .. pega … celdas confundidas).
Se modifica la pestaña SIMULACION dividiendo la macro existente en 2. La 1ª calcula la posición de la cartera incorporando las posiciones en ESPERA menores o iguales a fecha introducida. La 2ª calcula los porcentajes, TER/OTC y diversos X-RAY’s. El porcentaje teórico se puede ir modificando, así la inclusión o la resta de nuevas aportaciones, para su comparación con la cartera simulada antes de ejecutar la 2ª macro.
Se incluye X-RAY de la diferencia entra las cartera en Posición A y B en la pestaña Rentabilidades (en versiones anteriores no había esta función).
Se cambia el mensaje del e-mail rendimientos incluyendo que los rendimientos son de la VL de la cartera.
Se incluye la pestaña GRAFICOS que muestran los siguientes gráficos:
Comparación entre VL cartera y VL Benchmark (los datos son A6:C3006 los debéis incluir vosotros).
Gráficos porcentajes Riesgo Banco y Gestora cuyos datos son obtenidos mediante consultas QUERY de la pestaña REGISTRO por lo que son iniciales, no se tiene en cuenta las ganancias o pérdidas de la cartera.
Estos gráficos son una guía y es posible que necesiten modificarse dependiendo de la cartera a realizar seguimiento (número de bancos, gestoras de la cartera, operaciones realizadas, etc).
Configurar la ejecución automática de las MACROS o funciones siguientes:
1º.- [TARGET- funcion AUTO_Cartera()]
2º.- [HISTORICOS - funcion Historico_Cartera()]
3º.- [SEGUIMIENTO - funcion Seguimiento_Cartera()]
4º.- [AVISOS- funcion Avisos_Cartera()]
Se debe mantener ese orden de ejecución ya que los datos de una funcion son usados por la siguiente.
Ejemplo: Todas las noches entre las 2:00 AM y 3:00 AM la MACRO [TARGET- funcion AUTO_Cartera()], entre 3:00 AM y 4:00 AM la MACRO [HISTORICOS - funcion Historico_Cartera()], entre la 5:00 AM y 6:00 AM la MACRO [SEGUIMIENTO - funcion Seguimiento_Cartera()] y entre la 6:00 AM y 7:00 AM la MACRO [AVISOS- funcion Avisos_Cartera()].
La forma más rápida de migrar los datos de versiones anteriores Vx a la V5 es siguiendo los siguientes pasos:
1.- Abrir las dos versiones, AUTOCARTERA_BETA_VX (anterior) y AUTOCARTERA _BETA _V5.
2.- En AUTOCARTERA_BETA_VX selecciona las filas con operaciones cargadas (PROCESADAS, EN ESPERA) de la pestaña REGISTRO.
3.- Copia dichas filas en la pestaña REGISTRO de AUTOCARTERA _BETA_ V5.
4.- En AUTOCARTERA_BETA_VX copia las filas de la pestaña HISTORICOS, con los históricos de la cartera, en la pestaña HISTORICOS de AUTOCARTERA _BETA_ V5.
5.- Cierra AUTOCARTERA _BETA_VX.
6.- AUTOCARTERA_BETA_V5, en la pestaña REGISTRO, pon todas las operaciones PROCESADAS en PENDIENTES.
7.- Ejecuta la MACRO (R) y a la pregunta de si deseas calcular la VL de la cartera responde “NO”. Ya dispones de la VL de la cartera en las operaciones.
8.- Cuando finalice la MACRO (R), ejecuta la MACRO (TARGET).
Saludos
PD: Para la próxima revisión trabajaré en la manera de realizar macros que detecten el error de tiempo de ejecución … y cuando se vuelvan a ejecutar continúen desde la última operación procesada …. vamos intentar sumar tiempos de ejecución de 6 en 6 minutos como hace la Macro (VL).