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

 
Maxim Dmitrievsky:

Si se trata de clusters, basta con barrer las estadísticas sobre los nuevos datos. Si son iguales, puedes construir TC.

Parámetros en la barra. Los incrementos, las velocidades, los promedios de la historia. No entiendo por qué todo el mundo considera los parámetros en la última barra completa, pero es esencialmente incorrecto. Los promedios se retrasan la mitad o un poco menos que el rango de promediación, y los incrementos no son lo suficientemente significativos. Y nadie cuenta los parámetros de la serie en su conjunto. Las dos gradaciones de plano y tendencia ni siquiera tienen gracia.
 
Maxim Dmitrievsky:

Si los grupos son los mismos, entonces puedes construir CTs. Si son iguales, podemos construir TC.

Hay que entender claramente el tema de las agrupaciones y las estadísticas. Si es idéntico en todos los instrumentos del 70 al 20, entonces es posible))

 
mytarmailS:

El catbust no ayudará, el problema es el tamaño de los datos, ni siquiera podré crear rasgos, ni siquiera llegarás al entrenamiento...

Haz una muestra de 50k, que sea pequeña, que no sea grave, que sea más posible el sobreentrenamiento, .... ..., ... El objetivo es crear un robot para la producción, pero sólo para reducir el error mediante esfuerzos conjuntos, y luego los conocimientos adquiridos podrían aplicarse a cualquier herramienta y mercado, 50 K serán suficientes para ver qué signos significan algo.

Bien, haré una pequeña muestra.

mytarmailS:

Si no conoces OHLK, no tienes que escribirlo, ¿por qué tienes que desplazar todo OHLK? Nadie lo hace, sólo tienes que desplazar ZZ un paso, como si miraras al futuro un paso para aprender y ya está. ¿Has leído al menos un artículo de Vladimir Perervenko sobre deerelearning? Por favor, léelo. Es muy incómodo cuando las acciones óptimas con los datos se han asentado y todo el mundo está acostumbrado a ellas, y alguien intenta hacer lo mismo pero de forma diferente, es algo sin sentido y molesto, y provoca muchos errores en las personas que intentan trabajar con los datos de tal autor.

He leído sus artículos, pero no entiendo el código R, así que no puedo entender todo lo que hay.

Así que te voy a preguntar, ya que entiendes el tema. La clasificación tiene lugar en la barra cero, cuando sólo se conoce el precio de apertura, ya que entiendo que no se utiliza el precio de apertura de la barra cero sino sólo la información de la 1ª barra y posteriores? ¿De hecho el objetivo determina el vector ZZ en la barra de cero? Entiendo que se predijo el vector de la siguiente barra - eso no es esencial, ¿verdad? De lo contrario, tengo que volver a hacer un montón de trabajo, es agotador.

Sólo tengo una solución lista para tomar datos y aplicar el modelo, no un modelo de cálculo.

mytarmailS:

Si después de todo esto todavía quieres hacer algo tengo los siguientes requisitos

1) los datos 50-60k no más, preferiblemente un archivo, sólo están de acuerdo en que el n de la última vela será la prueba

2) Los datos, preferiblemente sin colas, para poder tener en cuenta no sólo los últimos precios, sino también los soportes y las resistencias, lo que es imposible con las colas

3) el objetivo debe estar ya incluido en los datos

4) datos en el formato fecha,hora,o,h,l,c, objetivo


¿O debo hacer un conjunto de datos?

Puede exigir a los que se comprometieron - es decir, no a mí :) Hagamos un trato.

1. Hagamos 50 para el entrenamiento y otros 50 para la prueba (muestreo fuera del entrenamiento).

2. ok.

3. ok.

4. OK.

Añadido: Se dio cuenta de que los futuros Si-3.20 no tienen suficientes barras normales (22793) y no quiere pegar.


Añadí una muestra del sber - obtuve una exactitud de 67.

Archivos adjuntos:
Setup.zip  891 kb
 
Aleksey Vyazmikin:

Así que voy a preguntarte, ya que te has dado cuenta de esto. La clasificación tiene lugar en la barra cero, cuando sólo se conoce el precio de apertura, ya que entiendo que no se utiliza el precio de apertura de la barra cero, sino sólo la información de la barra 1 y posteriores? ¿De hecho el objetivo determina el vector ZZ en la barra de cero? Entiendo que se predijo el vector de la siguiente barra - eso no es esencial, ¿verdad? De lo contrario, hay que volver a hacer un montón de trabajos, lo cual es agotador.

