Lo mejor de la Universidad no fue lo que aprendí en las aulas. Eso se aproxima más bien a cero.

Me viene a la cabeza una frase de Nassim Taleb: «de los libros que me obligaron a leer apenas recuerdo nada. En cambio, de los libros que leí porque los elegí, lo recuerdo prácticamente todo».

Si pudiera regresar atrás para borrar aquella época tan oscura en la que tiré cientos de horas a la basura lo haría de un plumazo. Y esta vez aprovecharía aquel tiempo tan valioso que nunca volverá.

 

Lo mejor de aquellos años fueron las personas que allí conocí. Pero de lejos.

Gracias a la Universidad hice amigos para toda la vida. Amistades sólidas que he conservado en Madrid, en Santander, y en otros lugares del mundo.

Uno de esos amigos fue Pedro, un cordobés con el que coincidí en Sheffield durante el año Erasmus.

Él estudiaba teleco y al poco de terminar la carrera le ficharon en Belgacom. Bruselas fue su destino.

Se dedicaba a hacer trading con minutos de llamadas telefónicas. Sí, era un empleo muy curioso.

La explicación viene por los cables que van por debajo del mar entre Europa y América: tienen cabida para un número limitado de minutos de teléfono. Y si a una compañía le sobran, se los vende a otra que los necesita.

Por ejemplo, si Vodafone necesita 2.000 minutos para el tramo internacional entre Canadá y Holanda y Orange los tiene comprados.. ya está el trato hecho.

Cuando llevaba un par de años en Belgacom le propusieron un cambio: dar el salto al otro lado del charco. No se lo pensó dos veces. Pedro se marchaba a trabajar a Nueva York.

Al poco de mudarse llegaría el verano y a mi se me iba a quedar por delante un julio y agosto tontos. Acababa de terminar un trabajo de 6 meses como comercial para un bróker de CFD – sí, era el pesado que te llama a mediodía para venderte algo que no te interesa – y tenía toda la pinta de que en julio no me iban a coger a trabajar en un sitio.

Pedro me invitó a visitarle y estaba dudando si hacerlo o no. Con lo que había ahorrado de telefonista me daba para el vuelo de ida y vuelta a Nueva York.

Mis padres me animaron. Cuando les conté el plan me dijeron algo así como que oportunidades como aquella se me iban a presentar pocas veces en la vida.

Luego, con el paso de los años, entendí su consejo.

Allí me planté, en la tierra de la libertad. Estuve tres mesecitos durmiendo en el sofá de Pedro en un pequeño apartamento en Hoboken, al otro lado del río Hudson. Desde un  parque muy cerca de su casa se contemplaba el imponente Skyline de Manhattan.

Me convertí en su chacha. Le limpiaba, le cocinaba y a cambio, él me daba alojamiento. Los dos ganábamos, hicimos un bonito tándem.

 

Te cuento esta historia de mi estancia en Nueva York porque recuerdo a la perfección un evento al que acudí sobre el Bitcoin en la gran manzana.

Una tarde estaba paseando por la zona de Wall Street cuando vi un local a rebosar. Estaba completamente lleno. No cabía un alfiler.

De aquellas apenas había escuchado hablar de las Criptodivisas. De hecho casi nadie sabía de lo que trataba aquella conferencia.

 

Pero me fijé en una cosa, la clave del éxito del evento no era la temática. Había otra cosa que me llamó poderosamente la atención:

Regalaban pizza y cerveza.

Desde entonces aplico una máxima. Cuando conozco algún organizador de eventos que necesita un lleno absoluto sólo le digo que haga estas tres cosas:

  1. Dar cerveza
  2. Dar pizzas
  3. Y darlo gratis

 

Así conocí a Ivan

Fuera bromas, al protagonista de hoy le conocí en un evento organizado por Darwinex.

En cuanto le vi sabía que me sonaba de algo, aunque no sabría decirte de qué. Creo que de haberle visto en Twitter, pero tampoco estoy muy seguro.

Tuvimos la suerte de conectar enseguida y de emplazarnos a una pronta reunión para charlar tranquilamente.

 

Por cierto, a aquel evento no hubiera hecho falta que me regalaran nada para acudir.

Desde hace muchos años soy fan absoluto de la compañía del bichito azul. Allí todos los que estábamos sabíamos de qué nos iban a hablar: la presentación de su nuevo producto.

