• H-Barrio

La Bolsa, La Vida y Sin Frenos

Nuestro asesor robótico tradicionalista era tan efectivo como aburrido. ¿Cuál sería el resultado si desactivamos sus protocolos de control de riesgo y nos permitimos cierto nivel de apalancamiento en nuestra estrategia? Esto va en contra de las directivas del saber tradicional: no gastes más de lo que tienes. En este caso vamos a ignorar conscientemente este consejo y vamos a ver qué ocurre cuando combinamos dos consejos antagónicos.


Somos impacientes, queremos aumentar nuestra riqueza tan rápido como sea posible, creemos que la vida es corta y nos queremos retirar pronto y con una buena cantidad de dinero en la bolsa. Aun así, vamos a empezar despacio haciendo caso a nuestro asesor robótico: empezaremos con un apalancamiento de 1.5 veces. Y no tenemos que realizar grandes cambios a nuestro modelo anterior:


class YourLife(QCAlgorithm):

    def Initialize(self):
        self.start = datetime(2002, 9, 1)
        # Edad inicial en 2002: 
        self.INITIAL_AGE = 35
        self.SetStartDate(self.start)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        self.AddEquity("SPY", Resolution.Daily)
        self.AddEquity("TLT", Resolution.Daily)
        self.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage,
                               AccountType.Margin)
                               
        self.Securities["SPY"].MarginModel =  PatternDayTradingMarginModel()
        self.Securities["TLT"].MarginModel =  PatternDayTradingMarginModel()
        self.leverage = 1.5

    def OnData(self, data):
        
        # Edad desde el inicio de la simulacion, en dias y años:
        your_age = (self.Time - self.start).days
        your_years = (your_age/365) + self.INITIAL_AGE        
        ratio = ((100 - your_years)/100) 
        
        self.SetHoldings('SPY', ratio * self.leverage)
        safe_ratio = ((1-ratio) )
        self.SetHoldings('TLT', safe_ratio * self.leverage)

Transformamos nuestra cuenta de efectivo en una cuenta de margen. Con este tipo de cuenta podemos asignar un valor de apalancamiento que multiplica los fondos disponibles para operaciones. Le estamos diciendo a nuestro asesor robótico que cada día deberá recalcular nuestra posiciones de acuerdo a las proporciones de bonos y bolsa según nuestra edad y luego multiplicar estas proporciones por el apalancamiento de 1.5 en este primer escenario. Nuestro corredor nos cobrará por estos fondos extras y como nuestras posiciones se usarán como valor colateral estas estarán sujetas a ajustes de margen (margin calls). Si nuestro nivel de apalancamiento es suficientemente grande y nuestros activos caen demasiado en valor, podemos terminar con un valor de cartera de 0 e incluso, en casos muy extremos acabar debiéndole a nuestro corredor más dinero del que depositamos.


Con un apalancamiento de x1.5, terminamos nuestro periodo de simulación de 2002 a 2020 con un poco más de dinero que en el modelo con 0 apalancamiento:


Este era el modelo en nuestra anterior publicación, sin apalancamiento alguno:


Los movimientos de valor en todas direcciones se magnifican, y somos un poco menos efectivos en términos de ratio de Sharpe. Nuestro robot tradicionalista está seleccionado, a través del conocimiento popular, activos no correlacionados que se están comportando como es debido incluso bajo un apalancamiento de 1.5. Las pérdidas máximas son del 42%, mucho más grandes que sin apalancamiento. La sección más interesante del periodo de prueba bien podría ser esta:


En un periodo de 12 meses nuestra riqueza se ve reducida a sus niveles de 2002 en el propio 2009, incluso podría considerarse un golpe demasiado duro como para continuar con el modelo, el efecto es, en términos relativos, muy similar a lo que hubiese ocurrido sin apalancamiento alguno, pero en términos absolutos el impacto psicológico es el doble de grande. Atravesar esta época de contratiempos nos premia con 500.000 USD adicionales al final del periodo. Mayor recompensa, mayor sufrimiento. Estos son los nuevos perfiles de pérdidas para un apalancamiento de 1.5:


Parece que estamos en el buen camino hacia una vida de desenfreno. Vamos a ignorar estas pérdidas, nuestras manos son de acero y podemos soportar el plomo caliente de estas pérdidas. Vamos a aumentar nuestro nivel de apalancamiento hasta casi 2, a 1.95. Usaremos 1.95 ya que generalmente el límite para operadores no profesionales en operaciones inter-dia es 2 como máximo. Si utilizamos un apalancamiento siempre de 2 en nuestro modelo y generamos operaciones a resolver al inicio del día de negociación podemos fácilmente exceder nuestra capacidad de compra y nos arriesgamos a que nuestras órdenes se cumplan parcialmente o no se cumplan en absoluto.


Nada fuera de lo ordinario. Ahora estamos obteniendo grandes rentabilidades en el periodo, transformamos 100K USD en 2 Millones de Dólares, atravesando periodos de pérdidas similarmente dolorosos. El perfil de riesgo y beneficio del modelo tradicional se mantiene y nuestras ganancias y pérdidas se amplifican sin ajustes de margen o la ruina, que con estos niveles de apalancamiento es una posibilidad bastante real. Resulta interesante observar cómo la crisis del COVID 19 hace mella nuestra riqueza:


