Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 1934

 
Valeriy Yastremskiy:

E com o que queres acabar? Com harmónicos, o caminho para Fourier. Ou polinómios ortogonais, há muitos deles. Tudo pode ser decomposto).

Eu não preciso de me decompor, preciso de criar. Eu preciso criar uma função que satisfaça as minhas necessidades, eu não sei qual é essa função.

Talvez enumeração por harmônicas, mas vou considerar todas as variantes.

Na essência, é a mesma aproximação, mas não se trata da redução de erros, mas da correspondência com a condição.


Então, eu quero saber como esta busca é organizada , mesmo numa simples aproximação harmônica, o que é multiplicado ali para mudar a função?

Como funciona em geral o mecanismo de ajuste de uma função a outra?
 
mytarmailS:

Eu não preciso de me decompor, preciso de criar. Preciso de criar uma função a partir do tempo que satisfaça a minha condição, que função não conheço, por isso preciso de criar uma pesquisa.

Provavelmente uma enumeração harmónica, mas vou considerar todas as opções.

Na essência, é a mesma aproximação, mas não se trata da redução de erros, mas da correspondência com a condição.


Então eu quero saber como essa busca é organizada , mesmo em uma simples aproximação harmônica, o que se multiplica ali para mudar a função?

Como funciona em geral o mecanismo de ajuste de uma função a outra?

Não posso dizer em fórmulas, no sentido da decomposição do maior para o menor período. Você encontra a maior harmônica, subtrai-a do sinal real, encontra a maior do resto, e subtrai-a com a precisão necessária. E na aproximação (representação aproximada do sinal real por funções lineares retas quebradas) representamos o harmônico em seções discretas por linhas retas. Se a amostragem for de meio período (se mais do que isso, nada sairá), teremos linhas "P" ou retas entre extremos, e se um quarto ou mais, teremos linhas quebradas. E se diminuirmos a etapa de amostragem, aumentamos a precisão.

Se a seleção de preços for longa, ela pode ser dividida em seções mais curtas e as funções linear, de potência, harmônica e logarítmica podem ser numeradas/selecionadas nessas seções. O ideal seria que os harmónicos e ortogonais lineares resolvessem o problema. Provado mais de uma vez. Mas só na história.

Não há ponto com o mercado, temos mudança de função / modelo matemático ao longo do tempo e nenhum critério claro, nenhum dado provado quanto é necessário para determinar o modelo matemático e seu descasamento com o mesmo BP, a não ser a discrição em meio período não dará resultados, isto foi provado). Todos empíricos ou NS com MO) mas também experienciais.

Sem função com mudanças nas condições, temos um conjunto de harmônicas nesta seção, outro na seguinte. A amostragem de som é de 48 kilohertz, o dobro do que ouvimos, por isso perdemos em frequências altas. E o digital tem 2 níveis de sinal por período de 1/48000 seg.

 
mytarmailS:

Eu não preciso de me decompor, preciso de criar. Preciso de criar uma função a partir do tempo que satisfaça a minha condição, que função não conheço, por isso preciso de criar uma pesquisa.

Provavelmente uma enumeração harmónica, mas vou considerar todas as opções.

Na essência, é a mesma aproximação, mas não se trata da redução de erros, mas da correspondência com a condição.


Então, eu quero saber como esta busca é organizada , mesmo numa simples aproximação harmônica, o que é multiplicado ali para mudar a função?

Como funciona o mecanismo de ajuste de uma função a outra?
harmónico, é através de Fourier? Adiciona simplesmente ondas sinusoidais de diferentes períodos e amplitudes A1*cos(2Pi*t/T1+Fi1)+ A2*cos(2Pi*t/T2+Fi2) +... A - amplitude, T - período, Fi - fase
 
mytarmailS:

Quantas vezes já te disse isso? 3? 5?

Então porque é que eles inventaram, e o vídeo que foi postado anteriormente com um homem que tipo que usou este diabo milagreiro e concluiu que a amostra é adequada para o treino...

 
Aleksey Vyazmikin:

Bem, porque é que eles o inventaram, e o vídeo foi postado mais cedo com um homem que tipo de usou esta ferramenta milagrosa e concluiu que a amostragem é adequada para o treino...

ele usou t-sne (como) mas não importa, funciona e funciona muito bem mas não para o mercado como tudo o resto, basta baixar qualquer conjunto de dados da internet e você verá que funciona muito bem mas...

Mas posso tirar algumas conclusões: os clusters são estáveis e estáveis mas não se correlacionam com o lucro, o alvo correlaciona-se com o lucro mas move-se em torno dos clusters, provavelmente porque cada alvo é uma realidade objectiva. Vou tentar reconhecer os padrões pelos seus análogos históricos mas não pelos preços, mas por umap como eu queria desde o início.


Rorschach:
harmónico, é como uma onda de Fourier? São apenas ondas senoidais de diferentes períodos e amplitudes somadas A1*cos(2Pi*t/T1+Fi1)+ A2*cos(2Pi*t/T2+Fi2) +... A - amplitude, T - período, Fi - fase

meu, é complicado.... Eu entendo sobre os harmónicos, mas provavelmente é estúpido recolher séries de harmónicos e experimentá-los, provavelmente deve ser feito como uma dependência de algo em algo, é difícil.... mas se feito, é um graal.

 
mytarmailS:

Seleção de recursos[editar|editar código]

Um método deselecção de características tenta encontrar um subconjunto das variáveis originais (chamadas características ou atributos). Existem três estratégias - uma estratégia de filtro(por exemplo,acumulação de características [pt]), uma estratégia deembrulho(por exemplo, pesquisa de acordo com a precisão) e uma estratégia deincorporação(seleccionar características a adicionar ou remover à medida que o modelo é construído, com base em erros de previsão). Veja também problemas deotimização combinatória.

Em alguns casos,a análise de dados, comoregressão ouclassificação, pode ser feita no espaço reduzido com mais precisão do que no espaço original [3].

Projecção de funcionalidades[editar|editar código]

A projeção de recursos converte dados deespaço dimensional alto para espaço dimensional baixo. A transformação dos dados pode ser linear, como nométodo dos componentes principais(PCM), mas há uma série de técnicas dedownsizing não-lineares [pt] [4] [5]. Para dados multidimensionais,uma representaçãotensorial pode ser usada para reduzir a dimensionalidade através dotreinamento polilinear de subespaços [pt] [6].

Perdi o texto com as suas explicações - eu mesmo me corrijo.

Tenho imediatamente uma série de perguntas:

1. Como obter o resultado da seleção de recursos com sua transformação na forma de quaisquer regras para uso separado no código?

2. Talvez haja uma forma de visualizar as características seleccionadas e a sua transformação - através de uma árvore ou outra coisa qualquer?

3. Você já tentou estas estratégias de seleção de recursos?

O método deseleção de características tenta encontrar um subconjunto das variáveis originais (que são chamadas de características ou atributos). Existem três estratégias - estratégia de filtragem(por exemplo,acumulação de características [en]), estratégia deembrulho(por exemplo, pesquisa de acordo com a precisão) e estratégia deaninhamento(seleccionar características para adicionar ou remover à medida que o modelo é construído, com base em erros de previsão). Veja também problemas deotimização combinatória.

Em alguns casos,análises de dados comoregressão ouclassificação podem ser feitas no espaço reduzido com mais precisão do que no espaço original [3].

mytarmailS:

Foi o que fizemos ontem.

Dimensionality reduction[editar|editar código]

Para conjuntos de dados de alta dimensão (ou seja, com mais de 10 dimensões), o downsizing é normalmente feito antes da aplicação doalgoritmo k-nearest neighbours(k-NN), para evitar o efeito damaldição da dimensionalidade [16].


Vantagens da redução da dimensionalidade[editar|editar código]

  1. Reduz o tempo e a memória necessários.
  2. A remoção da multicolinearidade melhora a velocidade do modelo de aprendizagem da máquina.
  3. É mais fácil representar os dados visualmente quando reduzidos a dimensões muito baixas, tais como 2D ou 3D.

E pareceu-me, pelo código, que o agrupamento estava separado, a construção da projecção separada, e depois apenas alimentámos os resultados do agrupamento para a classificação por cores na renderização - não?

 
mytarmailS:

ele usou t-sne (como) mas não importa, bem, eles inventaram, e funciona e funciona muito bem mas não para o mercado, como tudo o resto, baixe qualquer conjunto de dados da internet e veja que a coisa funciona muito bem mas...

Mas posso concluir: os clusters são estáveis e estáveis mas não ressoam com lucro, o alvo ressoa com lucro mas move-se em torno dos clusters, provavelmente porque cada alvo é uma realidade objectiva. Quero tentar reconhecer padrões usando análogos históricos, não usando preços mas usando umap como planeei desde o início.

Então, como é que os marca na história para classificação? E depois, então, reconheceste-os, e depois? No outro dia estava a distribuir por 4 grupos em busca de alvos... A menos que você mude o alvo de cluster para cluster. Em geral, precisamos entender porque as cordas entraram em diferentes clusters - analisar a lógica, se existe uma e é contígua ao mercado.

 
Aleksey Vyazmikin:

Perdi o texto com as suas explicações - estou corrigido.

Tenho imediatamente uma série de perguntas:

1. Como obter o resultado da selecção de características com a sua transformação na forma de quaisquer regras para aplicação separada no código?

2. Talvez haja uma forma de visualizar as características seleccionadas e a sua transformação - através de uma árvore ou outra coisa qualquer?

3. Você já tentou estas estratégias de seleção de recursos?

E pareceu-me, pelo código, que o agrupamento estava separado, o edifício de projecção estava separado, e depois apenas alimentámos os resultados do agrupamento para a classificação por cores na renderização - não?


1. é o mesmo que querer 100k de preços de fechamento descritos por regras para aplicação separada em código

2. Os atributos vêm na forma de funções com tudo o que implica

3. eu tentei algo; reduz a dimensionalidade, mas a qualidade não melhora, mas mesmo assim, acho legal comprimir 10k atributos para 500 sem perder qualidade, o que eu acho muito legal.

4. isso mesmo, primeiro diminuímos a dimensionalidade e depois agrupámo-la, está escrito aqui também - -----. Para conjuntos de dados dimensionais elevados (ou seja, com um número de dimensões superior a 10), aredução do tamanho é normalmente feitaantes da aplicaçãodo método k-nearest neighbours

 
mytarmailS:


1. é o mesmo que querer que os preços de fechamento de 100k sejam descritos por regras para uso separado em código

2. as características aparecem como funções com todas as suas consequências

3. eu tentei algo; reduz a dimensionalidade, mas a qualidade não aumenta, mas ainda é legal, por exemplo, podemos comprimir 10k atributos para 500 sem perda de qualidade, o que eu acho muito legal, ou para 50 com uma perda aceitável.

4. isso mesmo, primeiro diminuímos a dimensionalidade e depois agrupámo-la, diz aqui - ----- Para conjuntos de dados de alta dimensionalidade (ou seja, com número de dimensões superior a 10), adimensionalidade decrescente é normalmente feitaantes da aplicaçãodo método k-nearest neighbours

1. Você deve ter entendido mal a pergunta - trata-se apenas de descarregar as regras para um arquivo, e existem regras, o que foi confirmado em 2.

2.

3. Correlação provavelmente alta entre os preditores, inclusive após a conversão? É possível obter uma lista de preditores aposentados ou eles não estão aposentados, mas fundidos em grupos apenas - não consigo entender.

4. Talvez eu tenha entendido mal o código ou o tenha agrupado mal, vou afixá-lo novamente.

#way <- "F:\\FX\\R\\tree_classification_2019_fS_Eks_29\\Test_Pred_ALL_01.csv"  #  ваш путь
way <- "F:\\FX\\R\\2020_04_11_Pred_New_Full\\Pred_New_Full.csv"  #  ваш путь

dt <- read.csv(file = way,header = T,sep = ";") #  читаем файл

target <- dt$Target_100 #  целевую в отдельную переменную

dt <- dt[, ! colnames(dt)  %in% 
           #            c("Target_100_Buy","Target_100_Sell",
           #             "Time","Target_100")  ] #  удаляем не нужные колонки
                      c("Target_100")  ] #  удаляем не нужные колонки

km <- kmeans(um$layout, centers = 4)           

#  роскоментируем и Устанавливаем нужные пакеты после чего эту строку можно удалить
#install.packages(c("rgl", "car" , "umap"))



#  про umap
#https://cran.r-project.org/web/packages/umap/vignettes/umap.html
#https://github.com/ropenscilabs/umapr

library(umap)
um <- umap(dt,n_components=3)   
#  n_components=3  во сколько измерений уменьшаем данные, можно 100 можно 1
#  можно 333, но нам для 3 д надо трех мерное пространство поетому у нас n_comp=3
um.res <- um$layout #  наши три вектора выход 



#тут  все настройки по пакету  car
#  http://www.sthda.com/english/wiki/amazing-interactive-3d-scatter-plots-r-software-and-data-visualization
library(car)  # 3 d

target <- as.factor(target)  #   target нужен для того чтобы окрасить точки в цвет целевой

scatter3d(x = um.res[,1], 
          y = um.res[,2], 
          z = um.res[,3],
          groups = as.factor(km$cluster),
          grid = FALSE, 
          surface = FALSE,
          ellipsoid = TRUE,
            bg.col = "black")


write.csv(km$cluster, file = "F:\\FX\\R\\2020_04_11_Pred_New_Full\\Pred.csv", sep = ";",row.names = F,col.names = T)
 
Aleksey Vyazmikin:

1. Você deve ter entendido mal a pergunta - trata-se de carregar as regras para um arquivo, e existem regras, como confirmado no ponto 2.

2. Isto é bom.

3. Correlação provavelmente alta entre os preditores, inclusive após a conversão? É possível obter uma lista de preditores aposentados ou eles não estão aposentados, mas fundidos em grupos apenas - não consigo entender.

4. Talvez eu tenha entendido mal o código ou o tenha agrupado mal, vou afixá-lo novamente.

1. Eu ainda não entendo.

3. Não pode haver características correlacionadas após a transformação. Sim, podemos dizer que estão fundidas em outras estruturas (atributos), mas sem redundância

4.

dt <- dt[, ! colnames(dt)  %in% 
           #            c("Target_100_Buy","Target_100_Sell",
           #             "Time","Target_100")  ] #  удаляем не нужные колонки
                      c("Target_100")  ] #  удаляем не нужные колонки

estas são uma expressão, ou seja, não se pode comentar sobre elas ))))