Sobre estos genios poco más puedo decir. Mejor escucha a sus fundadores, con quien pasé una mañana en la sede, a un paso de la Puerta de Alcalá:

Una charla con Ivan García Ferreira. El trader algorítmico que utiliza Machine Learning

Lo primero, ¿qué pasos has ido dando para llegar donde estás?

Ahora mismo estoy en Barcelona, pero antes de asentarme aquí he dado bastantes vueltas.

Estudié programación y mi primera experiencia fue en 2008, en Bilbao. Entré en el departamento de Ciber-Seguridad del antivirus Panda. Por aquel entonces era bastante conocido.

Estuve dos años y lo dejé para hacer un Máster en Deusto.

Después me dieron la posibilidad de hacer un Doctorado con una buena beca, así que me lancé de cabeza.

Todavía no lo había terminado cuando me llamaron de Bankia. Acepté su oferta y me pasé ocho años en Madrid.

Después llegó la fusión con Caixabank y como mi mujer estaba en Barcelona… ya sabes lo que dice el refrán.

¿Llegaste a estar en Caja Madrid?

No, la fusión de las Cajas fue en 2009 y yo entré en 2015. Bankia no sólo venía de Caja Madrid, sino que se habían juntado siete cajas (Canarias, Laietana, La Rioja, Ávila, Segovia y Bancaja).

Era un batiburrillo de mucho cuidado todos los datos que teníamos.

Por cierto, muy buen artículo el que constaste cómo fue su quiebra y el final de las cajas de Ahorro.

¿Y cómo viviste la fusión de dos gigantes como Bankia y CaixaBank?

Fue una bestialidad. Había muchísimas cosas a tener en cuenta.

Eran dos bancos totalmente diferentes y tenerlo todo bien atado era un reto tremendo.

Todos los datos tenían que traspasarse al milímetro.

Imagínate que mañana tu cuenta aparece sin un euro.. ¡o tiene un millón más!

¿Y en el aspecto de la seguridad?

Te voy a reconocer una cosa: en el momento de la fusión era el momento perfecto para que los malos pudieran atacarnos.

Teníamos muchas cosas cogidas con pinzas.

Además, sabíamos que había mucha gente dedicada al phishing para hacer picar a los clientes.

Fue duro, pero aprendí mucho

¿Cómo fue la combinación de equipos a tu nivel, el de la Ciber-Seguridad?

Al principio había reuniones para saber qué tenía cada banco, por un lado Bankia y por el otro CaixaBank.

Intentamos unir fuerzas compenetrándonos: «Oye, nosotros tenemos esto y nosotros esto otro, vamos a ponernos de acuerdo para juntarlo».

Al final los dos equipos se fusionaron.

Pero claro, no había sitio para todos y tampoco querían despedir al personal por cuestiones de reputación. Ya sabes, para no salir en las noticias.

Entonces crearon una nueva entidad, CaixaBank Tech. Es una especie de consultora tecnológica.

A muchos les recolocaron allí.

 

Un Doctor en Informática y Telecomunicaciones con una tesis de lo más enrevesada

¿En qué consiste tu tesis doctoral?

Te anticipo que fue un poco ida de olla.

Como estaba centrado en Ciber-Seguridad quería buscar errores en los programas.

Me refiero a los típicos errores de los que luego se aprovechan los hackers para entrar y liarla.

Mi objetivo era hacer un programa que los detectase.

Pero a su vez no quería que mi programa tuviera errores.

Entonces utilicé un lenguaje de programación que es medio matemático. Por cada función que haces programando pasas unos tests y matemáticamente sabes que no va a fallar nunca.

Por cada trocito de código iba comprobando matemáticamente que era perfecto y que no iba a tener ningún fallo de programación.

Lo más gordo es que inventé un lenguaje en lógica matemática para buscar los errores

Le decía: si sucede esto y esto, y si más adelante sucede esto otro pero NO esto, entonces es un error.

Con estas fórmulas matemáticas iba recorriendo todas las posibles ejecuciones que podías hacer de un programa.

Y si encontraba el momento en que se producía un fallo, bingo.

Ivan Garcia Ferreira coronado como «Doctorado de Informática y Telecomunicaciones»

¿El programa al final funcionó o se rompía por algún sitio? Después de cuatro años de investigación..

