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

 
Dr.Trader:

La segunda parte del experimento es.

Tenía 14 predictores previamente seleccionados, añadí otros 14 con valores aleatorios. El número máximo permitido de componentes de ForeCA es ahora de 28.

Precisión de la predicción con los 28 componentes en los datos de entrenamiento en ambos casos (con y sin foreCA) 76%, precisión en los nuevos datos en ambos casos 57%.

No creo que foreCA haya podido con la basura de los pronósticos, no he visto el milagro esperado.

¡Eso es genial!

Gracias por reducir mi carga de trabajo

 
Me he dado cuenta de que en otros datos mi ejemplo de ForeCA no ha funcionado, porque la covarianza de los predictores es demasiado alta.
Esto se puede resolver con este código:
#это  строки кода из примера:
targetName <- colnames(trainData)[ncol(trainData)]
predictorColnames <- colnames(trainData)[-ncol(trainData)]
#...
#это  нужно добавить сразу после них:
while(TRUE){
        covMatrix <- cov(as.matrix(trainData[,predictorColnames]))
        covMatrixRank <- qr(covMatrix)$rank
        if(covMatrixRank == ncol(covMatrix)){
                break
        }else{
                eigenValues <- abs(eigen(covMatrix)$values)
                #  eigenValuesLow <- order(eigenValues, decreasing=FALSE)[1:(ncol(covMatrix)-covMatrixRank)]
                #  predictorColnames <- predictorColnames[-eigenValuesLow]
                eigenValuesHigh <- order(eigenValues, decreasing=TRUE)[1]
                predictorColnames <- predictorColnames[-eigenValuesHigh]
        }
}
Simplemente hay que eliminar los predictores con alto valor propio de la matriz de covarianza uno por uno. Tal vez deberíamos eliminar los predictores con bajo valor propio a la inversa. Pero sigue siendo largo e ineficaz, pero cómo mejorarlo, aún no lo sé.
 

¿Por qué los indicadores nunca han funcionado y nunca lo harán? Mi opinión... Y cómo intentar solucionarlo....

un poco sobre estar drogado... :)

Todos sabemos que los mercados no son estacionarios, pero la mayoría de las veces utilizamos herramientas para el análisis del mercado, incluido yo mismo.

Por ejemplo, hay algoritmos bien establecidos para el análisis de datos no estacionarios, y no hay muchos de ellos: modelos ocultos de Markov "HMM" , método de contabilidad de grupo de argumentos "MGUA", y redes neuronales recurrentes para BP específicamente, ¿por qué no usamos estos algoritmos? Pero todos usamos andamios, neuronas convencionales, los clasificadores más estúpidos que no tienen nada que ver con el problema

¿Por qué? ¿Por qué aunque entiendo todo esto, sigo practicando la RF... Lo que nos pasa... Escriba lo que piensa al respecto...

Ahora sobre los indicadores y un poco sobre el frikismo de nuevo...;)

Sabiendo que los mercados son inestables, estamos tratando de encontrar algunos indicadores que funcionen en el futuro, ¿cómo es posible si el mercado cambia constantemente? La respuesta es obvia - ¡¡¡de ninguna manera!!! ¿O no es tan simple ...?

Creo que hay una manera de ser más objetivo sobre el mercado, utilizando indicadores, el análisis del espectro, en este caso la ondícula, ayudará a ilustrar nuestro pensamiento

w

en la imagen, en el lado izquierdo hay una escala que muestra los periodos, es decir, los periodos que existen en el mercado, cuanto más zona roja haya en el gráfico, más fuerte es el periodo, el periodo más fuerte se perfila con contorno negro como en la imagen...

Por favor, no siga leyendo hasta que ejecute el código

una vez terminado el código, pulse la "flecha atrás" sobre la imagen en el estudio para ver todas las imágenes que salieron después de ejecutar el código

install.packages("dplR")

hankel <- function(data, r=10) {
  do.call(cbind,
          lapply(0:(r-1),function(i) { data[(i+1):(length(data)-(r-1-i))]}))} #hankel  matrx

price <- cumsum(rnorm(200))+1000    ;    plot(price,t="l")
H.price <- hankel(price,100)

library(dplR)
for(i in nrow(H.price):1 ){
  m <- morlet(y1 = H.price[i,] )
  wavelet.plot(m)
}

Ya ves que los periodos en el mercado están constantemente flotando como nubes en el cielo y ahora está claro que no hay nada que hacer en el mercado con periodo fijo, pero puedes adaptarte. ¿Y si se identifica el actual período fuerte en el mercado y se ajusta constantemente el indicador exactamente para ese período real - objetivo, que es exactamente ahora en el mercado?

enlaces

https://cran.r-project.org/web/packages/dplR/vignettes/timeseries-dplR.pdf

https://www.r-bloggers.com/wavelet-spectrogram-non-stationary-financial-time-series-analysis-using-r-ttrquantmoddplr-with-usdeur/

 

Para los amantes de la NS , aquí

Aprendizaje profundo Parte 1: Comparación de los marcos de aprendizaje profundo simbólico

