Asesores IOL

Short description of the blog

Lo que tengo que saber de programación para poder usar las APIs

Por Francisco Cucullu, Quant de InvertirOnline.com

No es necesario ser un programador profesional para poder utilizar las APIs de InvertirOnline. Podrías utilizar tranquilamente las recomendaciones de esta nota para emprender tu camino y, con un poco de práctica, podrías sacarle mucho provecho a esta herramienta. De todas formas, tené en cuenta que la tarea no será sencilla pero tampoco inalcanzable. Tus primeros desarrollos serán simples y poco a poco se irán complejizando.

Sinceramente, aquí lo más importante no es saber programar. Lo que sí es determinante es tu curiosidad, tus ideas disruptivas, tus ganas de hacer cosas nuevas y, por último, tus ganas de mejorar las que ya existen. Si contás con esas características, te podemos asegurar que la programación vendrá sola. De hecho, hoy en día, el trabajo del programador está sumamente facilitado por los buscadores de internet, las comunidades y los foros. Si te encontrás con un desafío en tu código y no sabés cómo resolverlo por tus propios medios, es muy probable que puedas encontrar una solución o, al menos, una orientación en los principales foros de programación que hay en internet.

De la misma manera, si no sabés de programación y tampoco te interesa aprender, InvertirOnline te facilita una planilla de Excel que te provee prácticamente de los mismos beneficios que podrías obtener programando tu propio código. Con esta planilla de Excel podrías utilizar las APIs en su totalidad y aprovechar que están en la planilla de cálculo que ya conocés para diseñar gráficos, tablas u otros recursos que creas convenientes para operar como más te guste. Con esta herramienta podés usar las APIs y tener plena libertad para construir una plataforma de operatoria que cumpla con todos tus gustos.

Ahora, si querés hacer algo de otro nivel y desafiarte a vos mismo, te recomendamos utilizar el lenguaje de programación que más te guste para que, además de utilizar nuestras APIs, tengas todas las bondades que la programación pura podría ofrecerte. De esta forma tendrás muchísimo más poder de cálculo, velocidad de ejecución y, de paso, aprenderías a programar. No hay ningún problema en utilizar las herramientas anteriores, pero estarás limitado en cierta forma a las herramientas que ya están dadas. Lo bueno de adentrarse en la programación es que no hay nada imposible, todo puede construirse o modificarse. Entonces, si contás con estas ganas de aprender podrías adecuar las herramientas que te damos o también podrías crear otras que hasta ahora sólo estaban en tu imaginación.

 No es tan difícil como parece al principio, además existen infinidad de tutoriales y sitios web que te ayudan a comenzar desde cero. Empezarás por el clásico ejercicio de “Hello world” para luego adentrarte en las estructuras básicas del lenguaje que hayas elegido. Para nuestra suerte, todas estas estructuras de programación prácticamente se repiten en todos los lenguajes. Todos tienen estructuras condicionales y de ciclos por ejemplo, así que una vez que empieces con un lenguaje será fácil cambiar a otros. Una vez que hayas roto el hielo, tu aprendizaje se acelerará. Por último, en InvertirOnline tenemos todas las funciones de las APIs documentadas, para que puedas seguir las instrucciones e implementarlas sin problemas.

Qué es el Sandbox y porqué es importante usarlo

Por Francisco Cucullu, Quant de InvertirOnline.com

Hemos visto qué son las APIs de InvertirOnline y cómo las podemos usar para poner fácilmente en práctica nuestros propios algoritmos —algo que, hasta ahora, pensábamos que era ciencia ficción o que únicamente era ejecutado por operadores de bolsa profesionales—. Hay que tener en cuenta que entre diagramar el circuito del algoritmo en tu imaginación y operar realmente en la bolsa sería prudente que existan algunos pasos intermedios dónde poder testear. Es aquí donde aparece nuestra herramienta de testeo por excelencia: Sandbox.

Es posible que hayas pensado perfectamente todas las situaciones que podrían ocurrir en la operatoria real, en el mundo de la programación de algoritmos muchas veces vas a encontrar comportamientos inesperados o “excepciones” según el lenguaje de los programadores. Como en InvertirOnline estamos al tanto de esta situación, ofrecemos este entorno de prueba que te permite testear tus desarrollos mientras tu dinero real está completamente a salvo hasta que tu algoritmo esté realmente preparado para pasar a producción.

Seguiste la documentación de las APIs, ya tenés todo programado y ahora querés lanzar tu primera compra. ¿Cómo sabés si tu código está realmente bien escrito? ¿Cómo será la respuesta que te devolverá la API? ¿Será un mensaje de texto o un número? ¿El mensaje será siempre el mismo o puede tener muchas variantes? Te van a surgir estas preguntas y muchísimas más, pero gracias a Sandbox vas a poder solucionar cada uno de los contratiempos sin miedo a equivocarte.

Desde Sandbox podrás:

  • gestionar los saldos de tus cuentas;
  • simular depósitos y extracciones;
  • enviar y cancelar ordenes; y
  • simular todos los estados que pueden tener tus transacciones.

