Code your profits

lunes, 19 de febrero de 2018



"Las cifras constituyen el único y auténtico lenguaje universal."
Georges Ifrah

Las pasadas navidades vino a visitarnos un gestor de fondos de inversión de Esfera Capital y se me quedó grabada la siguiente frase:
“Raúl, es que cuando voy a comprar acciones siempre tengo que estar calculando cuántas tengo que comprar”.
A relación de este problema me surgió una idea muy sencilla que cualquiera de nosotros podemos aprovechar. ¿Por qué no creamos un indicador que nos muestre cuántas acciones debemos comprar para un capital dado?
Cuando insertamos una media móvil en el gráfico o un RSI, nosotros podemos seleccionar cuál es el período que deseamos. Al igual que tenemos la capacidad de elegir si queremos una media de 20 o de 50, con la herramienta que vamos a desarrollar tendremos la capacidad de elegir qué cantidad de dinero queremos invertir en las acciones y nos devolverá cuál es el tamaño de la orden que debemos lanzar.
Como seguramente ya sepas, lo que vamos a desarrollar es un indicador, que en esta ocasión será a través del diseño gráfico de la PDV. Para ello procedemos de la siguiente manera. Primero creamos el indicador como se ve en la imagen siguiente:

Crear un Indicador en PDV con Visual Chart
Crear un Indicador en PDV con Visual Chart
El segundo paso que debemos dar es crear una variable en la que guardaremos el capital que queremos invertir. Esta variable tiene que ser configurada como parámetro, de este modo, podremos modificarla como si del periodo de una media móvil se tratara. Para asignar este valor al indicador, antes procedemos a crear una variable externa llamada Capital a la que le he dado un valor inicial de 50.000. Evidentemente cada uno puede usar el valor que más le convenga. En la siguiente imagen se ve cómo se crea.
Crear variable
Crear variable
El tercer y último paso será definir el valor del indicador. Como puedes imaginar el número de acciones a comprar es el siguiente:

Acciones = Capital / Precio = Capital / Cierre

Como está presente en la ecuación, el número de acciones a comprar es igual al capital dividido por el precio, que en nuestro caso será el cierre ya que es la última cotización del activo. Posteriormente, lo que hacemos es dar el valor al indicador que se hace como viene en la siguiente imagen:
Dar valor al Indicador
Dar valor al Indicador
Por último, tendremos que compilar el código, que equivale a traducir lo que hemos diseñado gráficamente a algo que pueda entender Visual Chart y un ordenador, por tanto. Cuando tengamos el indicador compilado ya podemos insertarlo sobre el gráfico de cualquier empresa como en el siguiente ejemplo con las acciones de Microsoft.
Número de acciones en Microsoft
Número de acciones en Microsoft


Espero que este ejemplo te haya sido de ayuda. Si quieres que toque algún tema en concreto o quieres saber más sobre cómo programar en Visual Chart mándame un correo a raulgallardo @ esferacapital.es. No olvides registrarte aquí abajo para que te lleguen todas las novedades que voy ircorporando en el Blog.


Un saludo y hasta la próxima.
Raúl Gallardo


lunes, 29 de enero de 2018

Spread Trading

"Nuestra naturaleza está en movimiento. El reposo absoluto es la muerte."
Blaise Pascal

Cada vez está más de moda la operativa en Spreads. Un spread es una estrategia de pares en la que se juntan dos posiciones, una larga (comprada) y otra corta (vendida). Al contrario de lo que ocurre con el trading direccional, como puede ser comprar un futuro del Dax, esperando una revalorización del activo, una estrategia de pares trata de sacar beneficio en base a la diferencia relativa de cada una de las patas y no de su direccionalidad.
Los tipos de Spreads son:
  • Intra-activo: el spread en el mismo activo, por ejemplo, contrato del Dax y contrato mini del Dax
  • Inter-activo: el spread es en diferentes activos, por ejemplo, Dax y el Euro Stoxx
  • Intra-mercado: sobre diferentes activos de un mismo Exchange o bolsa. Por ejemplo, Santander y BBVA
  • Inter-mercado: las patas se operan entre diferentes mercados. Por ejemplo, Oracle y SAP
  • Intra-entrega: las patas se operan con el mismo vencimiento. Por ejemplo, un cono comprado de opciones del Ibex con vencimiento en marzo
  • Inter-entrega: las patas se operan con distinto vencimiento. Por ejemplo, el petróleo de junio contra el petróleo de diciembre
