Indicadores: PCA Synthetics - Recycle Legacy

 

PCA Synthetics - Recycle Legacy:

Indicador para la selección automática de los coeficientes para cada instrumento financiero en la cartera pseudoestacionaria, que tiende al equilibrio en cero.

Autor: Andy Sanders

 

gracias)) He utilizado la versión antigua del hilo cointegración para más de 2 pares)

puede corregir ligeramente el comentario en la primera línea, no N, pero N-1

 

Tiene una referencia a R.

1. ¿Qué paquete(función) se utilizó?

2. ¿Qué en R corresponde en el indicador?

 
ivanivan_11:

Enviado para su revisión, gracias

SanSanych Fomenko:

para una barra el cálculo era aproximadamente así, para cada barra de la historia este código debe ser envuelto en un bucle

lines <- readLines("quotes.csv")
skips <- lines[-1]
sources <- read.csv(textConnection(skips), header = T, sep = ",", quote = "'", dec = ".", fill = F, stringsAsFactors = F, colClasses = c("NULL", NA, NA, NA), check.names = F)
components <- princomp(sources, cor = F)
summary(components)
components$loadings

datos en quotes.csv es aproximadamente en este formato

'X','GBPUSD.m','EURUSD.m','AUDUSD.m'
1,1.24472,1.24467,1.24475
2,1.24474,1.24470,1.24465
3,1.24475,1.24473,1.24457
4,1.24484,1.24462,1.24474
5,1.24488,1.24456,1.24481
 
Andy Sanders:

enviado para su revisión, gracias.

para una barra el cálculo era aproximadamente así, para cada barra de la historia este código debe ser envuelto en un bucle

lines <- readLines("quotes.csv")
skips <- lines[-1]
sources <- read.csv(textConnection(skips), header = T, sep = ",", quote = "'", dec = ".", fill = F, stringsAsFactors = F, colClasses = c("NULL", NA, NA, NA), check.names = F)
components <- princomp(sources, cor = F)
summary(components)
components$loadings

Los datos en quotes.csv son aproximadamente en este formato.

'X','GBPUSD.m','EURUSD.m','AUDUSD.m'
1,1.24472,1.24467,1.24475
2,1.24474,1.24470,1.24465
3,1.24475,1.24473,1.24457
4,1.24484,1.24462,1.24474
5,1.24488,1.24456,1.24481в

Entiendo correctamente: con la ayuda de PCA creó un sintético, y luego ver la desviación de este sintético de un par de divisas en particular?

 
СанСаныч Фоменко:
sobre las estrategias - no

1. Intenté utilizarlo como un oscilador, es decir, cuando está abajo, calcular coeficientes, comprar y mantener hasta que obtengamos un beneficio, si no hay beneficio, mover la línea OOS, recalcular coeficientes, nivelar la posición
2. Intenté utilizarlo como un oscilador, es decir, cuando está abajo, calcular coeficientes, comprar y mantener hasta que obtengamos un beneficio, si no hay beneficio, mover la línea OOS, recalcular coeficientes, nivelar la posición entonces probé la idea de maestro - esclavo, porque Hrenfiks lo mencionó en Resikl, por ejemplo, comprar o vender divisas con un coeficiente ligeramente inferior al máximo, de alguna manera tampoco funcionó

cómo atrapar el deslizamiento - no sé, la cesta debe moverse hacia el vector más fuerte (el par con el coeficiente más alto), pero de media, desviándose hacia otros pares, por lo que el par real y el sintético seguirán sin converger, y hasta que no se solucione el problema con el cambio de signo, el sintético simplemente puede mostrarse al revés, por lo que sigue sin estar claro cuándo comprar y cuándo vender.
 
Andy Sanders:
sobre las estrategias - no

1. Intenté utilizarlo como un oscilador, es decir, cuando está abajo, calcular los coeficientes, comprar y mantener hasta que obtengamos un beneficio, si no hay beneficio, mover la línea OOS, volver a calcular los coeficientes, nivelar la posición
2. Intenté utilizarlo como un oscilador, es decir, cuando está abajo, calcular los coeficientes, comprar y mantener hasta que obtengamos un beneficio, si no hay beneficio, mover la línea OOS, volver a calcular los coeficientes, nivelar la posición. entonces intenté la idea de maestro - esclavo, porque Hrenfiks lo mencionó en Resikl, por ejemplo, comprar o vender divisas con un coeficiente ligeramente inferior al máximo, de alguna manera tampoco funcionó

cómo coger el deslizamiento - no lo sé, la cesta debe moverse hacia el vector más fuerte (el par con el coeficiente más alto), pero promediando, desviándose hacia otros pares, por lo que el par real y el sintético seguirán sin converger, y hasta que no se solucione el problema del cambio de signo, el sintético simplemente puede mostrarse al revés, por lo que sigue sin estar claro cuándo comprar y cuándo vender.
Entiendo que usted, a diferencia de muchos otros en este foro, está familiarizado con R. ¿Por qué no utilizar sus capacidades? Al fin y al cabo, resuelve todos los problemas mencionados anteriormente. Se llama cointegración. Se utiliza ampliamente...
 
СанСаныч Фоменко:
Entiendo que usted, a diferencia de muchos otros en este foro, está familiarizado con R. ¿Por qué no utilizar sus capacidades? Después de todo, resuelve todos los problemas mencionados anteriormente. Se llama cointegración. Es ampliamente utilizado...

en general, en este caso R no es necesario.

todo lo mínimo necesario para el comercio de pares ya está disponible en las bibliotecas de µl: el MNC habitual, PCA, correlación, prueba adf, si es necesario asimetría y curtosis.

 
ivanivan_11:

en general, en este caso no se necesita R.

todo lo mínimo necesario para el comercio de pares ya está disponible en las bibliotecas de µl: el MNC habitual, PCA, correlación, prueba adf, si es necesario asimetría y curtosis.

¿Por qué nadie lo tiene? Y en varias ramas al mismo tiempo. Esto es lo que no entiendo
 
СанСаныч Фоменко:
¿Por qué nadie más tiene esto? Y en varias sucursales a la vez. Eso es lo que no entiendo

no use pair trading, no use estos métodos, no los discuta públicamente - hay muchas variantes.

Hice un EA similar que calcula a través de R, pero es difícil de probar.

Más tarde, voy a tratar de reemplazar el cálculo a través de bibliotecas mcl, tal vez será más rápido para probar.

 

Estimado Andy,

No he encontrado el parámetro Normalizar. Tal vez las impresiones son de otra versión?