Mi backtest dice que convertiré $ 5,000 en alrededor de $ 10,000,000 en un año, ¿qué es lo que probablemente extrañé, aparte de un período de tiempo más largo? Desarrollé un algoritmo de impulso basado en una tendencia que noté. Supuse el deslizamiento y los costos de comisión.

Necesitaría saber más para proporcionar incluso una respuesta aceptable, pero de todos modos aquí voy con una respuesta totalmente inaceptable por el momento. . .


Yo comenzaría con esto. . si me presionan para hacerlo, podría crear 100 estrategias de este tipo en unas pocas horas, utilizando mis pocos escritorios moderadamente potentes y algunas herramientas a mi disposición. ¿Cuántos de estos se mantendrían en el comercio en vivo y obtendrían un beneficio constante? Derecho alrededor del 50%, quizás el 50.5% si tenemos suerte. . desafortunadamente, un backtest independiente, sin otro contexto confirmatorio, es inútil. SIN EMBARGO, me pareció interesante que dijeras que esto era algo que habías observado por un tiempo, no algo que tu optimización / prueba sacó de la nada porque era bueno en el papel. . Esto podría ser algo significativo.

Para estar seguro, necesitaría ver muchos más datos, específicamente el número de operaciones por día, el tiempo promedio en el mercado, si el deslizamiento y las comisiones realmente se contabilizaron correctamente (a veces esto es complicado, dependiendo de la lógica de estrategia) , instrumento y hora del día en que toma entradas (si es intradía), y quizás un gráfico de equidad. . con esta información, casi con certeza podría definir cuál es el problema, y ​​aunque odio ser portador de malas noticias, estoy casi seguro de que “problema” es la palabra. ¡Sin embargo, no es * completamente * cierto! Como mencioné, es una buena señal de que esta fue una idea con la que viniste a la mesa, en lugar de dejar que el backtest encuentre la idea para ti, y aún así le fue bien.


Supongo que se necesitan demasiados intercambios y que no tiene las comisiones y el deslizamiento habilitados correctamente. . . Esto puede deberse a que las transacciones se realizan dentro de la barra, lo que causa errores en varias de las principales plataformas minoristas. . . o, toma muy pocos intercambios, y simplemente tuvo un puñado muy pequeño (¿tal vez solo uno o dos?) valores atípicos masivos.


Tu escala también es clave. Si aumenta el tamaño de su contrato / comercio a medida que gana, esto aumentaría enormemente los problemas anteriores y podría ser la causa de estos resultados. Finalmente, considere la tendencia general del instrumento que está negociando. . si resulta ser una estrategia ‘corta’ de petróleo crudo durante el año pasado, por ejemplo, tal vez no sea tanto una estrategia de compra en una mansión, sino una estrategia que se estaba subiendo a un precio que te hubiera hecho caer una matanza si contrataste monos y compraste un tablero de dardos, e hiciste uso de alguna combinación de los mismos como motor de tus decisiones comerciales.


Siéntase libre de enviarme un mensaje, estará encantado de ayudarlo a desentrañar el misterio. . ciertamente no necesita su código en el proceso si se siente protector, sé que esto se siente bien. 🙂

Desarrollar un algoritmo ganador en la vida real en 3 semanas es lo primero que me pone nervioso al considerar esta estrategia. Como sabes, el impulso siempre es temporal, por lo que antes que nada, debes ser capaz de detectar el impulso y luego dejar que tu algo lo maneje.

  1. El algoritmo es solo el núcleo , tendrá que construir capas como una cebolla para crear un sistema de comercio completo para poder obtener ganancias: el comercio y el tamaño de la posición, el tiempo, el apalancamiento y la gestión de riesgos, los datos de la vida real, los apagones de volatilidad, etc. De lo contrario , será como una pistola hecha de papel de aluminio , el polvo explotará pero la energía podría no llevar la bala a donde quieres y podrías perder algunos dedos.
  2. Cuando su sistema genera pedidos, ¿cómo planea administrarlos / enrutarlos al corredor / mercado? ¿Es la latencia un problema? ¿Qué tipo de pedidos gestionará? ¿Existe un OMS simple en su sistema de negociación para poder recibir y administrar rellenos parciales / pedidos rechazados / incorrectos de su sistema?
  3. La optimización excesiva o el ajuste de curvas es como la plaga para los algoritmos comerciales y parece ser posible en sus resultados estelares. Se necesita una metodología de prueba de sonido para un buen sistema comercial, como un cuerpo vivo necesita respirar. Consulte los libros de Robert Pardo en Amazon, su enfoque es muy bueno en este campo.