Evidentemente una operativa de spread puede conllevar formar parte de varias de las anteriores calificaciones. Por ejemplo, un inversor que invierta en la relación BBVA – Santander entraría en las siguientes categorías:
  • Inter-activo -> opera con diferentes activos
  • Intra-mercado -> opera en el mismo Exchange
  • Intra-entrega -> opera en la misma entrega (las acciones no tienen vencimiento)
Aunque a priori no nos parezca demasiado intuitivo, este tipo de análisis lo hacen grandes fondos de inversión. En Esfera Capital, por ejemplo, tenemos el compartimento Seasonal Quant Multistrategy FI que hace uso de estas técnicas.
Como te puedes imaginar, esto nos abre un campo inmenso y casi infinito de posibilidades. Una cuestión muy importante que sucede en estos casos es, ¿cómo lanzo todas las órdenes? Este tipo de operativa, que en muchos no tiene riesgo direccional, se tiene que operar al menos en dos patas. En el caso de las opciones, incluso puede ser superior, por ejemplo, en el caso de una Iron Condor estaríamos hablando de 4 posiciones en activos diferentes.
El lanzado de todas estas órdenes puede dificultarse, para ello he creado un fichero de Excel que a través de las Trading Tools. Las Trading Tools son unas herramientas basadas en la tecnología COM (Component Object Model https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363(v=vs.85).aspx), que nos permiten acceder a la información que se maneja desde Visual Chart.
El enlace de descarga del fichero de Excel para operar en Spreads es: 
Con las Trading Tools se pueden acceder a datos como:
·         Información en tiempo real de un activo, como su cotización o su volumen
·     Acceder a los datos históricos de un activo, como pueden ser todas las velas desde el comienzo de la cotización de Amazon
·         Calcular indicadores o probar Sistemas de Trading sobre el DAX
·         Lanzar órdenes al mercado
En nuestro caso, es la última característica la que nos afecta en esta ocasión. En la siguiente imagen se puede observar el funcionamiento de este fichero de Excel:
Excel lanzado de órdenes en Visual Chart
Excel lanzado de órdenes en Visual Chart

Como si de un manual de instrucciones se tratara, voy a comentar cada uno de los puntos, qué es lo que hacen y para qué sirven:
  1. Tipo de orden: Aquí seleccionaremos qué tipo de orden vamos a ejecutar. Las posibilidades son A mercado, A Stop y A Límite
  2. Cuentas: Las órdenes se pueden lanzar sobre la misma o sobre diferentes cuentas. En el ejemplo se van a lanzar ambas contra mi cuenta, pero, puede que un usuario quiera lanzar a cuentas distintas (siempre que estén accesibles desde su usuario)
  3. Símbolo: En símbolo evidentemente ha de introducirse sobre qué activo queremos operar. Quiero reseñar que aquí el símbolo no es el del activo, sino, el de su código en Visual Chart. Más abajo detallo como conseguir este código, no te iba a dejar sin saberlo 😉
  4. Precio: Precio pondremos el precio al que queremos que se ejecuten las órdenes. En la imagen como se va a lanzar las órdenes a mercado no hace falta precio. Evidentemente si nuestro deseo es mandarlas a stop o a límite debemos introducir este precio
  5. Contratos: En contratos lo que tenemos que introducir es la cantidad de contratos o acciones que queremos comprar o vender. Si el número es positivo, será una orden de compra y si es negativo, será de venta.
  6. Lanzar órdenes: Por último, tendremos que lanzar las órdenes. Haciendo click en el botón de Lanzar Órdenes, mandaremos todo al mercado.
Ya que hemos analizado todas, nos falta especificar por un lado de donde sale el código de un activo y por otro que necesitamos para conectar Excel con Visual Chart.
La estructura que tenemos para poder lanzar las órdenes desde Excel es la siguiente:
Conexión Excel, Visual Chart y Esfera Capital