Recordemos que en estas fechas tan duras tenemos 53 años de edad y el modelo tiende más hacia los bonos que hacia los valores de bolsa, los periodos de pérdidas se vuelven menos profundos mientras vamos ganando en edad.


Vemos este apalancamiento y es bueno... cuanto más bajo podemos caer (a ojos de nuestro robot tradicional) como inversores no profesionales? El apalancamiento normal máximo para inversores normales individuales y pequeñas empresas de gestión de activos es x4 para operaciones que tienen que cerrarse dentro del mismo día a través del mecanismo conocido como US pattern day trading. Para utilizar este apalancamiento de x4 nos vemos forzados a liquidar nuestras posiciones al final de cada día antes del cierre del mercado, reevaluar nuestras posiciones al comienzo del siguiente día y dormir bien durante la noche ya que nuestras posiciones no estarán abiertas durante la noche. O dependiendo de la zona horaria, pasaremos una buena tarde desde las 3 hasta las 10 de la noche. Vamos a tener que pagar, no obstante, el coste completo de todas las operaciones todos los días, compraremos todo y venderemos todo cada día. Tenemos que transformar nuestro algoritmo para utilizar una resolución de minutos y controlar los momentos de apertura y cierre del mercado para lanzar nuestras operaciones en el momento y orden correcto:


class YourLife(QCAlgorithm):

    def Initialize(self):
        self.start = datetime(2002, 9, 1)
        # Edad inicial en 2002: 
        self.INITIAL_AGE = 35
        self.SetStartDate(self.start)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        self.AddEquity("SPY", Resolution.Minute)
        self.AddEquity("TLT", Resolution.Minute)
        self.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage,
                               AccountType.Margin)

        self.Securities["SPY"].MarginModel =  PatternDayTradingMarginModel()
        self.Securities["TLT"].MarginModel =  PatternDayTradingMarginModel()
        self.leverage = 3.95

    def OnData(self, data):
        
        # Nuestra edad, en dias y años:
        your_age = (self.Time - self.start).days
        your_years = (your_age/365) + self.INITIAL_AGE        
        ratio = ((100 - your_years)/100)

        time_table = self.Securities["SPY"].Exchange.Hours
        next_close = time_table.GetNextMarketClose(self.Time, False)
        next_open =  time_table.GetNextMarketOpen(self.Time - timedelta(days=1), False)

        if self.Time == next_open + timedelta(minutes=3):
            self.SetHoldings('SPY', ratio * self.leverage)

        if self.Time == next_open + timedelta(minutes=5):
            safe_ratio = ((1-ratio) )
            self.SetHoldings('TLT', safe_ratio * self.leverage)

        if self.Time == next_open - timedelta(minutes=3):
            self.Liquidate()

En este caso... ha perdido usted casi todo su dinero, su corredor se lo ha embolsado para ellos mismo, en general a través de ajustes de margen y por realizar demasiadas operaciones con demasiado apalancamiento:



Alto, no nos rindamos. Todavía podemos hacer algo para simular este apalancamiento de x4 sin utilizar márgenes tan grandes, pagando en cambio comisiones por utilizar ETFs apalancados. Podemos reutilizar nuestro modelo de x2 (x1.95 en realidad) con, por ejemplo: UBT y SPUU. Ambos ofrecen un apalancamiento "innato" de x2 sobre los índices que tratan de replicar, bonos a largo plazo y el índice de valores bursátiles de SPUU. Estos productos son relativamente novedosos, se crearon durante o alrededor de la crisis de las hipotecas subprime, tenemos que mover la fecha inicial de nuestro modelo a 2014 y fijar nuestra edad en 50 años. Disfrutaremos aún así de mercados ascendentes y en crisis durante este corto periodo:


Los resultados no son malos, somos capaces de replicar nuestro modelo con apalancamiento de x2 utilizando productos apalancados a su vez en 2x, al coste de las comisiones cobradas por los operadores de los ETFs utilizados. Estos resultados tan buenos no son significativos ya que entramos a muerte con un apalancamiento de 4x en mitad de un mercado ascendente, atravesamos la crisis como un cometa y nos recuperamos rápidamente, tenemos 56 años en 2020 y preferimos los bonos.


Podemos concluir, de manera un tanto tímida (estos experimentos pueden no ser suficientemente concluyentes, desde un punto de vista puramente estadístico) que un apalancamiento moderado unido a una diversificación adecuada del riesgo puede ayudar a crecer nuestra riqueza y siempre resultará en periodos de pérdidas más profundos y más preocupantes. La gestión del riesgo más allá de la sabiduría tradicional y un poco mas de control de señales de compra y venta pueden llegar a producir modelos de preservación de la riqueza muy buenos para inversores individuales o familias. También se podrán contemplar otros trucos, como la sustitución por opciones, que podremos investigar en el futuro.


Por favor recuerde que las publicaciones en Ostirion.net no son consejos financieros. Ostirion.net no mantiene posiciones en ninguno de los instrumentos financieros que se mencionan en esta publicación en el momento de la publicación. Si necesita más información, apoyo con la gestión de activos financieros, desarrollo de estrategias de trading automatizados o despliegue táctico de estrategias existentes no dude en contactar con nosotros aquí.

6 vistas0 comentarios

Entradas Recientes

Ver todo

© 2019 Ostirion

-Trabajo honesto, precision matematica-