Deep Learning Part 1: Comparison of Symbolic Deep Learning Frameworks
Deep Learning Part 1: Comparison of Symbolic Deep Learning Frameworks
  • Joseph Rickert
  • www.r-bloggers.com
This blog series is based on my upcoming talk on re-usability of Deep Learning Models at the Hadoop+Strata World Conference in Singapore. This blog series will be in several parts – where I describe my experiences and go deep into the reasons behind my choices. Deep learning is an emerging field of research, which has its application across...
 
mytarmailS:

¿Por qué los indicadores nunca han funcionado y nunca lo harán? Mi opinión... Y cómo podemos intentar arreglarlo....

Todos sabemos que los mercados no son estacionarios, pero la inmensa mayoría de las herramientas que utilizamos para analizar el mercado son series estacionarias, incluido yo, no sé por qué, ¿cuál es el motivo? ¿moda? ¿obstinación?

Sabiendo que los mercados no son estacionarios, tratamos de encontrar algunos indicadores que funcionen en el futuro, ¿cómo es posible si el mercado cambia constantemente?


Pero la clasificación, como escribió Sanych, ¿no funcionará?
 
Yuri Evseenkov:
¿Y la clasificación, como escribió Sanych, no servirá?
Seamos más específicos, porque no entiendo de qué clasificación estamos hablando
 
mytarmailS:
seamos más específicos, porque no entiendo en absoluto de qué clasificación estamos hablando

L ¿Qué soy, un médico? Aquí está escribiendo Sanych:

"Aquí estamos hablando de predicciones basadas en la clasificación, que no tienen en cuenta el estado anterior a la hora de predecir el siguiente compás. Las predicciones (pronósticos) basadas en la clasificación son predicciones basadas en patrones. Y si hubo noticias en el pasado que provocaron un cambio que NO se desprende de los valores anteriores (no extrapolados), entonces la clasificación captará ese cambio como tal y si hay un cambio similar en el futuro (no exactamente igual, pero sí similar) se reconocerá y se hará una predicción correcta. "

Eso es lo que creo que vale la pena investigar :"la clasificación captará tal cambio como tal" .

 
Yuri Evseenkov:

L ¿Qué soy, un médico? Aquí está escribiendo Sanych:

"Aquí estamos hablando de predicciones basadas en la clasificación, que no tienen en cuenta el estado anterior a la hora de predecir el siguiente compás. Las predicciones (pronósticos) basadas en la clasificación son predicciones basadas en patrones. Y si hubo noticias en el pasado que provocaron un cambio que NO se desprende de los valores anteriores (no extrapolados), entonces la clasificación captará ese cambio como tal y si hay un cambio similar en el futuro (no exactamente igual, pero sí similar) se reconocerá y se hará una predicción correcta. "

Así que creo que vale la pena indagar en esta dirección :"la clasificación captará este cambio como tal" .

el experimento es el criterio de la verdad - no pienses, haz

Personalmente creo que el análisis espectral es más prometedor, pero eso es para mí personalmente...

 
Yuri Evseenkov:


Así que creo que vale la pena indagar en esta dirección:"la clasificación captará tal cambio como tal".

La clasificación no es una panacea ni una herramienta para hacer el grial.

Lo primero que hace la aplicación de la clasificación es aplicar las herramientas a los problemas a los que se aplican las herramientas. Por ejemplo, se ha discutido muchas veces la idea de aplicar el análisis espectral a los mercados financieros, todos ellos aparentemente grandes herramientas, pero para otros objetos, ah, no, se ofrece de nuevo.

Segundo. La clasificación es bastante aplicable a los mercados financieros, pero hay muchos problemas, como se ha escrito anteriormente. Pero con la clasificación podemos poner el problema principal: el problema del reentrenamiento (overfitting) del ST. ¿Qué puede ser más importante? No es agradable, por supuesto, verse privado de la ilusión de tener un grial favorito, pero ahí está la elección: la felicidad es buena, pero la verdad es mejor...

Tercero. La clasificación plantea la pregunta de forma muy concreta: ¿qué estamos prediciendo? Comparémoslo con el AT. Tomamos indicadores. Siempre es una barra [1]. La barra actual no se utiliza. ¿Qué significa para el H1? Utilizamos la información de frescura por hora para predecir la entrada en el mercado. Esto es en el mejor de los casos.

Esto es completamente diferente en la clasificación. Se toma el valor actual de la variable objetivo y se compara con los datos brutos de ayer, desplazando el objetivo en una o varias barras. Cuando se utiliza un modelo ajustado a esos datos, siempre se predice de forma realista el futuro cuando llega la siguiente barra.

PS.

Si vas a utilizarlo para predecir movimientos bruscos del mercado (noticias), tendrás éxito si puedes formar una variable objetivo, y tienes grandes problemas con ella en casos mucho más simples.

 
DAFomenko:

Por ejemplo, se ha discutido muchas veces la idea de aplicar el análisis espectral a los mercados financieros, todo parece indicar que es una gran herramienta, pero para otros objetos, ah, no, se vuelve a proponer.

????????????????????????

Si un investigador no tiene ni idea de análisis espectral y acaba con un artículo de la wikipedia, estoy de acuerdo en que no es aplicable al mercado :)