De este modo lo que ocurre es Visual Chart hace de puente entre Excel y Esfera Capital, por ende, con el mercado. Por tanto, para poder lanzar las órdenes desde Excel necesitamos tener levantado Visual Chart y estar conectado al Bróker. De faltar cualquiera de las partes no funcionará y antes de hacer uso de la herramienta debemos comprobar que está todo conectado.
En relación al código de un activo, Visual Chart utiliza el siguiente formato:
código mercado + nombre activo
Por ejemplo, para cargar las acciones de Apple, el código resultante es 003 + AAPL = “003AAPL”. Éste será el código que tendremos que introducir en Excel.
Espero que este ejemplo te haya sido de ayuda. Si quieres que toque algún tema en concreto mándame un correo a raulgallardo @ esferacapital.es. No olvides registrarte aquí abajo para que te lleguen todas las novedades que voy ircorporando en el Blog.

Un saludo y hasta la próxima.
Raúl Gallardo


martes, 7 de noviembre de 2017


“Quién tiene paciencia obtendrá lo que desea”
Benjamin Franklin

El mundo financiero es el más competitivo del mundo, dadas las bajas barreras de entrada y su fácil escalabilidad. Es un ecosistema donde existen cuentas de 1000 € con fondos de inversión de pensiones que gestionan miles de millones.

Esta gran competitividad exige dos posibles estrategias. O bien mediante calidad en la gestión, con criterios muy bien definidos y una forma de invertir que caracterice el mercado o bien mediante conseguir la mejor cartera (en términos de nuestro perfil de riesgo) al mejor precio. Cada una caracteriza una de las dos vertientes actuales, la Gestión Activa por un lado y la Gestión Pasiva por el otro.

Siguiendo la línea de mi último artículo publicado en linkedin, explicaré qué es la Gestión Pasiva y veremos un ejemplo en programación muy sencillo de cómo saber cuánto habríamos ganado o perdido en una posición de haber comprado y mantenido entre dos fechas un activo (generalmente un ETF o un fondo de inversión).

La Gestión Pasiva se basa en la construcción de una cartera que replique un índice en concreto. La teoría que subyace de esta forma de invertir es la siguiente: los mercados son eficientes (entendiendo el índice como manera de replicar el mercado) y por lo tanto ninguna Gestión Activa va a superar a los índices en el largo plazo (si los superasen no podrían ser eficientes) y por tanto la mejor forma de obtener rentabilidad es seguir el mercado y con los menores costes posibles.

El uso de la gestión pasiva es clave para infinidad de inversores, que desde la aparición y proliferación de fondos de inversión y ETF’s han visto cómo tener una cartera diversificada es cada vez más sencillo. Con diversificada me refiero a que podemos invertir en Renta variable, tanto española o europea como en americana, asiática o emergente. Podemos invertir en renta fija de diversa duración (menos de un año a más de 20) de diferentes zonas geográficas pública o privada. Materias primas como oro o petróleo. Incluso seremos capaces de hacerlo en algo tan complejo como la inversión inmobiliaria.

Con todo este espectro como base, vamos a desarrollar un Sistema de Trading muy sencillo. La idea es que posiblemente estés pensando en invertir en un fondo de inversión en una fecha determinada parte de tu capital hasta el día de hoy o en otra fecha. De esta manera podrás tener una primera aproximación a cuáles hubieran sido los resultados.

Para la realización de este ejemplo vamos a crear un Sistema de Trading. Iremos a Abrir -> Estrategia -> Usuario -> Crear nueva estrategia (PDV). Nos aparecerá un lienzo en blanco sobre el que plasmaremos la idea.
 
Crear un Sistema de Trading
Crear un Sistema de Trading en Visual Chart

Cuando nos ponemos a implementar algo en programación, sobre todo si es en las primeras ocasiones, lo recomendable es dividir el problema. Muchas veces mis alumnos llegan con la idea de tener tareas que al inicio son titánicas, y que si las pensamos un poco es cuando se nos luce la bombilla. Hay que tratar de abandonar frases del tipo “yo eso no sé hacerlo”. Nada más lejos de la realidad. Aquí debemos aplicar la técnica de divide y vencerás. Voy a implementarla y posteriormente la explico.

Para comenzar a diseñar nuestro Sistema hagamos inventario de todas las piezas que necesitamos, ya las uniremos después:
  • Orden de compra: Con esta orden entraremos largos en el activo. Estamos en una estrategia pasiva, no haremos cortos
  • Orden de salida de largos
  • FechaInicio: En esta variable almacenaremos la fecha en la que queremos haber entrado
  • FechaFin: En esta variable almacenaremos la fecha en la que queremos haber entrado
  • Capital: Aquí pondremos cuánto dinero invertiremos en el fondo o ETF

