martes, 22 de mayo de 2018

La distribución LOGNORMAL de los precios

Supongamos una acción muy volátil, del mercado americano, cuyo precio es de 20 dólares y cuya desviación estándar anual es de 30 dólares.


En un año si va bien podríamos esperar que tuviera un precio de 50 dólares (20 + 30) con una probabilidad del 68%; que es la probabilidad asociada a una desviación estándar.

Pero la distribución normal (gaussiana) es simétrica, así que según ese modelo con la misma probabilidad si la acción va mal se pondría a un precio de -10 (20 - 30). 




Pero el precio de una acción no puede ser negativo. Es evidente que el modelo normal (gaussiano) no es correcto para los precios de los activos.

viernes, 11 de mayo de 2018

El ratio de Sharpe pero de la curva de capital, no de las operaciones

Amibroker calcula el ratio de Sharpe. Pero de las operaciones, no de la curva de capital. 


Esta métrica es muy utilizada en la industria del trading. Los mejores gestores superan el nivel 1.0 pero no todos los años. En realidad es difícil conseguir rentabilidades por encima de la volatilidad.




Sharpe = rentabilidad_anualizada / volatilidad_anualizada

La fórmula original incluye la tasa libre de riesgo en el numerador, pero eso hoy en día es prácticamente nulo. Dicho de otra forma: sin riesgo, no dan nada por el dinero. A mí me gusta obviar esta parte (tasa libre de riesgo = 0) y así puedo comparar mejor los sistemas independientemente de cómo esté la renta fija ese año.

Para calcular el Sharpe simplificado hay que sacar los retornos diarios y sobre ellos calcular la desviación estándar. Anualizamos multiplicando por 16 ( más o menos la raíz de los días de trading que tiene un año). Calculamos la media de los retornos diarios y anualizamos, multiplicando por 252 días de trading. El cociente es el ratio de Sharpe.

Lo de hacer la raíz cuadrada con la volatilidad pero no con los rendimientos es porque la volatilidad crece como la raíz cuadrada del tiempo mientras que los rendimientos crecen proporcionalmente al tiempo. Por ejemplo, si alguien consigue un 0.1% diario de ganancia media, con una desviación de los retornos del 1% entonces su ratio de sharpe es:

Sh = 0.1*252 / (1*16) = 1.57

He trabajado sobre el código que puse en el post sobre la volatilidad anualizada de la curva de capital y he incluido la media y el cociente de ambos para llegar al ratio de sharpe. 


sábado, 5 de mayo de 2018

5 del 5, se inaugura oficialmente el Blog de Notas Técnicas de Onda4



Este Blog está pensado para que sea un sitio muy técnico donde no habrá sitio para opiniones de mercado, noticias, etc. Solo código y pantallazos de lo que hace ese código. Y hojas Excel con simulaciones de Montecarlo, algoritmos de Gestión de Capital… etc.

En el blog habrá mucho código amibroker, que es la plataforma que más utilizo y con la que me siento más a gusto ya que es muy potente. Cuando salió era la única que permitía simular una cartera de mercados. Con el tiempo ha ido mejorando incluso más y ahora hace maravillas como Walk Forward automático, análisis de Montecarlo en el backtest, y muchas otras cosas que a los raritos de la programación de sistemas nos encantan.

Lo que se hace con el código: resultados, conclusiones, etc seguirá en la parte de los INFORMES de Onda4.

LA IDEA ES QUE EL BLOG SEA EL SITIO DONDE ENCONTRAR EL CÓDIGO NECESARIO PARA CREAR SISTEMAS DE TRADING, INDICADORES, ALGORITMOS O CUALQUIER COSA RELACIONADA CON TRADING CUANTITATIVO.

Oscar G. Cagigas

jueves, 3 de mayo de 2018

Calcular correlaciones para muchos mercados

Cómo calcular correlaciones



A la hora de ver las correlaciones entre los distintos mercados es importante darse cuenta que deben ser calculadas con los retornos diarios y no con el precio de los activos. El cálculo de correlaciones es muy tedioso si son muchos mercados ya que debe hacerse "todos con todos" y por tanto se necesita la potencia de un lenguaje de programación orientado a manejar gran volumen de datos, como es Python y en especial la librería Pandas.

Haremos lo siguiente:

1. Desde amibroker exportamos los datos a una carpeta "Quotes" de nuestro disco duro. Podemos usar el siguiente código:

ENTRADAS POPULARES