Iba bien, iba bien, pero fueron muchísimas horas para hacerlo.

Lo más complejo era comprobar que cada pequeña parte del programa fuera correcta.

Además muy poca gente podía ayudarme. Ya no sólo en España, ni siquiera encontraba referencias a nivel mundial.

El problema es que tampoco quieres decir lo que estás haciendo para que no te copien la idea. Era difícil preguntar.

Te entró la paranoia esta de «Que nadie me copie»

Si, si. Eso es una obsesión continua.

Estábamos todos emparanoiados con «Que no me pisen la idea, que no me pisen la idea»

Es una locura.

Y cuando terminas, ¿qué haces con el programa? ¿Lo vendes?

No. La Universidad se queda con los derechos.

Yo tengo el código y lo podría volver a hacer.. pero salí tan quemado que no quiero saber nada más.

Ahora lo recuerdo con cariño, pero estuve dos años sin querer tocar el tema.

Estaba en la universidad de 8 a 8, me iba a casa a cenar y los fines de semana como cerraba la universidad me los pasé visitando las bibliotecas de Bilbao para seguir tirando código.

Los últimos dos años, cuando tenía que apretar, fueron así.

Y luego llegó efecto rebote

Si. Durante dos años no quise saber nada.

Ni investigación ni leches. Sólo quería disfrutar de la vida.

Presenté la tesis doctoral en junio y fui a ver a mi familia. Quería hacer todo lo que pudiera hacer en ese verano.

Quería aprender a hacer surf, salir en bicicleta, bajar el Sella… Me apuntaba a todos los planes.

Pensaba: «Ahora tengo tiempo libre, al fin puedo vivir la vida»

Todo esfuerzo tiene su recompensa.. con una buena sidra asturiana

Ivan nos cuenta qué es el Machine Learning

Te defines como experto en Machine-Learning.

Si. Me viene del doctorado

Yo no hacía Machine-Learning, pero tenía compañeros que sí lo hacían y aprendí de ellos.

¿Qué le decimos a alguien de a pie en qué consiste el Machine Learning?

Consiste en recopilar muchísimos datos para hacer que un programa sea capaz de dar una respuesta no programada por ti mismo.

Lo que hace es buscar fórmulas matemáticas que lleve a unas determinadas soluciones.

Tú puedes hacer un programa que te devuelva los cuadrados. Si le metes el 2 te devolverá el 4. Si le metes el 3 te devolverá el 9.

Pero.. ¿qué pasa si le metes un valor no definido?

El Machine Learning lo que haría es buscar un resultado con los datos disponibles.

Para eso hay tres formas de hacer Machine Learning

 

Método 1 de Machine Learning: que tengas los datos etiquetados.

Esto es muy costoso.

Imagina que tienes un millón de datos y tardas dos segundos en poner cada etiqueta. Pues ya son dos millones de segundos que debes dedicar. 550 horas.

Por ejemplo, yo te doy un millón de imágenes y las etiqueto como si esa imagen es un gato o no es un gato.

Y voy una por una etiquetándola como gato, o no gato.

Entonces la máquina va a ir aprendiendo a etiquetar. Va a aprender a diferenciar si es un gato o no es un gato.

Esto que me estás contando es como el reconocimiento facial

Efectivamente.

Ahora tu propio móvil detecta las caras y te dice quién está en la foto.

Eso es Machine Learning, ya que hay un algoritmo detrás que ha aprendido a detectar esas caras.

Cuantos más datos le pases, más eficaz va a ser reconociendo la cara.

 

Método 2 de Machine Learning: no tienes los datos etiquetados

Imagínate que tienes una cesta enorme con 600 frutas. Y sólo tienes manzanas, naranjas y plátanos.

El algoritmo lo que va a hacer es segmentar los datos y agrupar por un lado las manzanas, por otro lado las naranjas y por otro lado los plátanos.

Es como si generara 3 cestas diferentes y fuera colocando la fruta en cada una de ellas.

Quizás en alguno se equivoca porque un plátano está todavía verde y parece una manzana.. o una manzana es demasiado redonda y te lo marca como naranja.

Esos son los fallos de la inteligencia artificial. Por eso siempre hay que estar encima, para supervisar todo lo que hace.

 

El tercer método es el aprendizaje por refuerzo