Eso sería todo lo que necesitamos. Ahora solo nos quedarían las condiciones que determinan si entramos largos, si salimos del largo o si no tenemos que hacer nada. Voy a mostrar una imagen de en qué estado estamos ahora mismo.

Gestión Pasiva con un Sistema de Trading
Gestión Pasiva con un Sistema de Trading, Inicio

Como se puede apreciar, tenemos creadas las tres variables. La otra cuestión que encontramos es en la compra pone “Compra Capital/Cierre Mercado”. Esta orden lo que nos marca es que vamos a comprar tantas acciones, ETF’s o participaciones de un fondo como podamos. Por ejemplo, si tenemos 10.000 € y compramos un activo que vale 50 €, tendremos que comprar 10.000 / 50 = 200.

Lo que nos hace falta ahora es poder diferenciar cuándo debemos comprar y cuando debemos cerrar nuestra posición, para ello, necesitamos comparar la fecha actual con FechaInicio y FechaFin. Lo único que tenemos que tener en cuenta es el formato. La fecha que viene asociada a cada vela es el siguiente “AAAAMMDD” de modo que el 7 de noviembre de 2017 sería 20171107.

En este momento, creamos dos condiciones, una para cuando tengamos que entrar a mercado y otra para cuando necesitemos salir. Las condiciones dentro de la PDV funcionan de modo que la parte superior del rombo sería la entrada de la misma, la inferior sería la salida en caso de que se cumpliera la condición y la derecha en caso de no cumplirse. Veamos nuestro ejemplo de nuevo, pero esta vez finalizado.

Gestión Pasiva con un Sistema de Trading
Gestión Pasiva con un Sistema de Trading

Para comentar la técnica de divide y vencerás consiste en aislar el problema de manera individual de modo que nos sea más sencillo. Con el ejemplo de este sistema podemos hacernos las siguientes preguntas para construirlo. ¿Sé crear una variable? ¿Sé lanzar una orden? ¿Sé elegir el tamaño de la orden? ¿Sé crear una condición? Si tienes respuesta a todas esas cuestiones, tienes este Sistema hecho.

Para terminar nuestro estudio vamos a probar cómo hubiera funcionado la inversión de 100.000 € desde el 11 de abril de 2016 hasta hoy 7 de noviembre de 2017 en nuestro fondo de Inversión Esfera Robotics FI.
Inversión en Esfera Robotics FI
Inversión en Esfera Robotics FI

Esa sería la operación que habríamos realizado y en la siguiente imagen tenemos qué resultados habríamos tenido de haber suscrito el fondo desde su comienzo.
Resultados Esfera Robotics FI
Resultados Esfera Robotics FI

Como se puede apreciar en la imagen, el resultado habría sido una ganancia de casi 64.000 € con una inversión inicial de 100.000 €. Evidentemente rendimientos pasados no garantizan rendimientos futuros, pero, con este Sistema de Trading tendremos una herramienta para hacer nuestros propios cálculos del beneficio o pérdida que habríamos tenido en una inversión en concreto.


No olvides poner comentarios y seguirme en el Blog. 

Si quieres que te comparta la estrategia o necesitas ayuda mándame un mail a raulgallardo @ esferacapital.es

martes, 24 de octubre de 2017



“Nunca se va tan lejos como cuando no se sabe adónde se va”
Octavio Paz

Vamos a inaugurar el blog de Code your Profits entrando en materia. Muchos serán los que inviertan discrecionalmente, es más, gusten de hacerlo comprando en mínimos o en soportes. ¿Qué puede ser un soporte?
  • Un precio determinado, que se puede representar por una línea horizontal
  • Una línea de tendencia que una los mínimos bien sea en una tendencia alcista como bajista
  • Distancia a una media

Tanto un precio determinado como las líneas de tendencias adolecen de dos problemas. Por un lado, no son cuantificables, porque no se puede hacer un caso general y por otro lado, no son extrapolables a otros activos. ¿Qué ocurre cuando se haya roto el soporte? Habrá que tirar o bien una nueva línea de tendencia o bien otro soporte con una línea horizontal. Esto lo deberemos hacer siempre para cualquier activo que operemos (incrementando el tiempo que necesitamos analizando gráficos).

