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

 
Dr.Trader:

Todavía necesito mucha formación para poder mantener una conversación contigo sobre este tema... Y no tienes que usar neuronas, también puedes usar Forrest, es más fácil fijar el objetivo

 
Dr.Trader:
...

En general, todo, pero hay un matiz - esos optimizadores que he probado no pueden hacer frente a los pesos, sólo encuentran algún mínimo local cuando todos los resultados serán iguales a 0,5 para minimizar el error medio, y en este punto se atascan. Tienes que aplicar algún truco aquí, no he llegado más lejos.
Cuanto más compleja sea la estructura de las neuronas, más pesos habrá, y más difícil será para el algoritmo de optimización encontrarlos, para neuronas grandes simplemente se vuelven estúpidos y casi no mejoran el resultado inicial.

¿No demostró recientemente su superalgoritmo en R en un hilo en el que se hablaba del optimizador MT? ¿No funciona?
 
Dr.Trader:

La respuesta no es tan sencilla. Aquí hay una forma, por ejemplo, con una neurona, pero hay que entender cómo funciona la neurona, qué fórmulas tiene, etc.

Suponga que tiene una neurona simple...

код

El código anterior se puede meter en el optimizador...

Qué historia estás contando))))

¿Por qué no te gustó el backprop, si no es un secreto? Más concretamente, en el caso de una capa y un objetivo, todo se simplifica mucho, iterativamente hay que restar el error multiplicado por el intput a la convergencia de los pesos, regla delta se llama, o regla de Heb, no recuerdo exactamente. Wt = Wt-1 - lernrate*error*Input, en general, descenso de gradiente normal

 
Andrey Dik:
¿No fue usted, no hace mucho tiempo, en una rama en la que se discutía el optimizador MT, quien demostró su superalgoritmo en R? ¿No funciona?

Yo, sí, no.

No lo sé:

¿Qué tiene de malo el backprop, si no es un secreto?

Sé cómo hacer el descenso de gradiente, pero requiere un objetivo para cada ejemplo de entrenamiento específico - considerar el resultado para el ejemplo de entrenamiento, y tirar de los pesos en la dirección de la derivada para conseguir el resultado más cercano al real. Y así sucesivamente en todos los ejemplos de formación.

Y este código fue la respuesta a la pregunta de qué hacer si no tienes un objetivo y sólo quieres enseñar a tu neurona a operar en el lado de las ganancias. Deja que juzgue por sí mismo dónde es mejor comprar o vender siempre que el beneficio sea rentable.
Así que le damos incrementos ohlc por barras, obtenemos predicciones de qué hacer en la siguiente barra, simulamos la negociación en base a las predicciones y encontramos el ratio de negociación scarpe. Esta proporción barajada es la única estimación que se le da a la neurona sobre todo el conjunto de datos de entrada.
El optimizador optimizará los pesos de la neurona para que el ratio sharpe crezca.
Si encuentras los gradientes de los pesos con respecto a la relación de nitidez - puedes hacer el descenso de gradiente, será mucho mejor que cambiar ciegamente los pesos.

 
Dr.Trader:

Yo, sí, no.


Entre los cientos de miles de paquetes de R, ¿no hay ninguno que pueda hacer el trabajo con resultados satisfactorios?
 
Andrey Dik:

Entre los cientos de miles de paquetes de R, ¿no hay ninguno que pueda resolver el problema satisfactoriamente?

Hay paquetes que garantizan la solución de este problema, pero no tengo tiempo de esperar meses por un resultado, lo ideal es hacerlo en un fin de semana.
Esta tecnología no es para el ordenador de casa.

 
Dr.Trader:

Hay paquetes que garantizan la solución de este problema, pero no tengo tiempo de esperar meses por un resultado, lo ideal es que lo haga en un fin de semana.
Esta tecnología no es para el ordenador de casa.

Me recuerda un viejo chiste de automovilistas:

- ¿Qué, el coche no arranca bien?

- No, arranca bien, pero tarda mucho.

Si la tecnología no resuelve el problema en un tiempo aceptable, significa que la tecnología no existe.



¿Cuántos parámetros hay que optimizar, en qué rango y en qué incrementos?
 

descargue los datos históricos de balance de compradores y vendedores de onada aquíhttps://www.oanda.com/forex-trading/analysis/historical-positions

trazó y calculó la correlación del saldo con el precio

oanda <- read.csv("C:/User................OANDA_historical_position_ratios_data_EUR_USD.csv")