La clasificación se realiza en la última barra donde la cláusula conocida (es decir, una vela OHLS completa), predecimos el signo ZZ de una vela futura. ¿Por qué tener en cuenta la vela en la que la única opción conocida no puedo entender, ¿cuál es la ventaja además de la complejidad ? tanto en la comprensión y en la realización, y si usted entiende que la opción [i] es casi siempre igual a la cláusula [i-1], entonces sólo tengo un signo de interrogación para este enfoque


Aleksey Vyazmikin:

Se puede exigir a los que se han comprometido, es decir, no a mí :) Vamos a llegar a un acuerdo.

No te exijo nada personalmente). Requisito de la muestra, la muestra debe ser la misma para todos para que se pueda comparar algo ¿no? Creo que es obvio.


Y gracias por escuchar )

1) datos 50-60k no más , preferiblemente un archivo.........

Tengamos 50 para la formación y otros 50 para la prueba (muestra fuera de la formación).

Me imaginé que 50-60k tal vez por curiosidad, ¿por qué no duplicar? )))

)))

1) datos 50-60k no más, mejor un solo archivo, solo de acuerdo

Y gracias por rellenar un expediente en lugar de dos. ))
 

Lo probé primero, fuera de la caja, por así decirlo...

Sólo los últimos n valores intervienen en la predicción, como tú, porque el error es el mismo.

Tengo 217 indicadores, seguro que hay algunas redundancias pero me da pereza limpiarlas.

He utilizado el archivoOHLC_Train.csv para entrenar y validar un total de 54147


probó el modelo en las primeras 10k observaciones (para ser exactos, 8k, las primeras 2k no se tuvieron en cuenta, porque los indicadores se calcularon sobre ellas)

probó el modelo en los 44k datos restantes, por lo que creo que no hay reentrenamiento. 5,5 veces trayn 44/8 =5,5


De los modelos que he probado boosting y forrest, boosting no me impresionó y he dejado de hacerlo en forrest.

en el conjunto de la formación un fuerte desequilibrio clases, pero soy demasiado perezoso para chamán

table(d$Target[tr])

   0    1 
3335 4666 

modelo final sobre las características actuales - bosque 200 árboles

en bandeja...

 Type of random forest: classification
                     Number of trees: 200
No. of variables tried at each split: 14

        OOB estimate of  error rate: 14.75%
Confusion matrix:
     0    1 class.error
0 2557  778  0.23328336
1  402 4264  0.08615517

en la prueba

Confusion Matrix and Statistics

          Reference
Prediction     0     1
         0 12449  5303
         1  9260 17135
                                          
               Accuracy : 0.6701          
                 95% CI : (0.6657, 0.6745)
    No Information Rate : 0.5083          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.3381          
                                          
 Mcnemar's Test P-Value : < 2.2e-16       
                                          
            Sensitivity : 0.5734          
            Specificity : 0.7637          
         Pos Pred Value : 0.7013          
         Neg Pred Value : 0.6492          
             Prevalence : 0.4917          
         Detection Rate : 0.2820          
   Detection Prevalence : 0.4021          
      Balanced Accuracy : 0.6686          
                                          
       'Positive' Class : 0  

Como puedes ver los resultados son idénticos a los tuyos, y no necesitas millones de datos 50k es suficiente para encontrar un patrón si es que hay alguno

Así que tenemos los mismos resultados, este es nuestro punto de partida, ahora hay que mejorar este error

 

)) Hohma ))

Se han eliminado todos los llamados indicadores de análisis técnico

Hay 86 indicadores, no 217 como en el ejemplo anterior

Y la calidad del modelo sólo ha mejorado )


Confusion Matrix and Statistics

          Reference
Prediction     0     1
         0 12769  5597
         1  8940 16841
                                          
               Accuracy : 0.6707          
                 95% CI : (0.6663, 0.6751)
    No Information Rate : 0.5083          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.3396          
                                          
 Mcnemar's Test P-Value : < 2.2e-16       
                                          
            Sensitivity : 0.5882          
            Specificity : 0.7506          
         Pos Pred Value : 0.6953          
         Neg Pred Value : 0.6532          
             Prevalence : 0.4917          
         Detection Rate : 0.2892          
   Detection Prevalence : 0.4160          
      Balanced Accuracy : 0.6694          
                                          
       'Positive' Class : 0 
 
mytarmailS:

La clasificación se produce en la última barra en la que la cláusula conocida (esas velas de pleno derecho OHLS), predecir el signo ZZ vela futuro . ¿Por qué tener en cuenta la vela en la que la única opción conocida no puedo entender, ¿cuál es la ventaja además de la complejidad ? tanto en la comprensión y en la aplicación, y si usted entiende que la opción [i] es casi siempre igual a la cláusula [i-1], entonces sólo tengo un signo de interrogación para este enfoque