Probemos entonces la distancia a una media. Pongamos primero una imagen de la idea:

Media Exponencial de 200 periodos en el Dax
Media Exponencial de 200 periodos en el Dax
El concepto es usar una media móvil, en esta ocasión exponencial de 200 periodos, como soporte al ser “visitada” en sucesivas ocasiones es empleada por grandes Fondos de Inversión para tomar decisiones. Aunque a ojo puede ser muy sencillo ver si estamos sobre la media o no, vamos a construir un indicador que nos ayude un poquito más. Vamos a desarrollar un indicador medirá la distancia hasta el precio de manera porcentual.
Para ello procedemos a crear un nuevo indicador en Visual Chart 6. Haciendo click en abrir -> Indicadores -> Nuevo Indicador PDV. Ahí nos saltará una ventanita en la que podremos dar nombre a nuestro nuevo indicador. Para añadir nuestra media móvil exponencial lo hacemos como en las siguientes imágenes:

Añadir un indicador en PDV
Añadir un indicador en PDV

Añadir una media exponencial de 200 en PDV
Añadir una media exponencial de 200 en PDV
 
Además, agregaremos una variable, se hace igual que los indicadores, que se llame “distancia”. Con una sentencia que insertaremos en el lienzo del indicador (pinchando y arrastrando) le daremos valor de modo que nos quede con el siguiente valor:

 distancia=(Cierre/Indicador(AvExponentialData1) - 1)*100

Aunque la fórmula parezca un poco compleja es muy sencilla. Si la traducimos se leería tal que “divide el precio del cierre actual por el valor de la media exponencial para tener y réstale 1 para tener el tanto por 1, multiplícalo por 100 y guarda este valor en la variable distancia”.

Para terminar, le daremos valor al indicador. Hasta aquí tan solo hemos almacenado en una variable la distancia a la media, pero, no hemos hecho nada con ello. Lo haremos dando valor a dos líneas, una primera en la que mostraremos la distancia a la media y otra con el valor 0 de modo que así tendremos más visualmente si estamos por encima o debajo de la media. El resultado final tiene que ser algo como lo que se ve en la siguiente foto:

Distancia a una media en PDV
Distancia a una media en PDV
Se puede ver en el siguiente gráfico del futuro del Dax como queda en la parte inferior.
Distancia a la media exponencial en el Dax
Distancia a la media exponencial en el Dax
Si tienes cualquier duda, por favor, deja un comentario y trataré de ayudarte. Para aprender a crear más indicadores, Sistemas de Trading o cualquier otra herramienta puedes asistir a nuestros Cursos en el IFEC.

              ¿Qué usos puede tener este Indicador?
              Tenemos varios usos, éstos son la base del uso de un soporte en análisis técnico tradicional, solo que ahora tendremos un valor concreto al que podemos referirnos cuando toque tomar decisiones. Si lo que hacemos es invertir en un solo producto, cómo le ocurre a muchos inversores que se han especializado en los futuros del Dax, del Ibex o de alguna acción en concreto, nos puede servir para:

  • Buscar puntos de vuelta
  • Puntos de entrada al ser rebasado cierto nivel si queremos entrar de manera tendencial
  • Puntos de entrada si hemos retrocedido comprando en un mínimo local y por tanto a mejor precio
  • Como criterio para colocar nuestro stop loss
  • Regla para hacer un Trailing Stop, hay Sistemas de Trading que consideran una distancia del 30 %  como un clímax comprador
