Topics HerramientasCurrent Page

Cómo hacer backtest de una estrategia de cripto trading como un profesional

Intermedio
Herramientas
8 de jul de 2021
14 minutos de lectura

Resumen mediante IA

Mostrar más

Resumen detallado

Hacer backtesting de una estrategia puede dar mucho trabajo, y el proceso de prueba puede resultar complicado. Sin embargo, el backtesting es, en definitiva, un componente clave para el desarrollo de un sistema de trading eficaz. Implica ejecutar una estrategia determinada sobre datos históricos o datos anteriores del mercado para ver cómo habría funcionado. Esto nos muestra un panorama claro de las estrategias que no son aptas antes de comprometer capital real en mercados reales.

No obstante, si el backtesting no se hace correctamente, los resultados serán erróneos, lo que ocasionará pérdidas que se podrían haber evitado. El backtesting de las estrategias de trading suele aplicarse al mercado de divisas y de acciones, pero también funciona perfectamente para el mercado de criptomonedas. En cualquier entorno de trading, los volúmenes grandes de datos suelen conducir a una mejor calidad de backtests.

En esta guía, describiremos qué es el backtesting de cripto, por qué es importante y qué diferencia hay entre el backtesting manual y el sistemático. También nos ocuparemos de los tipos de datos que mejor se adaptan para el backtesting de una estrategia cripto y qué métricas de rendimiento se deben considerar al analizar el funcionamiento de la estrategia.

¿Qué es el backtesting?

Hacer backtesting significa aplicar una estrategia de trading o método analítico sobre datos históricos de operaciones de trading, a fin de evaluar el rendimiento de dicha estrategia o método. Si la estrategia cripto se muestra prometedora y funciona bien, el trader puede aplicarla a un entorno real.

Hacer backtesting del rendimiento histórico no garantiza resultados futuros, pero puede ser, si se lo realiza correctamente, un método confiable para separar las estrategias eficaces de las ineficaces. Aun así, los datos poco fidedignos pueden afectar el proceso de backtesting.

¿Por qué es importante el backtesting?

El backtesting le brinda a los traders e inversionistas una manera de evaluar y optimizar sus modelos analíticos y estrategias de trading antes de implementarlas. Si la estrategia que has creado tuvo bajo rendimiento en el pasado, es probable que así sea en el futuro. Sucede lo opuesto si la estrategia funcionó bien anteriormente.

En tal caso, se da por sentado que dicha estrategia seguirá funcionando bien en el futuro bajo condiciones similares. Por ejemplo, un trader sistemático, que tiende a observar la macroeconomía y predice las tendencias del mercado mediante señales técnicas, puede utilizar el backtesting para detectar patrones recurrentes y aprovecharlos para obtener ganancias.

Backtesting discrecional vs. sistemático

Por lo general, hay dos formas de hacer backtesting de las estrategias de trading. En el caso de una estrategia discrecional (o estrategia de inversión discrecional), el trader coloca órdenes de compra y venta en forma manual. Una de las formas que los traders tienen para probar su estrategia es hacer backtesting manualmente. 

Los traders sistemáticos utilizan algoritmos estratégicamente para determinar las señales de compra y venta. Luego, un sistema informático coloca esas órdenes de compra y venta en el mercado. Un trader sistemático tiene su estrategia codificada y ejecuta pruebas sobre datos históricos. 

Cada estrategia tiene ventajas y desventajas, que examinaremos a continuación.

Backtesting manual: ¿es adecuado para ti?

Un trader discrecional decide conscientemente, con cada señal que recibe, si colocar esa señal de compra o venta en el mercado o no. Antes de aplicar su estrategia en un entorno real, el trader discrecional querrá probarla sobre datos históricos.

Para ello, probablemente realice un backtest manual mediante un software, tal como el TradingView. 

Por ejemplo, un trader que utiliza una estrategia de cruce de medias móviles colocará dichas medias en su gráfico de precios para simular su estrategia. Luego, presionará el botón de reproducción y seleccionará un período en el tiempo para comenzar la prueba.

A continuación, una vez activada la reproducción, el gráfico de velas del mercado aparecerá en pantalla, y el trader tomará la decisión discrecional de comprar o vender, según las señales que documentan esas operaciones de trading en una hoja de cálculo de Excel.