Una cosa es que tu algoritmo no tenga fallas internas, es decir que la información fluya correctamente por todo el circuito y cada parte del sistema se comunique correctamente. Otra completamente diferente es la interacción de tu algoritmo con el mercado y la variedad de mensajes o formatos que puede enviar o recibir. Por esto mismo, recomendamos fuertemente separar el proceso de aprendizaje en tres etapas diferentes para luego pasar tu algoritmo a producción.

La primera etapa, antes de enviar una orden al mercado real, consistirá en que envíes tus operaciones a este entorno seguro de forma manual para probar todas las opciones que hay disponibles. Haciendo esto podrás ver cómo son los mensajes que recibirás en el mercado real y programar todos los posibles casos que puedas llegar a tener y así evitar excepciones.

La segunda etapa consistirá en combinar ambos entornos. De esta forma podrás hacer una transición desde el entorno seguro hasta el mercado real de forma progresiva y controlada. ¿Cómo hacerlo? ¡Muy sencillo! Una vez que probaste manualmente todas las variantes que pueden haber en Sandbox y confirmaste que todas están complemente contempladas y controladas, podrías activar tu algoritmo al mismo tiempo en ambos entornos. La parte de tu algoritmo que obtiene información direccionala al mercado y tomá la información en tiempo real, mientras que la parte que ejecuta operaciones orientala al entorno seguro.

La tercera y última etapa del testeo consistirá en intentar romper tu circuito. Sí, leíste bien, intentar romper tu propia creación. Accionando en contra de tu propio algoritmo estarás confirmando que todas las excepciones están contempladas y que tu sistema las controla correctamente actuando en consecuencia. Una vez que confirmes que es irrompible estarás listo para formar parte de la elite del mercado: los algotraders.

Siguiendo esta transición progresiva te asegurarás que, en base a la información real, sólo vas a generar las operaciones que realmente querés, en el momento indicado y que lo harás de forma correcta. Podés profundizar esta información desde la plataforma de InvertirOnline. Andá a la sección de APIs desde la opción de “Servicios” en la barra superior violeta.

 

Qué son las APIs y qué se puede hacer con ellas

Por Francisco Cucullu, Quant de InvertirOnline.com

Una API (Application Programming Interface) es simplemente un mecanismo para conectar dos programas entre sí para el intercambio de información en general. Básicamente es como un puente entre dos softwares, para que ambos puedan comunicarse y entenderse. En el caso de las APIs de InvertirOnline, son como un puente entre vos y el mercado para que puedas operar en la bolsa de valores directamente y de forma sencilla, sin la necesidad de pasar por la plataforma.

Los datos que se pueden obtener desde nuestras APIs son una réplica exacta de los que se encuentran en nuestro sitio. La única diferencia es que esta última cuenta con desarrollos gráficos que embellecen la experiencia de navegar por las diferentes secciones de nuestra plataforma, mientras que las APIs, si bien cuentan con la misma información, se orientan a brindar la información pura y dura para agilizar la operatoria. Esto es justamente lo que se busca para la operatoria algorítmica. Las respuestas a las consultas que hagas por ellas se encontrarán en formato “JSON”, un formato de texto ligero para intercambio de datos.

En definitiva, con los servicios de API de InvertirOnline.com podrás:

  • obtener información de todos los instrumentos de Argentina,
  • obtener información de los instrumentos de Estados Unidos,
  • hacer seguimiento de tu portafolio,
  • verificar tu estado de cuenta,
  • confirmar cuánto saldo disponible tenés para operar,
  • comprar y vender.

Todo en tiempo real y sin pérdidas de tiempo. Lo que podés hacer con todo esto depende únicamente de tu imaginación, ya que se podrían crear algoritmos propios de todo tipo.

Orientemos un poco tu creatividad. Supongamos que no sos un hábil operador y simplemente hacés alguna que otra compra o venta esporádica. Sin embargo, sabés que para limitar una posible pérdida querés vender un instrumento cuando alcance un determinado nivel o, en el sentido contrario, querés tomar ganancias y liquidar cuando un instrumento alcance la rentabilidad que esperabas. En ambos casos vas a programar una venta. Entonces tu algoritmo consistirá simplemente en dos pasos: primero, consultará la cotización del instrumento en cuestión durante la rueda de operatoria; segundo, ejecutará una venta sólo cuando el instrumento alcance el objetivo.

Veamos otra aplicación de las APIs de InvertirOnline, ahora un poco más compleja. Supongamos que operás regularmente, tu estrategia se fundamenta en indicadores técnicos y, ante la combinación de una determinada cantidad de señales, se ejecuta una compra o una venta. Con las APIs se solucionan estos problemas. Simplemente vas a consultar la información que necesitás para calcular los indicadores técnicos (precio y volumen, por ejemplo) y vas a replicar exactamente el mismo accionar que en el ejemplo anterior. Ante el cumplimiento de tus condiciones, vas a programar ejecutar una compra o una venta, y así poder finalmente disfrutar de tu tiempo libre mientras tu algoritmo opera por vos.

Se pueden utilizar las APIs desde cualquier lenguaje de programación, pero si no sabés cómo hacerlo también podés hacerlo a través de la planilla de Excel disponible en la sección de Research de InvertirOnline. No es más que una planilla común y corriente pero conectada con el poder de nuestras APIs.