layout(1:2)
plot(oanda$price ,t="l" , main = "EUR")
plot(oanda$pct_long ,t="l" , main = "balanse",col=2)
abline(h = 50)

cor(oanda$pct_long  , oanda$price)

fy

coeficiente de correlación -0,76

Es interesante observar que el precio se mueve en sentido contrario, ni siquiera en relación con la propia balanza en valores absolutos, sino en relación con la dinámica de la balanza...

Exactamente esta misma mecánica se utiliza en otros mercados de gran liquidez, este equilibrio puede verse de otras maneras, por ejemplo en el cristal del mercado. Estoy seguro de que mucha gente lo conoce, reconozco que yo mismo lo sé desde hace probablemente 6 años, pero lo he escrito para los que no lo sabían, les será útil e interesante.

Si el equilibrio hace girar el mercado, tal vez sea mejor prever el equilibrio en lugar del precio. De todos modos, la previsión de precios en las estrategias de trading no es otra cosa que la previsión de las acciones de los traders en el futuro, por muy banal y trivial que suene, pero cuando se empieza a pensar en cómo se puede predecir la multitud, se vuelve más interesante.... Creo que para entender a la multitud primero debes entenderte a ti mismo, porque nosotros somos la multitud... ¿Cómo se puede predecir una multitud? ¿Qué piensa usted?

Historical Forex Position Ratios | Currency Trend Analysis | OANDA
Historical Forex Position Ratios | Currency Trend Analysis | OANDA
  • www.oanda.com
The following graph shows the historical trend of long-short positions on fxTrade platform alongside the market price for the selected currency pair and time period. Note the Net Position graph is calculated by subtracting the percentage of short positions from long positions. For example, a net position of +20% for EUR/USD means percentages of...
 
SanSanych Fomenko:

Por alguna razón, la conversación deriva constantemente hacia una discusión sobre los méritos y deméritos de ciertos modelos.

Aunque mi experiencia me dice que la contribución al éxito del comercio es muy pequeña.

Es la definición del objetivo y sus predictores lo que lo define.

Sobre el ejemplo de ZZ, he intentado muchas veces demostrar que incluso una variable objetivo tan obvia, ilustrativa y hermosa como ZZ no es lo mismo y tiene obstáculos insuperables al examinarla más de cerca.

Si hablamos de predictores, es bastante obvio para mí, como persona que se ha dedicado a la economía toda su vida, que:

  • el predictor debe ser relevante para la variable objetivo - capacidad de predicción para la variable objetivo
  • el predictor debe estar por delante de la variable objetivo

Si uno se concentra únicamente en resolver estos dos fundamentos para la predicción económica y de divisas, entonces el éxito sólo vendrá de estos dos parámetros. Y la selección del modelo que mejor se ajusta al objetivo y a sus predictores puede mejorar sólo marginalmente el rendimiento, puede dar algunas consideraciones válidas sobre la vida del modelo sin reentrenamiento.


Una vez más, pido que se centren en la variable objetivo y en la justificación de los predictores para esta variable objetivo concreta.

De acuerdo.

 
Dr.Trader:


Y este código era la respuesta a la pregunta de qué hacer si no se define el objetivo y sólo se quiere enseñar a la neurona a operar en el lado positivo. Deja que decida por sí mismo dónde es mejor comprar y dónde es mejor vender, siempre que el beneficio sea rentable.
Así que le damos incrementos ohlc por barras, obtenemos predicciones de qué hacer en la siguiente barra, simulamos la negociación en base a las predicciones y encontramos el ratio de negociación scarpe. Esta proporción barajada es la única estimación que se le da a la neurona sobre todo el conjunto de datos de entrada.
El optimizador optimizará los pesos de la neurona para que el ratio sharpe crezca.
Si encuentras gradientes de pesos con respecto a la relación de nitidez - puedes hacer un escape de gradiente, será mucho mejor que cambiar ciegamente los pesos.

Para ser honesto no lo he probado, por alguna razón me pareció inmediatamente como alquimia, no es una muy buena idea, para perseptron de una capa con un pequeño número de instancias, tal vez algo será terriblemente lento, multicapa no funcionará, IMHO es de poca utilidad. Además la rentabilidad del TS depende directamente de la previsión del rendimiento total por N barras por delante, es imposible corregir una mala previsión, para optimizar toda una estrategia es mucho más arriesgado engañarse a sí mismo.