Objetivo del proyecto
1. Realizar simulaciones de estrategias de activos financieros.
Las simulaciones consisten en detectar señales de compra y venta asignando el capital total definido. Calcular la ganancia en dinero y en %. Anualizar la ganancia en dinero y en %.
Definir la cantidad de operaciones totales. Catalogar las operaciones en ganadoras y perdedoras. Calcular la Esperanza Matemática (EM=Ganancia/cantidad de operaciones).
Definir la ganancia máxima y la perdida máxima. Calcular la ganancia con la estrategia comprar y mantener (implica comprar con la primer señal de compra y vender con el último precio). Calcular la cantidad de días dentro del mercado y fuera.
- Los tipos de simulaciones son: ema, sma, wma, vwap
- las temporalidades podrán ser de 1min, 5min, 15min, 30min, 60min, daily, weekly, monthly
- se debe poder configurar la cantidad de sesiones que debe tomar siendo de 1 a 1500 sesiones.
- Se deberá setear un capital inicial, una comisión de entrada y otra de salida en formato de porcentaje
- Se podrá configurar el tipo de precio: Apertura, cierre, máximo y mínimo.
- Se ejecuta de a una simulación por vez, cuando se termina una se empieza con la segunda.
2. Obtención de resultados y almacenamiento de los mismos
3. El software debe tomar la información desde una api externa (la api ya está definida es
https://www.alphavantage.co/), realizar la simulación en el software y mostrar los resultados.
4. Es importante considerar para el desarrollo que debe existir una sección de configuración donde se pueda configurar una o más apikey y se puedan cargar las características de las diferentes apikey (cantidad de peticiones máximas por minuto) y que en función a esta configuración el software deba coordinar las peticiones. Se deben poder colocar un máximo de 15 APIKEY.
Ejemplo 1: si se configura una APIKEY donde la cantidad de peticiones por minuto es 30 y se requiere para la simulación de una estrategia ejecutar 61 peticiones, se debe generar la cola de peticiones, tomar 30 ejecutar las peticiones, esperar un minuto, tomar las segundas 30 ejecutar las peticiones, esperar un minuto, tomar la última petición encolada y ejecutar la petición.
Ejemplo 2: si se configuran dos api donde la cantidad máxima de peticiones por minuto por api es 5 y para una determinada estrategia necesito ejecutar 14 peticiones, entonces en el primer minuto, se toman 5 peticiones y se ejecuta con una api, luego se toman las segundas 5 peticiones con la segunda api y se ejecutan las peticiones, se espera un minuto, se toman las 4 peticiones restantes y se ejecutan con la primer api.
5. El software debe tener un módulo para modificación (mail o password) de un único usuario
6. El software es web responsivo
Plazo de Entrega: 14 Febrero, 2020