Finalmente, para crear un sistema de comercio o una estrategia de comercio simple, pruébelo, ponga dinero real en él y luego SÍGALO CON DISCIPLINA en los mercados de la vida real es desalentador y no para los débiles o débiles de corazón. Perderá dinero en algún momento, y dinero muy serio al menos a veces. Su equilibrio como ser humano se pondrá a prueba , la codicia y el miedo intentarán destruir su disciplina … Su cónyuge lo notará.

Aprovecha al máximo y buena suerte en tus esfuerzos

1) ¿Cuál es tu reducción máxima?

Si comienzas con USD 5000 y ganas una serie de apuestas dobles o nada, rápidamente ganarás una cantidad increíble de dinero. Por otro lado, si comienzas con USD 5000, tienes un gran apalancamiento y tu primera apuesta sale mal, entonces estás fuera del juego.

2) No estás teniendo en cuenta los comentarios.

Una vez que comience a realizar operaciones reales, sus operaciones comenzarán a afectar el mercado, y no podrá obtener el precio en la cuenta.

3) 2014 es un mal año para hacer pruebas

Necesita obtener datos de un año en el que todo se fue al infierno (por ejemplo, 2008). Mi intuición es que si ejecuta los datos de 2008 contra su estrategia, descubrirá que perderá su capital con bastante rapidez y será expulsado del mercado.

Suponiendo que su modelo está desarrollado correctamente, sin errores de código, sin cálculos erróneos, … ya sea # 1, simplemente golpeó el clavo en la cabeza (en mi humilde opinión) o # 2 definitivamente tiene los siguientes problemas a la vez:

1. Ajustar en exceso un modelo sesgado por la supervivencia.
2. Supuesta liquidez infinita y perfección del mercado.
3. Ignorando los costos comerciales de la vida real, como las comisiones, el diferencial de oferta y demanda y el capital.

Háganos saber a todos después de un año a partir de ahora si logró ese éxito de todos modos.

Tengo esta experiencia al comienzo de mi carrera de comercio algorítmico. Pero luego descubrí que mi resultado extraordinario se debe a una “fuga futura”, lo que significa que está utilizando datos “futuros” para tomar una decisión. por ejemplo, incluye descuidadamente el precio de cierre de la seguridad en la fórmula para determinar si el sistema debe comprarlo en abierto. Esto a veces no es obviamente. Es lo primero que comprobaré si veo un retorno demasiado bueno para ser verdad

Hay muchas buenas respuestas aquí. Un problema que he tenido es que a veces hay errores en mi plataforma de backtesting. En el pasado he usado Ninjatrader. Tiene algunas peculiaridades y debilidades en la forma en que simula un mercado comercial durante sus backtests. Algunos son explicables y pueden solucionarse, otros son solo errores en la plataforma que no estoy seguro de cómo solucionar. En el futuro, comencé a construir mis propias herramientas y plataformas de prueba, pero todavía uso Ninjatrader de vez en cuando solo para probar una idea simple, pero sé dónde buscar problemas según mi experiencia. Dado que no mencionó qué plataforma usa o cómo está llevando a cabo sus backtests, realmente no puedo decir mucho más que tener cuidado con su plataforma de prueba e intentar verificar los resultados manualmente mirando varias operaciones individuales.

Regresa más lejos. A menos que esto se base en algo muy reciente que está seguro de que no estuvo presente en el pasado, debería mirar hacia atrás.

No ajuste en curva, porque parece extremadamente probable que lo sea incluso si no lo hizo intencionalmente.

Esto debería ser evidente cuando realice una prueba de respaldo para 2013 y anteriores. Si de alguna manera sin modificar el algoritmo de alguna manera terminas ganando aún más dinero (o incluso una cantidad significativa de más de $ 5,000), entonces pruébalo en vivo.

Descubra cuál es la reducción máxima, la relación de nitidez, la CAGR (que necesitará unos años de datos para hacer) y el MAR. También su% de ganancia y la relación ganancia / pérdida. Si ve algo sospechoso allí, le dará una pista de lo que puede haber pasado por alto. Tener grandes inconvenientes en sí mismo no es necesariamente algo malo, pero si es realmente extremo (como> 60%), es posible que desee volver a evaluarlo.

