Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 183

 
mytarmailS:

¿Tuvo una larga curva de aprendizaje? este último

No sé, dejé el ordenador encendido toda la noche para que el modelo aprendiera. Por la mañana estaba listo, no tardó más de 7 horas en aprender, de hecho probablemente fue mucho menos.
 

en la función newConfigNEAT la configuración por defecto es la siguiente

newConfigNEAT(numInputs = 14 ,numOutputs = 1,maxNumOfNodes =500 ,speciesPopulation = 50)

Actualmente estoy en la 32ª generación

generation minFitness maxFitness meanFitness medianFitness
32         32   82.23862   150.0092    140.4628      145.5368
[1] "Starting simulations..."
[1] "1.59 % Finished simulation of species 1 / 44 genome 1 / 6 with fitness 146.091452597612"
[1] "3.17 % Finished simulation of species 1 / 44 genome 2 / 6 with fitness 146.091452597612"
[1] "4.76 % Finished simulation of species 1 / 44 genome 3 / 6 with fitness 146.091452597612"
[1] "6.35 % Finished simulation of species 1 / 44 genome 4 / 6 with fitness 146.091452597612"
[1] "7.94 % Finished simulation of species 1 / 44 genome 5 / 6 with fitness 146.091452597612"
[1] "9.52 % Finished simulation of species 1 / 44 genome 6 / 6 with fitness 146.091452597612"
[1] "11.11 % Finished simulation of species 2 / 44 genome 1 / 2 with fitness 145.536759116526"
[1] "12.7 % Finished simulation of species 2 / 44 genome 2 / 2 with fitness 145.536759116526"

¿Cuántas generaciones debe haber en total 50 o 500?

=====================================

terminó en la 35ª generación, ¿por qué exactamente en la 35ª? No sé...Gracias,Dr. Trader.

y algo salió mal, en el OOS por alguna razón, no calculó el valor hasta el final

а

 
Sólo habrá 36 generaciones, el número de veces que NEATSimulation.RunSingleGeneration(tradingSimulation) es llamado en el código (una vez por sí mismo, y luego 35 veces en el bucle)
 
mytarmailS:

y algo salió mal, el OOS no calculó completamente las acciones por alguna razón.

Todo de acuerdo con el plan, en algún lugar de las reglas de trading dice que hay que parar si el drawdown es demasiado grande.

En cuanto el S&P cayó, toda la estrategia se derrumbó, tuve el mismo resultado. El autor del artículo, o bien tuvo mucha suerte (poco probable), o bien pasó por diferentes patrones de negociación en aras de unas bonitas fotos de OOS.

 
Dr.Trader:

Todo de acuerdo con el plan, dice en alguna parte de las reglas de comercio para detener si la reducción es demasiado grande.

En cuanto el S&P cayó, toda la estrategia se derrumbó, tuve el mismo resultado. No lo creo. O bien el autor tuvo mucha suerte (poco probable), o bien pasó por diferentes modelos de comercio sólo para conseguir bonitas fotos OOS.

Sesgo de selección para OOS. sic
 
Dr.Trader:

Todo de acuerdo con el plan, dice en alguna parte de las reglas de comercio para detener si la reducción es demasiado grande.

En cuanto el S&P cayó, toda la estrategia se derrumbó, tuve el mismo resultado. No lo creo. O bien el autor tuvo mucha suerte (poco probable), o bien pasó por diferentes modelos de comercio sólo para conseguir bonitas fotos OOS.

No sé,Vladimir Perervenko dice que todo es bastante optimista y que la red no se desploma de golpe, como todo lo que he visto antes, y que la red se estaba formando en una tendencia a la baja y que la tendencia está subiendo en OOS.
 

Intentado de nuevo en lo que Vizard_ describió

2 indicadores es muy poco, ni siquiera puedo encontrar algo adecuado. Por lo tanto, es sólo una ilustración de "basura que entra -> basura que sale".

Las coordenadas son los valores de dos indicadores. El color azul corresponde a los puntos de "compra", el rojo a los de "venta".

