Bienvenido a SPAIN AI

DESCUBRE LA INTELIGENCIA ARTIFICIAL APLICADA

Conecta con Expertos | Descubre Startups | Comparte experiencias



Sobre Nosotros

SPAIN AI es una asociación sin ánimo de lucro que nace en 2017 con la idea de democratizar la IA en toda España.

Contamos con más de 9000 personas en la comunidad tanto del entorno académico como de diversas compañías incluyendo las principales referencias en IA.

¿Eres el mejor Data Scientist
en Series Temporales?


Demuestra tus habilidades como Data Scientist en el reto de Series Temporales


En este reto no se pide una simple predicción de evolución de una serie, sino la creación de una estrategia de inversión/desinversión/rebalanceo de activos.

Los datos que se proporcionan son: Velas OHLC horarias, así como los atributos de inversión en temporalidad diaria para los 100 activos. En ambos casos el train_set lo componen los primeros 12 meses y el test_set corresponden con los últimos seis meses, aunque esto puede variar en función de la profundidad disponible de los datos: no todos los datos cuentan tienen informados los mismos periodos de tiempo.

Este es el primer hackathon que lanzamos desde Spain AI, por lo que es seguro que hay puntos mejorables, aclaraciones y hasta posiblemente algún ajuste que tengamos que hacer durante la competición, por lo que os pedimos que seáis comprensivos ya que intentamos hacerlo lo mejor posible, aunque queremos avisaros de antemano por si tuviésemos que hacer alguno de estos ajustes durante el reto.

¿Quieres saber más?
Sigue leyendo.
Descárgate los datos
Apúntate al reto
Avísame cuando haya novedades sobre los retos

Preguntas Frecuentes del reto de SERIES TEMPORALES


¿Es el típico problema de predecir la evolución de una serie?
No. Realmente no se trata de realizar una predicción de una serie temporal, sino de ver la evolución para un conjunto de elementos (DARWINS), eligiendo también la acción a realizar para obtener el mayor beneficio sobre una cartera de valores.

Cuéntame algo más
Tendrás dos conjuntos de datos las velas horarias (OHLC: Open, High, Low, Close) y atributos de inversión, con información diaria.

Las velas OHLC aportan información de un año y medio aproximadamente: la fecha de inicio depende del activo. La fecha de fin para todos los activos es 2020-06-17 23:00:00. Ten en cuenta que no todos los ficheros proporcionados tienen informados los mismos instantes de tiempo, algunos empiezan antes que otros, por lo que deberás usarlos como creas conveniente, y esto es otro punto adicional que deberás considerar de cara a resolver el reto.

Los atributos de inversión aportan información diaria (de las 21:00) donde se puede ver los KPIs (indicadores) del comportamiento del portfolio.

Tendrás un dataset de train con la información descrita: tanto velas horarias como información de los atributos de inversión, aunque la temporalidad de la información varía, por lo que deberás tener esto en cuenta.

No proveemos dataset de test ya que se pide predecir la composición de la cartera en el tiempo, tal y como se detalla en el ejemplo del fichero submission.csv (dentro de "submission.zip", incluido en el ZIP con todos los datos).

El fichero submission proporcionado cuenta con valores elegidos al azar, aunque sirve como plantilla para entender qué se espera.

En cada línea del fichero de submission, la primera columna debe ser el timestamp horario. El resto de columnas corresponden a cada uno de los 18 activos que componen la cartera (REU, VRT, EEY, JTL, SEH, BSX, OJG, UEI, HQU, ZXW, LEN, YEC, UYZ, LWK, ACY, HEO, FIR, BGN).

En la columna de cada activo (REU, VRT, EEY, JTL,...) deberemos indicar el porcentaje del patrimonio a invertir en dicho activo en cada momento del tiempo (cada fila es un momento del tiempo).

Para cada fila (cada momento de tiempo), el total invertido entre el conjunto de activos debe sumar 1. Siempre sumará uno ya que en el caso de que nuestro patrimonio aumente (si hacemos buenas inversiones), o si disminuyese (por pérdidas o por que hacemos retiradas de dinero) el total destinado a la inversión seguiría siendo un 100%, por eso ese 100% destinado a la inversión se reparte entre los diferentes activos de la cartera.

En el caso de que no se quiera invertir en un activo de la cartera en un momento dado, el valor de la inversión sería de 0.0 (no blanco).

En el caso de que se manden valores que no se puedan computar, el resultado de la ejecución será "nan", pero esto contará como un envío de cara al total de envíos que se permiten para el reto.

Se permite un total de 100 envíos, con un máximo de 5 envíos por día para cada usuario.

Para identificar a la persona que mejor ha conseguido optimizar la cartera de inversión se va a usar el Sharpe Ratio.

Como sabemos que es un reto complicado, en caso de que el algoritmo no pueda realizar predicciones en un horizonte temporal lejano la sugerencia es mantener el valor de la última predicción en el tiempo, por lo que a partir del día X, la configuración de la cartera no variaría.

¿Quiere esto decir que tengo que realizar diferentes series temporales para cada activo de la cartera?
No es necesario, pero es una aproximación. Hay que tener en cuenta que el conjunto de las inversiones deben sumar 1 en total, por lo que en caso de hacer varias series temporales tendrás que normalizar los resultados a invertir en cada activo (cada fila suma "1").

Parece complicado ¿Algún consejo?
Podéis acceder a la página que ha creado Darwinex con varios enlaces de utilidad que podéis consultar para tener algún consejo e información adicional sobre los DARWINS, así como ideas para enfocarlo.

No termino de entender cómo empezar ¿Hay alguna referencia para ver cómo enfrentarme al reto?
Hay varios recursos online que podéis consultar:
A Beginner’s Guide to Data Science in the Portfolio Management Process.
Investment Management with Python and Machine Learning Specialization.
Machine Learning in Asset Management — Trading Strategies.
AI for portfolio management: from Markowitz to Reinforcement Learning.

¿Entonces puedo enviar las filas que quiera?
No. El conjunto de filas a enviar debe ser el mismo para todos los participantes. Si tu algoritmo manda más filas de la cuenta, solo serán tomadas en consideración las filas de los 6 meses que espera el programa de evaluación. Si mandas menos filas se producirá un error.
Si tu programa no puede predecir correctamente en un universo temporal de 6 meses, la recomendación es repetir la última predicción N-veces, ya que sino el envío no será evaluado adecuadamente.

¿Cómo es el formato de los datos que tengo que enviar?
Puedes encontrarlo en el ZIP de los datos. Mira el fichero llamado "submission.zip". El programa de evaluación espera recibir un fichero ZIP con el nombre que quieras, pero al descomprimirlo debe haber un fichero llamado "submission.csv", donde la primera fila tendrá la cabecera del timestamp ("eod_ts"), seguida de las cabeceras de cada uno de los activos ("allo_REU", "allo_VRT", "allo_EEY", "allo_JTL", "allo_SEH", "allo_BSX", "allo_OJG", "allo_UEI", "allo_HQU", "allo_ZXW", "allo_LEN", "allo_YEC", "allo_UYZ", "allo_LWK", "allo_ACY", "allo_HEO", "allo_FIR", "allo_BGN"), respetando ese orden.
En las siguientes filas se deberá incluir el timestamp horario seguido del porcentaje a invertir en cada activo en ese momento de tiempo.
Los timestamps horarios deben seguir el formato indicado: YYYY-MM-DD HH:MM:SS (ej: "2020-08-18 00:00:00", "2020-08-18 01:00:00",...).

¿Qué métrica se va a usar?
La métrica que vamos a usar es Sharpe Ratio.

Podéis leer más sobre esta métrica en este enlace https://www.investopedia.com/terms/s/sharperatio.asp.

Para cada línea del fichero que nos envíes, vamos a ver qué beneficios ha generado en base a la configuración que se nos diga de la cartera.

Aclaración: A la hora de calcular el rendimiento nos basamos en la variación histórica de la cotización de los productos.

Aclaración 2: Las predicciones se van a validar en un orden similar al del fichero de submission de ejemplo, por lo que deberéis aseguraros de estar generando los valores en la columna apropiada para cada uno de los activos que incluyáis en la cartera (que pueden ser los que elijáis, poniendo el nombre apropiado en la columna de cada activo sin tener que usar los mismos 18 del fichero de ejemplo). Igualmente en el caso de que las fechas no las hayáis introducido correctamente, el resultado no será el esperado, por lo que es importante que reviséis el formato de los datos.

Aclaración 3: En los envíos, la plataforma espera un fichero .zip cuyo contenido sera un fichero llamado "submission.csv". De no ser así, la plataforma no podrá evaluar el envío.

Aclaración 4: En los envíos, si se produce algún error de los anteriormente mencionados podéis ver qué está pasando mediante la opción "View scoring output log", donde hemos tratado de aportar información para que podáis corregir el fichero y que sea evaluado correctamente.

Aclaración 5: Si queréis saber más del significado de las features en el directorio TrainScores podéis mirar la página de Darwin, en concreto la sección de Investment Attributes


¿Hay algo más que no haya quedado bien explicado?
Si hay cualquier punto que creas que es confuso, puedes escribirnos a info@spain-ai.com


¿Cuales son las bases del hackathon?
Los términos y condiciones generales para participar en el hackathon son muy similares a los de otras plataformas, según se describen en nuestro aviso legal, disponible online.
Si no quieres leer todo el documento de aviso legal para identificar los puntos relativos al hackathon, lo más importante es que no hagas trampas, y que tengas en cuenta que a los ganadores con opción a premio puede que se les solicite el código para validar la solución, aunque este punto dependerá de la empresa que haya compartido el dataset del reto, como condición para reconocerle formalmente ganador.

Nuestros Organizadores y Comité Asesor


Organizadores


Comité Asesor


Patrocinadores








Medimos el rendimiento del sitio con cookies para mejorar la funcionalidad. Puedes continuar utilizando el sitio o hacer clic en Sí para aceptar.