Supongo que hiciste una simulación de Montecarlo y no solo hiciste una prueba con solo unas pocas fechas …

Muchas buenas respuestas aquí. Agregaré algunas cosas según mi experiencia.

1) ¿Qué tipo de función se ve su distribución de retorno acumulativo en términos brutos y netos con el tiempo? (Comenzaría trazándolo). ¿Está aumentando constantemente o hay picos y valles en su patrimonio? ¿Qué tan afilados son estos valles? ¿Cuál es tu reducción máxima? Relación de Sharpe Supongo que estás arriesgando la ruina y produciendo un Sharpe mediocre.

2) ¿Está dimensionando su posición usando Kelly Ratio, Martingale o Anti-Martingale u otra cosa? Me quedaría con Kelly fraccional ya que tiene una escasez de datos que probablemente esté sesgada de alguna manera hacia las acciones que experimentaron picos de impulso durante el período de entrenamiento / prueba.

3) Pruebe su estrategia en acciones con .5 la beta o ATR de las acciones que utilizó en la última iteración durante el mismo período. ¿Cómo funciona en términos brutos y netos? Sharpe? Es probable que su estrategia aproveche el impulso efímero, que por su propia naturaleza, requiere reglas para determinar si se encuentra en un régimen de impulso aceptable o no. ¿Tienes tales reglas? ¿Son mejores que un lanzamiento de moneda? Si no, te comerán vivo por deslizamiento y comisión cuando baje el impulso.

En primer lugar, debe ejecutar una prueba de avance o ajustar su algoritmo de negociación en un conjunto de datos del tren y luego ejecutarlo sobre un conjunto de datos de prueba. Es fácil obtener grandes ganancias si sabe cómo será el futuro , pero para evitar ese tipo de problemas, cada algoritmo de negociación debe crearse sobre un conjunto de datos de entrenamiento, no todos los datos.

Por ejemplo, si su estrategia quiere comprar al abrir la barra actual si el cierre será más alto que el precio de apertura, es un sesgo de anticipación, porque no sabe cómo será el cierre cuando ingrese a la operación, solo saber cómo fue el cierre de la barra anterior (así como otra información de barras anterior)

De todos modos, podría realizar operaciones en papel con su algoritmo durante los próximos meses para ver si se convierte en operaciones exitosas. Después de eso, puede comenzar a operar con dinero real, una pequeña cantidad al principio es mi sugerencia.

Intente utilizar el backtest de estrategia en, por ejemplo, 20 años de datos de precios por minuto / oro de oro, petróleo, EURUSD, AUDUSD, SPY, etc. Si muestra la proporción de Sharpe por encima de 2, intente ejecutarlo con dinero real por un tiempo. Hay muchas cosas que pueden salir mal en el comercio real, depende de su apalancamiento, sus suposiciones sobre las tasas de swap y spread, etc. Un año es un tamaño de muestra muy pequeño. Es como decir que si puedo demostrar que probablemente habría vencido a Rafael Nadal en un punto, ¿es probable que lo gane en un partido?

Debe asegurarse de que estos:
1. Sus datos están limpios (escriba un programa para validar la corrección)
2. Su algoritmo hace exactamente lo que quiere que haga (ejecute en seco su algoritmo tantas veces como sea posible)
3. Las operaciones que muestran mayores ganancias y pérdidas se verifican manualmente en cada punto de datos, para esa operación en particular.

Nadie puede decírselo a menos que usted les diga la estrategia y cómo la probó.
1. Estoy casi seguro de que te estás perdiendo algo o hay un error.
2. Si te entiendo correctamente, ¿solo usaste datos de un año? Sugeriría usar mucho más, aunque también depende de la estrategia

Hola

¡Probablemente te pierdas la lógica simple! ¡ESTO ES IMPOSIBLE!

No puedo pensar en ninguna inversión que pueda producir un retorno de este tipo.

Las pruebas de robots / espalda no funcionan en tiempo real.

Una vez que conecte esto a los mercados en tiempo real, los diferenciales, la volatilidad, las noticias del mercado lo dejarán sin aliento.

Si desea ser constantemente rentable, deberá hacerlo a mano.