No lo puedes entender porque tienes los datos en R y no puedes saber en el terminal cuando se forma el OHLC en la barra actual, por eso puedes obtener el OHLC sólo en la barra cero de la primera barra. Bien Abierto en la barra de cero son los nuevos datos de tiempo - especialmente relevante para los grandes TFs, porque tengo una clase de los mismos predictores en mi muestra, pero aplicado en diferentes TFs.


mytarmailS:


1) datos 50-60k no más, preferiblemente un archivo.........

Demos 50 para la formación y otros 50 para la prueba (muestra fuera de la formación).

Probablemente he nombrado 50-60k, ¿por qué no duplicarlo? )))

)))

1) datos 50-60k no más, un solo archivo es mejor, sólo de acuerdo

Y gracias por rellenar un expediente en lugar de dos. ))
mytarmailS:

entrenado y validado en el archivoOHLC_Train.csv un total de 54147

probó el modelo en las primeras 10.000 observaciones (para ser exactos, 8.000, las primeras 2.000 no se tuvieron en cuenta, porque se utilizaron para calcular los indicadores)

probé el modelo en los 44k datos restantes, por lo que creo que no hay reentrenamiento. la prueba es 5,5 veces más tren 44/8 =5,5

Como puedes ver los resultados son idénticos a los tuyos y no necesito millones de datos 50k es suficiente para encontrar los patrones si acaso

Así que tenemos los mismos resultados, este es nuestro punto de partida, ahora hay que mejorar este error

He dividido la muestra en dos archivos, el primero para los intentos de aprendizaje retorcidos, y el segundo para comprobar los resultados del aprendizaje.

¿No tiene una opción para guardar el modelo y probarlo con los nuevos datos? Si es así, por favor, compruébalo, he dado el resultado de la muestra OHLC_Exam.csv

¿Puede devolver de la misma manera, dividiendo estos dos archivos, pero añadiendo sus predictores y la columna con el resultado de la clasificación?


En cuanto al sobreentrenamiento o la falta de él.

En mi opinión es un claro sobreentrenamiento.

 
Aleksey Vyazmikin:

Sí... Todo es más triste en los nuevos datos (((.

Confusion Matrix and Statistics

          Reference
Prediction    0    1
         0 9215 5517
         1 3654 7787
                                          
               Accuracy : 0.6496          
                 95% CI : (0.6438, 0.6554)
    No Information Rate : 0.5083          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.3007          
                                          
 Mcnemar's Test P-Value : < 2.2e-16       
                                          
            Sensitivity : 0.7161          
            Specificity : 0.5853          
         Pos Pred Value : 0.6255          
         Neg Pred Value : 0.6806          
             Prevalence : 0.4917          
         Detection Rate : 0.3521          
   Detection Prevalence : 0.5629          
      Balanced Accuracy : 0.6507          
                                          
       'Positive' Class : 0


Aquí están los archivos, NO use las primeras 2k cadenas en la bandeja

en las primeras 100 líneas de la prueba

UPD====

los archivos no encajan, por favor envíeme un correo electrónico en su bandeja de entrada

 
mytarmailS:

Sí... Todo es más triste en los nuevos datos (((


Aquí están los archivos, NO use las primeras 2k líneas en el camino

en la prueba, las primeras 100 líneas.

No hay archivos en la aplicación.

Cambié el desglose del muestreo para el entrenamiento y la validación, para la validación tomé cada 5 filas, obtuve un gráfico curioso

En la muestra OHLC_Exam.csv Precisión 0,63


Por X, cada nuevo árbol disminuye el resultado, lo que indica un sobreentrenamiento debido a la insuficiencia de ejemplos en la muestra.

Comprime el archivo con un zip.
 
Aleksey Vyazmikin:

No hay archivos en la aplicación.

Cambié el desglose del muestreo para el entrenamiento y la validación, para la validación tomé cada 5 filas y obtuve un gráfico curioso

En la muestra OHLC_Exam.csv Precisión 0,63


Por X, cada nuevo árbol disminuye el resultado, lo que indica un sobreentrenamiento debido a la insuficiencia de ejemplos en la muestra.

Comprime el archivo con un zip.

Sí, sí nuestros modelos están sobre-entrenados...

Aquí tienes un enlace para descargar los archivos, aunque el archivo comprimido no cabe en el foro

https://dropmefiles.com.ua/56CDZB


Pruebe el modelo en mis signos, me pregunto qué precisión será