Si por el contrario lo que hacemos es selección de acciones (se puede hacer con otros activos aunque es más común con las acciones) nos puede servir para encontrar aquellas que estén cerca o lejos de su media.
              Ventajas e Inconvenientes
              Como ventajas tenemos respecto a cómo se hacía tradicionalmente:
  • Se puede usar en cualquier activo. Todos entendemos lo que es un movimiento de un 5 % en un activo
  • Nos sirve en cualquier momento. No hace falta tener que tirar líneas, sino que es adaptativo a la cotización
  • Podemos hacer búsquedas en un explorer de modo que podremos seleccionar acciones más fácilmente
  • Es determinista. Si el cierre está un 10 % por encima de la media exponencial de 200, nadie puede hacer una interpretación 
              Como inconvenientes tenemos:
  • No todos los activos se mueven igual, de modo que el periodo de la media no tiene por qué ser para todos igual (no es lo mismo renta fija que una materia prima)
  • Dependiendo del activo su uso puede cambiar y funcionar distinto. No es lo mismo usarlo para buscar comprar en mínimos que buscar una tendencia o usarlo para colocar el stop loss. Aquí entra el Trader y know how

              A pesar de ser este un mero comienzo, en la formación que tenemos en el IFEC (Insituto Financiero Esfera Capital) profundizamos mucho más. Este indicador nos puede servir de base para un primer contacto tanto con la plataforma como con el diseño de nuestras propias herramientas e indicadores.

Si quieres que te comparta este indicador escríbeme a raulgallardo @ esferacapital.es.

lunes, 25 de septiembre de 2017



El futuro pertenece a quienes creen en la belleza de sus sueños.
Eleanor Roosevelt

Bienvenido a Code your Profits.
Esta es la primera entrada del blog y lo más correcto es presentar el tema y al escritor del mismo. Soy Raúl Gallardo, un ingeniero informático, Experto en Sistemas y Modelos Cuantitativos de Trading por la UPM y apasionado por el Trading, la inversión y los Sistemas de Trading.

¿Qué encontrarás en el Blog Code your Profits?

Encontrarás todo tipo de información relacionada con la inversión y que nosotros podamos diseñar, programar o analizar. En Code your Profits vas a encontrar indicadores, Sistemas de Trading, Explorers (también conocidos como Screeners) herramientas creadas con Excel, así como el uso de todos estos elementos con Visual Chart.
A lo largo de la vida de este Blog iremos aprendiendo a cuantificar. A cuantificar cuánto hemos sacado en una operación, cuánto capital tenemos en la cuenta, cuánto gana un Sistema de Trading, cuál es el valor de un indicador y sobre todo cuáles son nuestros riesgos.

¿Cuáles son los objetivos?

Independientemente de nuestro horizonte temporal, nuestro perfil de riesgo o incluso si somos los más fieles defensores del Value Investing o del Trading Algorítmico tendremos lazos de unión. Como si de una lista a los reyes magos analicemos cuáles son nuestros lazos: 
  • Conservar nuestro Capital
  • Rentabilizar lo que no nos rentabiliza el banco
  • Crearnos nuestro propio plan de pensiones (sin tener que esperar 10 años)
  • Vivir de los mercados financieros
  • Sacar un sobresueldo
  • Maximizar nuestro capital
  • Conseguir la libertad financiera
  • Aumentar nuestra cultura financiera
  • Por qué no decirlo, divertirnos

Ahora soy yo el que pregunta. ¿Quién cree que todos estos puntos anteriores son más fáciles conseguirlos si cuantificamos nuestra inversión y quién cree que es mejor dejarlo al libre albedrío? Tal vez todavía no hayamos salido de dudas. ¿Quién cree que Warren Buffett o Jim Simons no evalúan y miden sus decisiones y sus inversiones?
Ninguno conocemos el futuro, pero, al menos vayamos equipados.

¿A quién va dirigido?

A toda aquella persona interesada en la inversión, bien sea a corto, medio o largo plazo. Será particularmente útil para todos aquellos que queráis dar un enfoque más profesional a vuestras inversiones. Le daremos un toque cercano y científico. Haremos que la estadística, la informática y la programación sean nuestras amigas.
Daremos un paso al frente.

¿Qué activos vamos a trabajar?

Cualquiera. Si un activo puede servirnos para invertir, estará bajo nuestro radar. Entre los activos que analizaremos están los índices (Dax, EuroStoxx, Ibex, mini S&P 500), bonos (Bund, Notas americanas), materias primas (petróleo, oro), divisas (Euro Fx, Libra), acciones (españolas, europeas, americanas), ETFs (SPY, DIA, XLF, EFA), datos de fondos de inversión o incluso macroeconómicos.

Todos tenemos nuestros sueños y anhelos. Cumplámoslos. Sin otro particular me despido de este post, porque este Blog y este Estilo han de quedarse.

Un saludo y bienvenido porque estás en tu casa,
Raúl Gallardo