Espero eso ayude

Roman Sadowski

http://www.humbletraders.com

Tengo el video perfecto para ti: ESTRATEGIAS DE COMERCIO ALGORITMICO DE RESPALDO

Seminario web con Ernie Chan sobre dificultades comunes en estrategias algorítmicas de backtesting

1) Se ajustó demasiado su algo. Es fácil ajustar un modelo con suficientes variables para llamar al mercado perfectamente. Es tan fácil hacer esto y, sin embargo, es tan contradictorio que hay empresas construidas alrededor de este sesgo cognitivo (consulte a cualquier corredor con tecnología de backtesting). Aplicar métodos de validación cruzada y separación de datos de prueba / entrenamiento. Haga de estas sus prioridades y se ahorrará una reducción y quizás incluso gane algo de dinero.

2) Su sistema intercambia cada tic sin costo de transacción. Debe incluir la oferta / oferta en el código. Es fácil escribir algo que genere mucho dinero en cualquier escala de tiempo de menos de 5 minutos si ejecuta a mitad. Tenga en cuenta la oferta / oferta y la misma estrategia tiene hemorragias en efectivo.

3) Tiene un error (o muchos errores) en el código. Todos los operadores cuánticos han desarrollado un nuevo modelo, lo ejecutan y han visto números mágicos. Cuando ve algo sorprendente en el comercio cuantitativo, en 2016, tiene un error. En 2006, tal vez, solo tal vez eras un genio, pero ahora no, depura tu código + 1 + 2 arriba. Bienvenido a la fiesta. No ha terminado, pero esto ya no es algo que pueda hacer de manera rentable desde su hogar a menos que tenga un horizonte de inversión a muy largo plazo, o sea un profesional absoluto, en cuyo caso no haría esta pregunta.

Hay una serie de problemas que debe conocer, más específicamente: asegúrese de no ajustar la curva y asegúrese de que su backtest produzca métricas de rendimiento ajustadas al riesgo.

Puede echar un vistazo a este artículo, es algo de alto nivel, pero es una buena fuente de información para comprender mejor lo que implica el backtesting:

Guía de backtesting de estrategia comercial – Trading Geeks

Deberías preguntarte algunas de estas:

1. ¿Usó el apalancamiento en sus operaciones?
2. ¿Incluiste una comisión real?
3. ¿Incluyó el deslizamiento o la extensión para negociar?
4. ¿Son esos datos (backtest) los mismos que negociaría en su corredor?
5. ¿Cuál fue el sharpe, el drawdown y la desviación estándar general?
6. ¿Cuántas variables tiene tu modelo? si hay más de 4, peligro

Un año no es suficiente, ni se puede confiar en un modelo optimizado.

El deslizamiento aumenta cuando las acciones ganan impulso. Verifique eso ya que el deslizamiento diario promedio puede ser una subestimación.

En segundo lugar, el uso sutil de datos hacia adelante como la siguiente barra abierta. Asegúrate de que no suceda.

¿Son líquidas las acciones? Si se negocia poco, sospeche mucho.

Finalmente, en el comercio real, es posible que no le permitan reducir ciertas acciones. Puede probar eso con su corredor sin arriesgar dinero. Simplemente ponga la orden de límite corto muy por encima del precio actual y vea si se acepta.

Completar al precio del modelo y salir al precio se vuelve más difícil durante su backtest a medida que el capital disponible crece más allá de lo que el mercado puede soportar.

Intente realizar operaciones de tamaño fijo, de tamaño máximo a una pequeña porción del volumen diario promedio. Esto debería producir un modelo más realista del resultado.

Además, las estrategias de cortocircuito de backtesting no pueden tomarse en cuenta si las acciones son incluso disponibles.

¿Qué extrañaste?

Perdiste la oportunidad de ejecutar esto en 2014 cuando tus datos de backtest eran realidad.

Me encantan las cosas que son demasiado buenas para ser verdad. Pero, ¿qué le impide ejecutarlo en el mundo real, tal vez comience con $ 1000 para minimizar su riesgo? Háganos saber cómo va y si funciona, estoy seguro de que todos aquí querrán participar en la acción. Pero si funciona, no se lo puedes decir a nadie. Si muchas personas lo usan, cambiará la forma en que actúa el mercado y luego ya no funcionará.