Aquí tú no le enseñas nada. Sólo le das el entorno en el que se tiene que manejar y le das recompensas o penalizaciones.

Imagínate que te pones a jugar al Mario Bros. Tienes un escenario y los botones para jugar.

Al principio sólo da un salto y si le matan, penalización.

Pero si consigue coger una seta, le das una recompensa. Entonces el robot aprende a coger una recompensa.

Si le vas poniendo recompensas, por ejemplo, que salta un foso, le das otra.

Si se le acaba el tiempo: penalización.

Avanza la pantalla: le das pequeñas recompensas.

La clave es saber cuándo poner una recompensa o una penalización. Y dejar que el robot aprenda si lo está haciendo bien o mal.

Es como adiestrar a un perro, ¿no?

Exactamente lo mismo.

Si te da la patita le das una galleta.

Si te hace caso con sentarse, le das una galleta.

Vale, pero.. ¿cómo recompensas a un programa informático? No le puedes dar galletas..

El objetivo del programa es conseguir la máxima puntuación posible.

Si le das recompensas él aprenderá las mejores formas para conseguirla.

Y si le penalizas en los sitios donde pierde puntuación, los evitará.

El programa explorará todas las posibilidades y tomará el camino que le lleve a la mayor recompensa.

Esto es como hacer bucles, ¿no?

Si. La programación en Machine Learning siempre son bucles.

Son entrenamientos de millones y millones de bucles.

Son pruebas constantes. Una y otra vez.

En el aprendizaje por refuerzo puede tirarse días aprendiendo. Y luego tú miras cómo lo ha hecho.

Y claro, no será lo mismo enseñar a una máquina a jugar al tres en raya que a jugar al ajedrez. En el ajedrez son millones las posibilidades.

En mi blog tengo un vídeo en el que muestro una introducción al Machine Learning con un juego en el que un coche debe salir de un valle en el que se encuentra atrapado:

Una visión optimista de la Inteligencia Artificial

La Inteligencia Artificial ha llegado para quedarse y desde donde estamos sólo va a ir a más.

¿Cuánto tiempo crees que le queda a tu trabajo?

Buena pregunta al hueso sí señor, jeje.

Mira, ahora mismo todo el mundo está pensando que Chat GPT nos va a quitar el trabajo.

Yo lo que creo es que hay que adaptarse.

Es una herramienta de trabajo muy potente que nos va a hacer las cosas más sencillas para que nosotros podamos dedicarnos a cosas más complejas.

Está pasando lo que ocurrió en su día con las calculadoras.

Los matemáticos, economistas, contables.. todos aquellos que hacían cálculos simples pensaron que se iban a quedar sin trabajo.

Y quien no se adaptó efectivamente se quedó sin trabajo porque nadie va a poder superar a una calculadora haciendo raíces cuadradas.

Ahora que todos tenemos la calculadora y sabemos utilizarla la ponemos a nuestro favor para hacer cálculos más complejos.

Es lo mismo que va a pasar con la Inteligencia Artificial. Todas las profesiones tienen que utilizarla para evolucionar.

Quizás una tarea que antes te llevaba media hora Chat GPT te la hace en 2 minutos. Tu misión es mejorar lo que no hace Chat GPT.

Es cierto que hace cosas asombrosas. Lo hace a toda pastilla.

No nos podemos quedar fabricando velas cuando ya ha llegado la electricidad

Claro. Hay que avanzar y saber adaptarse.

Es crítico.

Si tu trabajo te lo van a quitar porque eres programador piensa cómo utilizarlo para mejorar tu trabajo.

La moda de la programación

¿Qué le decimos a quien quiera dedicarse a programar?

Ha habido una pequeña burbuja de programadores en la que gente sin experiencia se ha encontrado ganando pastizales.

Pero los que entran ahora tienen las puertas cerradas

La programación te tiene que gustar.

Es sacrificado porque no es un trabajo fácil.

Muchas veces te piden que hagas cosas que no sabes ni cómo las vas a afrontar.

Y aunque tengas en la cabeza cómo lo vas a hacer no es tan sencillo plasmarlo en el código.

Pero es un trabajo muy, muy bonito. Te despierta en la cabeza formas de pensar que de otro modo no tendrías.

El que empiece tiene que hacerlo con ganas. Si te gusta te lo vas a pasar muy bien.

