Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 2587
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Hoy se ha añadido un predictor de distancia de la barra actual. Puedes tener un número o sólo una hora. Me tomé el tiempo.
Todo está más o menos claro con el tiempo cíclico. No entiendo mucho sobre el tiempo lineal - ¿será diferente para la bandeja y el avance? ¿O se toma la "barra de corriente" de forma independiente para cada muestra?
Tuve la idea de tomar una regresión logística lineal ordinaria y ver la significación del coeficiente de diferencia con respecto a cero en el tiempo (o en alguna función del tiempo) o comparar esta significación con la de otros predictores.
El tiempo cíclico está más o menos claro. No está muy claro con el tiempo lineal - ¿será diferente para una bandeja y un delantero? ¿O la "barra actual" es diferente para cada muestra?
Tuve la idea de tomar una regresión logística lineal ordinaria y ver la significación de un coeficiente de diferencia con respecto a cero en el tiempo (o en alguna función del tiempo) o comparar esta significación con la de otros predictores.
Una onda sinusoidal es para el tiempo cíclico como la hora del día o el día de la semana. Y allí originalmente (Aleksey Vyazmikin) hablaba del tiempo lineal ordinario para tratar de captar el efecto de la no estacionariedad en forma de patrones decadentes. En mi opinión, para resolver este tipo de problemas deberían utilizarse modelos sencillos y fácilmente interpretables. Los modelos complejos son para fines prácticos, los simples para el análisis preliminar.
Sin embargo, existen dudas sobre la utilidad práctica de este tipo de manipulaciones en este caso concreto. Lo más probable es que nuestros patrones no cambien uniformemente a lo largo del tiempo, sino cíclicamente (pero sin periodicidad).
Una onda sinusoidal es para el tiempo cíclico como la hora del día o el día de la semana. Y allí originalmente (Aleksey Vyazmikin) hablaba del tiempo lineal ordinario para intentar captar el efecto de la no estacionariedad en forma de decaimiento del patrón. En mi opinión, para resolver este tipo de problemas deberían utilizarse modelos sencillos y fácilmente interpretables. Los modelos complejos son para fines prácticos, los simples para el análisis preliminar.
Sin embargo, existen dudas sobre la utilidad práctica de este tipo de manipulaciones en este caso concreto. Lo más probable es que nuestras regularidades cambien con el tiempo no de manera uniforme, sino cíclicamente (pero sin periodicidad).
En general, la idea de alimentar el tiempo lineal es mala. Por cierto, sí: en la bandeja es diferente en cada línea y en el forward analizamos sólo 1 línea a la vez, es decir, el tiempo siempre será actual (que no estaba en la bandeja), y el número siempre = 0 (y en la bandeja de 0 a 5000). Es decir, no se puede suministrar ni la hora ni el número de bandeja. Esto es lo que ha demostrado la prueba.
Aunque lo intentaré de nuevo con el número... Porque el número cero se incluirá en la parte del árbol que < alguna división (por ejemplo <5000) es decir, se utilizará una parte del árbol para el reenvío. No todo. Algo que decidí tomar tiempo para probar, por error.
Pero, ¿cómo hacer una división por número estaba a una distancia óptima para adelante?
Lo he probado. El modelo con 5000 barras de historia para aprender, después de añadir el número de línea como característica, para Comprar mejoró, para Vender en algunos aspectos peor, en otros mejor.
Al mismo tiempo, si enseñamos en 10000 bares, ambos modelos fallan. Es decir, no se ha cumplido la tarea principal de añadir el número de línea para la determinación automática de la longitud necesaria del historial.
Hasta ahora, sólo tenemos que optimizar/seleccionar manualmente la longitud del historial para el entrenamiento.
Parece que la idea básica del uso de las métricas personalizadas de los operadores es que se utilicen en la fase de selección del modelo. En la fase de formación, se utilizan las métricas estándar. Probablemente, es algo parecido a lo que Maxim Dmitrievsky escribió antes sobre este tema.
Un pequeño artículo para ilustrar el enfoque.
Aparentemente, la idea principal del uso de las métricas del operador personalizado es que se utilizan en la etapa de selección del modelo.
Aunque hay algunas ideas de utilizar métricas personalizadas en la etapa de formación. Al mismo tiempo, no son del todo similares a las de los comerciantes, sino que son versiones modificadas de las estándar para MO.
Tal vez las métricas de los comerciantes conduzcan a una mala condicionalidad. Esto recuerda, por ejemplo, al uso de la entropía cruzada en lugar de la tasa de error original de interés (se dice que esta última es poco sensible).
Es necesario reducir de alguna manera las diferencias teóricas y prácticas entre la formación en IR y la optimización en el probador.
Aunque hay algunas ideas de utilizar métricas personalizadas ya en la fase de formación. Sin embargo, no son exactamente como las métricas de los comerciantes, sino variantes retocadas de las métricas estándar de MOE.
Tal vez las métricas de los comerciantes conduzcan a una mala condicionalidad. Se asemeja, por ejemplo, a utilizar la entropía cruzada en lugar de la frecuencia de error original de interés( dicen de la poca sensibilidad de esta última).
Debemos reducir de algún modo las diferencias teóricas y prácticas entre la formación en MO y la optimización en el probador.
Cuando hacía modelos con TP/SL la precisión era absoluta. En el modelo y en el probador, las operaciones se abrieron en las mismas barras y se cerraron con el mismo TP/SL. Pero la rentabilidad fue de alrededor de 0.
Estaba probando usando precios abiertos. Pero hay un problema con ellos... En la barra se utiliza el diferencial mínimo.
Es decir, parte de las órdenes y TP/SL en el probador se activarán en
PIDE ALTO = OFERTA ALTA + diferencial mínimo.
Los que se activarían en el comercio real no funcionarán
ASK HIGH (real) = BID HIGH + Spread calculado por el ASK máximo
Un par de veces he sugerido a los desarrolladores que guarden en barras no el diferencial mínimo, sino
Diferencia = PIDIDA ALTA - OFERTA ALTA.
Con este diferencial, la prueba por precios abiertos estaría más cerca de la prueba por ticks reales.
Por ejemplo, el spread mínimo de una barra = 0,00002, mientras que el Spread = ASK HIGH - BID HIGH = 0,00020. Es decir, en realidad el precio ASK era mayor que el del probador en 0,00018. Dónde podrían haberse producido las aperturas/cierres de operaciones.
Pero no ha habido respuesta de MetaQuotes (en ruso)
PD: Para ser más precisos, también hay que calcular el diferencial Low Ask.