El backtesting manual es una muy buena forma de autoentrenarse para controlar las propias emociones, ya que estas pueden ser similares a las que tendríamos en un entorno real. Adicionalmente, el backtest manual brinda una noción sobre cómo funciona la estrategia y si sus reglas son claras.

Sin embargo, la prueba manual presenta varias desventajas. La primera y más obvia es que lleva mucho tiempo. Podrías pasarte horas ejecutando una prueba, solo para descubrir que la estrategia no era buena (aunque esa información también puede ser valiosa).

En segundo lugar, la prueba manual no es contundente, ya que la cantidad de datos sobre los que se prueba la estrategia son limitados. Por último, no se incluye una simulación de los costos de trading, por lo que el trader deberá calcularlos en su hoja de cálculo.

Backtesting sistemático de una estrategia

Un trader sistemático, o trader basado en programas, cuenta con el beneficio de la tecnología. Posee una estrategia ya programada y, luego, probada sobre datos históricos del mercado.

Debido al poder de procesamiento de las computadoras y a las ventajas de ciertos programas, los traders sistemáticos pueden probar sus estrategias sobre largos períodos de tiempo y, a su vez, optimizar ciertos aportes a la estrategia. Los traders sistemáticos utilizan el backtest para generar estadísticas sobre su estrategia, lo que los ayuda a identificar qué esquemas son sólidos y cuáles tienen un desarrollo insuficiente.

El desafío para los traders sistemáticos es contar con el conocimiento procedimental para elaborar una estrategia algorítmica, así como también saber evaluar si una estrategia es sólida o no.

En definitiva, el acceso a datos de calidad será tan importante como cualquier otra herramienta con la que cuente el trader sistemático.

Requisitos de los datos históricos

Los traders sistemáticos querrán emular el mercado del mundo real con la mayor similitud posible. Por ejemplo, los costos de trading tales como las comisiones, el diferencial cambiario y el slippage pueden recortar los retornos. A pesar de que una operación de trading individual quizás tenga poca repercusión, estos pequeños trozos de información pueden afectar los resultados del backtest si se los ignora.

Dentro de los diferentes tipos de datos del mercado que se utilizan en el backtesting sistemático, hay dos que son importantes de reconocer: el gráfico de velas y el libro de pedidos. Ambos se utilizan en los backtests, aunque el segundo es más confiable.

Datos del gráfico de velas OHLCV

El gráfico de velas que presenta datos OHLCV (volúmenes de apertura, máximo, mínimo y de cierre) es, básicamente, una hoja de cálculo con los precios OHLC para cada intervalo del período de tiempo del gráfico. Por ejemplo, si extraemos los datos diarios del bitcoin del gráfico de velas, recibiremos una hoja de cálculo con el precio de apertura, máximo, mínimo y de cierre de cada día. Si tomamos los datos por minuto, la hoja de cálculo incluirá el precio de apertura, máximo, mínimo y de cierre del bitcoin minuto a minuto.

Los datos de este gráfico de velas OHLCV presentan varias deficiencias. En primer lugar, no se sabe a qué precio se ha comercializado cada volumen. Además, si se aplica la estrategia de trading en una cuenta grande, nada garantiza que haya liquidez suficiente para sostener nuestra actividad de trading sin mover el mercado. En otras palabras, si estás llevando a cabo operaciones de trading cuantiosas porque tienes una cuenta grande, puede que no haya criptos suficientes para hacer trading, y esto podría tener un impacto negativo en los resultados de tu backtest.

Los traders suelen recurrir a los datos de los gráficos de velas porque son los más fáciles de adquirir. Sin embargo, los resultados que se obtienen del backtest de un gráfico de velas no son confiables y pueden no brindar los beneficios que uno busca.

Datos del libro de pedidos

El libro de pedidos es una de las mejores fuentes de información que resuelve muchas de los problemas que presentan los datos de un gráfico de velas. Los datos de un libro de pedidos contienen instantáneas del mercado que incluyen el precio, el volumen y la profundidad del mismo. Los datos del libro de pedidos brindan una mejor representación de qué órdenes se encuentran disponibles en cualquier momento determinado.

Las instantáneas de los libros de pedidos les permite a los desarrolladores simular el diferencial de compra-venta, el slippage y la liquidez al momento de probar una estrategia.

