Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 95
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
"Gopher" no he podido encontrarlo, lo he fastidiado)) Y para qué sirven todos estos ejercicios... cualquiera que sea hippie lo entenderá.
pero eso no es correcto, un buen predictor es el que explica la variable objetivo, no el que se explica a sí mismo, no sé cómo se puede saber la calidad de un predictor sin compararlo con la variable objetivo, no lo entiendo....
Depende del extremo del problema que se aborde. Inicialmente, no conocemos los predictores deseados, y no conocemos la variable objetivo. Y para operar con éxito, necesitamos conocer ambas cosas. Es imposible conocer ambas cosas al mismo tiempo, por eso debemos seleccionar los predictores en función de nuestra variable objetivo. O puede reunir buenos predictores y luego utilizar su experiencia para predecir lo que puede ocurrir con ellos.
Primera aproximación. Yo, por ejemplo, tengo una variable objetivo: subida/bajada del precio en la siguiente barra. Lo cogí no porque sea una buena variable objetivo sino porque tenía que empezar por algún sitio, así que cogí algo más fácil :) A continuación, tomé un montón de indicadores y ahora estoy tratando de enseñar el modelo en "un montón de indicadores" para reconocer "subida / bajada". Me alegro de que haya funcionado al menos un poco, porque no hay garantía de que la variable objetivo elegida al azar sea predecible y no hay garantía de que los predictores tengan suficiente información para hacer una predicción. En este caso, ForeCA sólo sirve para preprocesar los datos, para llevarlos a una forma en la que sea más fácil que la red neuronal aprenda. Por ejemplo, se pueden normalizar los datos en su lugar, o se pueden tomar los deltas de los valores adyacentes, o se pueden hacer componentes PCA a partir de ellos, etc. Todo esto facilita el trabajo de neuronka, es más fácil entrenar con esos datos preprocesados. Lo que ForeCA debe hacer en este caso es agrupar clases similares de alguna manera. Pero no es seguro que ForeCA ayude en esto - depende de su suerte y de los predictores disponibles y de la variable objetivo.
En resumen, en este caso la variable objetivo se empareja con un modelo y unos predictores que, todos juntos, tienen milagrosamente al menos cierto poder predictivo.
Otro enfoque. Tomamos un montón de predictores, los clasificamos según su "fiabilidad" y eliminamos los irrelevantes. Por ejemplo, si el indicador tiene un valor constante todo el tiempo, es obviamente inútil. Si el predictor se generó con la función random(), tampoco servirá. Es decir, es importante dejar los predictores que realmente poseen alguna información. No sé mucho al respecto, lo único que recuerdo - cómo encontrar la importancia del predictor para el componente PCA (parámetro pruneSig en caret), parece ser una estimación adecuada. En este caso, ForeCA debería separar las moscas de las chuletas y ayudar a encontrar predictores fiables. Cómo saben todos estos paquetes lo que es importante y lo que no lo es es un misterio, pero encuentran predictores ruidosos y aleatorios y los rechazan. Un predictor de calidad será aquel que no sea aleatorio ni ruidoso.
A continuación, al disponer de un conjunto de predictores de calidad, hay que probarlos para predecir algo. Por ejemplo, se puede construir un mapa de kohonen y encontrar la dependencia del comportamiento del mercado en la clase en el mapa de kohonen. Saque conclusiones sobre las clases con las que debe operar y las que no, y construya así una nueva variable objetivo para usted. La variable objetivo tendrá una alta predictibilidad con los predictores ya que está construida sobre ellos, todo suena bien, pero creo que habrá muchos problemas y trampas propias.
Depende del extremo del problema que se aborde. Inicialmente, no conocemos los predictores deseados, y no conocemos la variable objetivo. Y para operar con éxito, necesitamos conocer ambas cosas. Es imposible conocer ambas cosas al mismo tiempo, por eso debemos seleccionar los predictores en función de nuestra variable objetivo. O bien seleccionar unos predictores de buena calidad y luego ver lo que se puede predecir con ellos.
Primera aproximación.....
Otro enfoque....
Los enfoques son varios, pero ¿vamos a comerciar?
¿Qué vamos a cambiar?
¿Una tendencia?
¿Desviación?
¿Nivel?
Tenga en cuenta que sólo tenemos dos órdenes: COMPRA/VENTA. ¿O hay una determinada variedad de ellos? Entrar en COMPRA / Salir en COMPRA / Entrar en VENTA / Salir en VENTA
Son variantes de la variable objetivo.
Siguiente.
¿Podemos formar una variable objetivo para lo que comerciamos?
¿O hay algún desfase entre el objetivo y la idea del sistema de comercio, que es un error?
Etc.
Pero tenemos que empezar con lo que estamos negociando.
hay que multiplicar la variable v2 por su retraso y dividirla por v3 .
v2;Lag1_v2;v3;v11(цель);v2*Lag1_v2/v3
No es necesario descargar el archivo con el fichero.
lag no ve la red.
SanSanych Fomenko:
Saber exactamente con qué comerciar. Hay muchas opciones, pero puedes volver a elegir algo imprevisible y dedicar mucho tiempo a aprender sobre la imprevisibilidad. Es necesario elegir algo que sea más fácil de predecir con los predictores disponibles. Hay que pensar mucho en cómo hacerlo.
Hice un código de prueba para la predicción con ForeCA. Necesito una tabla trainData, con la variable objetivo en la última columna. Se dividirá por filas en 2 partes para la formación/validación (se dividirá estrictamente en el centro). El modelo predictivo es lm, por alguna razón siempre se usa con PCA en los ejemplos, creo que aquí también funcionará. Puede sustituir la función lm(...) en el código por otro modelo.
ForeCA requiere datos en matriz con rango completo después de cov(). He adjuntado un código que comprueba esto de antemano, y elimina las columnas con bajo valor propio. Todo está en un bucle, y tarda mucho en ejecutarse, y probablemente podría haberse simplificado. Tengo parte de los predictores eliminados de esta manera, no sé si es bueno o no.
Hasta ahora no he conseguido ningún resultado, el paquete se comió 5 gigas de desesperación y durante mucho tiempo me pregunté, pruébalo, tal vez le dé buena predicción a alguien.
Muestra 10 filas con estas columnas (v2;Lag1_v2;v3;v11(objetivo) y una columna con la fórmula v2*Lag1_v2/v3)
v2;Lag1_v2;v3;v11(цель);v2*Lag1_v2/v3
No es necesario descargar el archivo con el fichero.
Realizado un código de prueba para la previsión con ForeCA.....
Yo también... Decidí hacer uno rápido, tomé iris, añadí 10 predictores con ruido
y sólo entrené Forest, luego tomé la misma fecha y usando foreca la reduje a 4 predictores y entrené Forest de nuevo
resultado:
solo forrest en los nuevos datos
forrest ni siquiera notó el ruido en los datos ...
y foreca es peor
Yo también... Decidí hacer un arreglo rápido, añadí 10 predictores con ruido
y sólo entrenó a Forest, luego tomó la misma fecha con ruido y usando foreCA redujo la dimensión a 4 predictores y entrenó a Forest de nuevo en ellos
resultado:
solo forrest en los nuevos datos
forrest ni siquiera notó el ruido en los datos ...
y con foreca las cosas son peores.
La verdad es buena, pero la felicidad es mejor.
Verdad = 42%, oh-tan-positivo para la depo.
Aunque es posible vivir felizmente, pero con cero depo