Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 115
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
¿Es usted por casualidad un empleado de una casa de bolsa a la antigua usanza?
Creo que tu "método secreto" es comerciar con mashki (al azar) y doblar cuando pierdes, ¿no?)
Tengo que vivir a comisión, señores...
Crear un comité, y hacer pruebas:
Hay un problema en que las clases originales son de tipo factorial, y el resultado en la matriz se convierte en los números ordinales del factor correspondiente. Así que al final la comparación pasa por as.numberic().
Para que todo funcione correctamente con los factores, necesitamos crear predictionMatrix como data.frame, pero después de eso mi función rbind dio varnings, necesito cambiar algo más, no entendí que está mal ahí.
Algunas reflexiones sobre el código:
1. No es necesario utilizar la construcción for() a menos que sea absolutamente necesario. Existe una magnífica alternativa a foreach() que, además de la alta velocidad de ejecución, permite paralelizar los cálculos entre los núcleos accesibles.
2) El conjunto de modelos tiene sentido y da resultados sólo si los modelos tienen diferencias significativas. Dos variantes: un conjunto de datos - diferentes modelos (RF, DT, SVM); un modelo - diferentes conjuntos de datos. Un ejemplo de este último caso es el siguiente
Elige los modelos con mejor rendimiento y trabaja con ellos a partir de ahí.
Buena suerte
Algunas reflexiones sobre el código:
1. No es necesario utilizar for() a menos que sea absolutamente necesario. Existe una magnífica alternativa a foreach() que, además de una alta velocidad de ejecución, permite paralelizar los cálculos entre los núcleos disponibles.
2) El conjunto de modelos tiene sentido y da resultados sólo si los modelos tienen diferencias significativas. Dos variantes: un conjunto de datos - diferentes modelos (RF, DT, SVM); un modelo - diferentes conjuntos de datos. Un ejemplo de esta última opción es el siguiente
Elige los modelos con mejores prestaciones y trabaja con ellos.
Buena suerte
Luego elegimos el modelo con los mejores indicadores y trabajamos con ellos.
Aquí es donde radica el problema.
¿Cuál es el mejor rendimiento en función de qué datos?
Por qué lo pregunto, porque Vkontas está tratando de averiguar cómo elegir un modelo (entre muchos modelos) utilizando datos de entrenamiento y de prueba. Pero aquí lo tienen tan sencillo: tomamos los mejores indicadores y trabajamos con ellos.
Aquí es donde radica el problema.
¿Cuál es el mejor rendimiento en función de qué datos?
Por qué lo pregunto, porque Vkontas está tratando de averiguar cómo elegir un modelo (entre muchos modelos) utilizando datos de entrenamiento y de prueba. Pero aquí lo tienen tan sencillo: tomamos los mejores indicadores y trabajamos con ellos.
El conjunto inicial se divide en estratificado de entrenamiento/prueba. En el tren entrenamos y en la prueba probamos respectivamente. ¿No está claro en el código?
Buena suerte
Me gustaría verte más a menudo. No desaparezcas.
El conjunto inicial se divide en estratificado de entrenamiento/prueba. En el tren entrenamos en la prueba respectivamente probamos. ¿Realmente no está claro en el código?
Buena suerte,
Probaré con rminer::holdout, gracias por el ejemplo. Por lo general, según la experiencia, si elegimos un modelo y sus parámetros para obtener el mejor resultado en una muestra de prueba, el modelo acabará dando un resultado realmente bueno en la muestra de prueba. Pero el resultado suele ser muy bajo en los datos nuevos. Me refiero específicamente a los datos de Forex, en otras áreas es un enfoque bastante normal. No espero que rminer::holdout forex cambie nada drásticamente.
entonces el modelo acabará mostrando un resultado realmente bueno en la muestra de prueba. Pero el resultado suele ser muy bajo en los datos nuevos. Me refiero concretamente a los datos de Forex,
El mercado camina en contra de sus propias estadísticas, esta es una teoría que he confirmado con la práctica, es la única teoría que conozco que responde a todo, desde por qué el modelo no funciona con nuevos datos hasta por qué todo el mundo pierde dinero en el mercado en primer lugar...
¿por qué te resulta tan difícil aceptarlo?
¿los viejos conocimientos y hábitos son tan poco favorables a la nueva información?
¿por qué concentrarse tanto en el modelo cuando la diferencia de rendimiento entre los modelos está entre el 0,5% y el 5%?
ningún modelo puede ayudar porque todo depende de los datos
He publicado esta foto más de una vez, pero sin embargo.....
Fíjate bien, esta es la diferencia entre los pronósticos acumulados de compra y venta de dos redes cum(buy.signal) - cum(sell.signal), idealmente si nuestro modelo es bueno entonces el gráfico azul debería correlacionarse con el precio, significa que la red entiende bien los datos y reacciona adecuadamente a ellos, de hecho lo que vemos????????
No se puede decir que el modelo no entienda los datos, aunque la correlación sea inversa pero la estructura sea idéntica, pero el mercado se mueve en contra de las previsiones y de las estadísticas que la red aprendió en el pasado...
Ahora dígame, ¿qué modelo puede manejarlo? ¿Qué validación cruzada puede ayudar aquí? cualquier entrenamiento del modelo seguido de datos fuera de muestra (nuevos datos) no sería más que un ajuste de un modelo que funciona bien en datos fuera de muestra y nada más... Y se ve todo el tiempo cuando uno mismo entrena modelos que en datos nuevos el modelo siempre falla, ¿no lo ves ? ¡Te doy la respuesta de por qué sucede!
¿Se trata del gráfico con los datos sobre los que se realizó el entrenamiento propiamente dicho, o es sólo una prueba sobre los nuevos datos? Si se dibuja un gráfico para ambos periodos de tiempo a la vez, tanto para el entrenamiento como para la prueba, entonces en la primera parte (entrenamiento) de los datos habrá una superposición completa del gráfico azul y gris, y cuando los nuevos datos comiencen habrá un cambio brusco a la correlación inversa?
Si fuera tan sencillo, bastaría con entrenar cualquier modelo, y sólo invertir sus predicciones. Eso no funciona, por desgracia.
Enseñar un modelo que da un 0% de precisión en los datos nuevos es tan difícil como conseguir un 100% de precisión. El lanzamiento por defecto de una moneda, por ejemplo, tiene una precisión del 50%, y salirse con la suya con unas decenas de porcentaje en cualquier dirección es igualmente difícil. El problema no es que los modelos den resultados opuestos, sino que algunas barras darán resultados correctos, otras darán resultados erróneos, y todo esto es aleatorio y no hay forma de filtrar sólo los resultados correctos.
¿Y por qué se resta la previsión S de la previsión B? ¿Tal vez deberías hacer lo contrario, S-B? Entonces, la correlación también sería correcta de repente.