El desafío con estas instantáneas es que los datos pueden ser difíciles de obtener. Hay una enorme cantidad de datos en las instantáneas de los libros de pedidos, y los exchanges eligen no guardar dichos datos, ya que serían caros de almacenar. Por lo tanto, un desarrollador deberá recolectar y almacenar los datos del exchange por cuenta propia o acceder a las instantáneas del libro de pedidos a través de un servicio tercerizado.

Backtesting automático

El trading algorítmico (también conocido como trading automático o trading de caja negra) se refiere a los traders que utilizan un programa informático mediante el cual establecen una serie de instrucciones para ejecutar una operación de trading. Por lo tanto, el backtesting de estrategias también se puede automatizar. Al implementar la automatización, también podemos automatizar los resultados para obtener estadísticas útiles que nos ayuden a determinar si la estrategia será efectiva.

El rendimiento de un sistema de trading suele medirse en relación con ciertos parámetros tales como las P&L (ganancias y pérdidas), la proporción de éxito (es decir, de operaciones rentables) y la relación de Sharpe

Elegir el lenguaje de programación

Antes de escoger una plataforma para el backtesting de una estrategia, asegúrate de que dicha plataforma soporte los mercados con los que prefieres operar. Además, elige el lenguaje de programación que te gustaría utilizar. Los lenguajes de programación más frecuentes incluyen: C++, R, MATLAB y Python.

Existen algunos servicios de terceros y extensiones de la API a los que puedes suscribirte que proveen datos backend (del servidor) y una plataforma frontend (interfaz del usuario), donde el backtesting es un poco más sencillo. Altrady, Holderlab y Shrimpy son algunos ejemplos.

Análisis de P&L (ganancias y pérdidas)

Una vez creada la estrategia y presionado el botón para ejecutar el backtest, el número importante a tener en cuenta es la cifra de ganancias. El backtest debe arrojar un análisis por operación de trading y por día de las ganancias y pérdidas. De ese modo, se puede crear una curva de capital que muestre cuál habría sido el balance de la cuenta si se hubiera hecho una operación de trading real. 

La curva de capital es, simplemente, un gráfico cronológico que muestra el valor del balance de la cuenta día por día o después de cada operación.

El análisis de P&L también muestra el tamaño de la operación ganadora promedio comparado con el tamaño de la operación perdedora promedio. Si tomamos la proporción de esas dos medias, obtendremos una relación promedio de recompensa por riesgo.

Por ejemplo, si la operación ganadora promedio es de $100 y la operación perdedora promedio es de $50, se genera una relación promedio de recompensa por riesgo de 1:2 ($50:$100).

La proporción de éxito y la relación de Sharpe

La proporción de éxito se refiere a la proporción de ganancias de la estrategia. Si una estrategia produce 100 operaciones, y 58 de ellas son rentables, esta tiene una proporción de éxito (o de ganancias) del 58%.

No obstante, la proporción de ganancias por sí sola no significa nada y es engañosa. Lo mejor es combinar la proporción de éxito con las operaciones de trading promedio (la ganadora y la perdedora) que mencionamos anteriormente.

Por ejemplo, una estrategia con una proporción de éxito del 58% y con una relación de recompensa por riesgo de 1:2 se presume muy rentable.

Otra métrica utilizada para determinar cuán sólida puede ser una estrategia es la relación de Sharpe, que indica cómo serán los retornos en función del riesgo. Esto le permite al trader comparar dos estrategias completamente diferentes en base al riesgo que se asume al producir esos retornos. 

Backtesting simulado

Hacer un backtesting simulado significa, simplemente, ejecutar una prueba sobre datos históricos que imiten el entorno del mercado. Un backtest automático se realiza mediante programación y escritura de código para acelerar el proceso. Hacer una prueba sobre los datos de varios meses lleva tan solo unos minutos, dependiendo de la velocidad de la computadora.

Por el contrario, un backtest manual simula las condiciones pasadas del mercado cuando el trader selecciona una fecha predeterminada para, luego, avanzar dentro de ese mercado y detectar si se genera una señal de compra o venta. El tiempo que lleva una simulación manual es mucho mayor, y es propensa a varios errores.

Cómo hacer backtesting de las estrategias de trading de bitcoin

Existen diferentes formas de hacer backtesting de una estrategia de trading de bitcoin. Para determinar cuál es la mejor para ti, analiza las siguientes preguntas:

  • ¿Sabes programar y escribir código?

  • ¿Estás dispuesto a pagar por un servicio tercerizado de backtesting?