Si además evolucionas y llegas a tener tu equipo de programadores es muy satisfactorio. Porque tú tienes las ideas chulas y otros pican el código.

Conozco gente que no le gusta del todo y luego se amarga mucho.

Metes muchas horas y te vas a casa con el trabajo. Te tiene que compensar.

 

Llegamos a la parte del Trading. Ivan habla de sus fracasos más sonados y también de sus proyectos

¿Cuándo empiezas a programar robots de Trading?

Primero estuve muchos años con trading manual y me fue fatal.

Hasta que hace dos años hice un curso con Ferran Font muy completo en el que había una parte de programación.

Y ahí me animé.

Había probado con MQL5 pero era un lenguaje odioso de programación. No había por dónde cogerlo.

Pero Ferran me pasó un código en C. Y el lenguaje en C sí que me gusta.

Ahí me picó la curiosidad y vi que era capaz de aplicar lo que conocía.

Empecé bastante enserio y dije: venga, voy a intentarlo.

 

También te digo, que ha sido como una vía de escape del otro tipo de operativa, porque sólo había tenido disgustos.

Empecé de muy malas formas y dije, venga, me voy a tranquilizar, que esto no es tan fácil como me pensaba.

Luego seguí aprendiendo cosas de trading pero ya iba con mucha calma.

Entonces descubrí el trading algorítmico y supe que ése era mi lugar. De ahí ya no iba a salir.

¿Y qué hacías con el trading manual?

Probé muchas técnicas.

La primera con la que perdí eran las Bandas de Bollinger con una media. Fue estrepitoso.

Con Ferrán toqué muchos palos y me enganché a las opciones, con la plataforma Think or Swim.

Tradeaba figuras complejas como Iron Condors, Cunas, Butterflies..

Vi que había mucha matemática detrás de las opciones y programé Excels para que me dibujaran los mapas de riesgo.

Llegó un punto en que ni siquiera tenía que entrar en la terminal. Yo mismo había creado los modelos de Pérdidas y Ganancias.

En esta fase no perdía, pero tampoco es que me fuera bien.

Así que después de este último intento me pasé definitivamente al algorítmico.

Empecé a trastear, pero en castellano no había nada de documentación.

Fue por eso que empecé con el blog. Como no había nada dije, pues nada, soy el único.

Si la gente lo lee sigo publicando material.

Y si no, al menos es una especie de diario de anotaciones. Me sirve para ser disciplinado y tener apuntados mis avances.

¿Qué buscas programando estrategias? ¿Cómo lo intentas?

Lo que más estoy haciendo es Aprendizaje por Refuerzo.

Le meto una serie de variables al robot, le marco el entorno de juego y le pongo a trabajar.

Por ejemplo, me bajo 10 años de histórico de datos en el Euro-Dólar.

No sólo me bajo el Open-High-Low-Close, sino que también lo combino con indicadores como el RSI, el MACD o las Medias.

Y entonces le digo: tienes barra libre para ganar el máximo dinero posible.

Lo hago por días. Si al final del día termina en positivo le entrego recompensa.

Algunos días lo hace mejor, otros peor..

 

Una técnica de Machine-Learning es segmentar los períodos.

Por ejemplo, si te bajas 10 años de histórico le dices:

  • 7 años para que hagas el entrenamiento
  • 3 años para probar que el robot lo haga bien

Como son datos con los que no ha entrenado, te quitas que se haya acomodado.

Porque si aprenden solamente lo que le estás metiendo, no saben reaccionar a los nuevos escenarios.

Tienes que pasarle datos que nunca haya visto para comprobar que lo está haciendo bien.

¿Buscas que sea 100% automático? O pretendes meterle un toque discrecional donde tú decidas

Todo automático hecho con aprendizaje por refuerzo.

¿Cuánto tiempo crees que te llevará hasta que saques una estrategia sólida?

En relativamente poco tiempo puedes conseguir algo.

Pero no vas a ser el fuera de serie que es Jim Simons, el fundador de Reisanance Technologies.

Él era matemático e intentó hacer su propio sistema.

Aunque no se sabe lo que hace porque lo mantiene bajo estricto secreto, en una novela autobiográfica da a entender que al principio de su carrera utilizaba las cadenas de Markov, que son los primeros pasos de un aprendizaje por refuerzo