6 modelos son entrenados en puntos de "Datos de Entrenamiento" y luego utilizados para predecir un conjunto de puntos en coordenadas (-2;-2)->(2;2), se puede ver exactamente cómo los modelos recordaron los datos y cuál fue la predicción en las nuevas coordenadas para el modelo.


 
Dr.Trader:

Intentado de nuevo en lo que Vizard_ describió

2 indicadores es muy poco, ni siquiera puedo encontrar algo adecuado. Por lo tanto, es sólo una ilustración de "basura que entra -> basura que sale".

Las coordenadas son los valores de dos indicadores. El color azul corresponde a los puntos de "compra", el rojo a los de "venta".

6 modelos son entrenados en puntos de "Datos de Entrenamiento" y luego utilizados para predecir un conjunto de puntos en coordenadas (-2;-2)->(2;2), se puede ver cómo exactamente los modelos recordaron los datos y cuál fue el resultado de la predicción en nuevas coordenadas para el modelo.


Hermoso, e informativo... gracias por eso

Probablemente tendré que reunirme y escribir sobre mi idea de buscar patrones puros igualmente (pero me llevará tiempo), ya que veo que es relevante... Tal vez salga algo bueno de esto...

Dr.Trader en mi opinión todo el problema es que estamos tratando de obligar al MO a dividir toda la muestra en clases, lo que si objetivamente solo podemos dividir ~3% de la muestra y decimos no MO eres poderoso sigue adelante y divide todo, no me importa :) así que separa lo inseparable con un resultado conocido...

Verás, intentamos dividir toda la muestra en compra y venta, y así es como queremos predecir cada movimiento del mercado, pero nuestros predictores son tan mierdosos que sólo pueden predecir objetivamente el ~3% de todos los movimientos, así que ¿qué necesitamos? Tenemos que intentar conseguir al menos ese3% y desechar el resto de lo indivisible porque es la misma basura/ruido que hay que eliminar/motivo de reciclaje, etc. llámalo como quieras, está bien...

Aunque todavía no he escrito cómo lo veo, ¿alguien tiene alguna sugerencia sobre cómo hacer esta selección?

p.d. Sanych por favor, no me vuelvas a hablar de PCA, no es lo mismo ;)

 
mytarmailS:

Hermoso, e informativo... gracias por eso

Supongo que tendré que ponerme las pilas y escribir sobre mi idea de encontrar patrones puros (pero me llevará tiempo), ya que veo que es relevante... Tal vez salga algo bueno de esto...

Dr.Trader en mi opinión todo el problema es que estamos tratando de forzar al MO a dividir toda la muestra en clases, lo que si objetivamente solo podemos dividir ~3% de la muestra y decimos no MO eres poderoso, sigue adelante y divide todo, no me importa :) así que separa lo inseparable con un resultado conocido...

Verás, tratamos de dividir toda la muestra en compra y venta, y así queremos predecir cada movimiento del mercado, pero nuestros predictores son tan mierdosos que pueden predecir objetivamente sólo el ~3% de todos los movimientos, así que ¿qué necesitamos? Tenemos que tratar de tomar al menos ese3% y desechar el resto de lo indivisible porque es la misma basura/ruido que necesita ser eliminado/razón para el reentrenamiento, etc. llámalo como quieras, está bien...

Aunque todavía no he escrito cómo lo veo, ¿alguien tiene alguna sugerencia sobre cómo hacer esta selección?

p.s. Sanych por favor, no me vuelvas a hablar de PCA, no es ese abrigo ;)

Anteriormente describí mi enfoque de la división en 3 clases (vender, cercar, comprar). La clase "valla" incluye todos los casos que se contradicen o que no pueden dividirse en clases de compra y venta. Resulta que sólo el 3-10% entra en las clases de compra y venta. Lo bueno de este enfoque es que al trabajar con datos desconocidos (reales) con el tiempo la red deja de reconocer las situaciones del mercado y empieza a atribuirlas a la "valla" cada vez más, es decir, deja de operar gradualmente. Esto es cien veces mejor que empezar a errar en la entrada cada vez más con el tiempo.

Pero todo es inútil, nadie quiere, nadie escucha.