Si eres programador o desarrollador, cuentas con más opciones. Probablemente, te convenga generar tu propio backtest en el lenguaje de programación con el que te sientas más a gusto. Esto te brindará mayor flexibilidad y control sobre lo que puedes hacer y sobre los ajustes necesarios para mejorar tu estrategia. C++, R, MATLAB y Python son los lenguajes que utilizan frecuentemente los traders para programar. Sin embargo, obtener datos de calidad aún puede ser todo un reto.

Si no deseas programar tu propio backtest, puedes suscribirte a un servicio tercerizado o utilizar un programa de backtesting automático. Por lo general, estos servicios te permiten crear tu estrategia en su plataforma y, luego, ejecutarla sobre datos históricos. Ofrecen ciertas facilidades, pero se pierde el control que uno pueda tener sobre la confiabilidad y la calidad de los datos. Además, por supuesto, estos servicios tienen un costo.

Si estás buscando el método más económico para hacer backtesting de una estrategia de trading de bitcoin, considera desarrollar la estrategia por ti mismo y hacer un backtest manual. Será el método más lento, pero te permitirá, realmente, ver cómo funciona la estrategia y reconstruir las operaciones de trading como gustes. Los costos de trading, tales como el slippage y el diferencial, tienden a pasarse por alto con este método, así que asegúrate de incluir una estimación de los mismos.

Evaluación de los resultados del backtesting

Aunque los traders sin experiencia se concentrarán solo en las P&L netas, es importante evaluar el panorama general de la estrategia. La proporción de éxito, la operación ganadora promedio, la operación perdedora promedio y la relación de Sharpe son importantes para entender el backtest, y se las debe tener en cuenta.

Adicionalmente, evalúa cuán largo fue el período de backtest elegido. Cuanto más largo sea dicho período, más probable es que los resultados incluyan condiciones de mercado múltiples. Los períodos de backtest más cortos tendrán menos probabilidades de ser un buen reflejo de las estrategias sólidas.

Por último, ¿cuál fue el retroceso máximo de la curva de resultados?

El retroceso máximo de la curva de resultados indica cuánto ha caído una cuenta durante un período intenso de pérdidas consecutivas. Estos retrocesos ocurren siempre y, si son demasiado grandes, es probable que no contemos con capital suficiente para sostener la estrategia. Esto se agrava cuando estamos haciendo trading de productos con apalancamiento. Muchos traders sistemáticos aconsejan prepararse para un retroceso de la curva de resultados de al menos un 50% más que el que arroja un backtest porque los retrocesos de la curva de resultados tienden a ser más grandes en un entorno real que en un backtest simulado.

Reflexiones finales

El backtesting puede influir en el rendimiento futuro de una operación. Algunos traders deciden hacer backtesting manualmente, a pesar de que sea un proceso más largo y más lento. Otros programarán su estrategia y la ejecutarán sobre un conjunto sólido de datos históricos. Idealmente, la mejor forma de hacer backtesting de una estrategia cripto es por medio de una prueba sistemática utilizando datos del libro de pedidos. Aun así, el salvaje mercado cripto es impredecible.

Utilizar una herramienta o programa de backtesting ayuda muchísimo a hacer el seguimiento de nuestra estrategia de trading y a formular la estrategia óptima para el trading de criptomonedas que, consecuentemente, llevará a un mejor retorno ajustado al riesgo. No obstante, las criptomonedas son volátiles, por lo que recomendamos buscar asesoramiento profesional antes de hacer trading en un entorno real.

*Descargo de responsabilidad: este artículo es solo con fines de referencia. Ninguna información provista por Bybit se debe interpretar como consejo o recomendación de que una inversión o estrategia de trading determinada es adecuada para una persona en particular. Estas predicciones se basan en tendencias de la industria, circunstancias de los clientes y otros factores; involucran riesgos, variables e incertidumbre. No se presenta o implica ninguna garantía sobre la precisión de predicciones, proyecciones o predicciones específicas incluidas en este texto. Los usuarios de este artículo acuerdan que Bybit no es responsable de ninguna decisión de inversión que tomen. Busque recomendaciones de profesionales antes de hacer trading.

Aplicación de Bybit
Gana de forma inteligente