¿Cuál dirías que es la clave del éxito de Simons?

Es un matemático extremadamente bueno, pero luego tuvo la cabeza fría para darse cuenta de que no era buen programador.

Se unió a programadores muy buenos y consiguió hacer despegar el fondo.

Si eres buen programador pero no tienes ni idea de matemáticas no vas a hacer un programa acertado,

Pero si eres matemático y no sabes bien programar, tu código no va a ser sólido.

Es muy difícil tener las dos patas. Yo soy programador con nociones de matemáticas. Reconozco que la parte numérica es mi talón de Aquiles.

Él se juntó con unos cracks en programación. Si ves la gente que trabaja para él son todos doctores, eminencias, ingenieros top..

Siempre va a por lo mejor.

Y, además, los sueldos dependen de los resultados del fondo. Por lo que se esfuerzan al máximo.

Esta gente está enterrada en dinero eh.

El tío ya era rico. Se dedicaba a descifrar códigos secretos de la Unión Soviética para la agencia de seguridad nacional de Estados Unidos.

Tiene artículos científicos que son locuras. Y todo esto es antes de meterse en el trading.

Debió ver las gráficas y dijo, pero esto es matemática pura.

Se empezó a obsesionar y fíjate hasta dónde ha llegado.

¿Cuál es tu objetivo? ¿Crear una estrategia que sólo valga para un activo o para varios?

El Santo Grial es tener una estrategia que te sirva para todo, pero yo creo que eso no lo voy a encontrar.

No tienen nada que ver las acciones de Microsoft con el Euro-Dólar.

Creo que es casi imposible encontrar una estrategia que sirva para todo.

A no ser que tengas unos servidores ultra potentes con los que hacer todo tipo de pruebas.

Y muchísimo tiempo disponible, claro.

¿En qué activo estás centrado?

Forex.

El robot lo tengo en 5 activos, aunque sobre todo en el Euro-Dólar.

Algunos días el sistema me va bien y otros me hunde en la miseria

Además es que estoy con otros proyectos: voy a sacar un curso donde enseñe a programar Trading Algorítmico,  descargar los datos y mezclarlo con Machine-Learning.

 

El Test de Academia de Trading

Te entrego una tarjeta con dinero eterna.

¿Dónde vivirías?

¿Cuál sería tu propósito?

Me compraría el coche de mis sueños, eso lo primero.

Pero me seguiría dedicando al trading algorítmico.

Ya no por ganar dinero – no creo que me vaya a hacer millonario jamás – , pero me gusta mucho coger libros y darle vueltas.

Me gusta mucho investigar. Sacaría artículos científicos para ayudar a otra gente.

Centraría mis esfuerzos en sacar el algoritmo perfecto que sirviera para todos los activos. Del que hemos hablado antes.

Hay mucho que investigar en la bolsa.

Es tan bonito como investigar el universo. Quien se dedica a estudiar agujeros negros o trata de descubrir nuevos planetas sabe que, en el fondo, no sabe nada.

¿Con qué persona o personas elegirías pasar una cena?

Con Jim Simons, aunque sólo fuera por preguntarle cómo lo hace.

También con Steve Jobs. Era admirable, a pesar de que no estoy de acuerdo en cómo trataba a la gente de su alrededor.

Por último escogería a filósofos de la Grecia antigua. Aristóteles o Platón.

Y la última la gastaría con Pérez Reverte.

¿Cuál ha sido el mejor trade de tu vida?

He tenido tres muy buenos.

Aunque he invertido muy poco en cada uno, pero podía haberme forrado.

Pero la mayor satisfacción viene de tener múltiples trades ganadores cuando haces un robot algorítmico.

Esto de decir: «joe, llevo 5 trades seguidos buenos», es brutal.

Sin lugar a dudas me quedo con una cadena de operaciones.

Últimamente me ha pasado en el Euro-Dólar con el aprendizaje por refuerzo. Aunque el mercado estaba haciendo cosas raras saqué 10 seguidos positivos.

Pero luego vino la contra-racha, jeje.

¿Quizás el mejor trade de tu vida todavía no ha llegado? ¿Será el robot que estás programando?

Espero que sea ese.

 

¿Pierdes el control de tu operativa?

Llévate GRATIS el Cuadro de Riesgo y la hoja de Análisis de Resultados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *