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

 
Maxim Dmitrievsky:
Não vejo a imagem completa do porquê disto poder funcionar.

Suponha que haja preditores aleatórios na amostra, na verdade ruído, o objetivo é limpar o ruído.

Acha que não vai melhorar os resultados?

 
Aleksey Vyazmikin:

Suponha que haja preditores aleatórios na amostra, na verdade ruído, o objetivo é limpar o ruído.

Acha que não vai melhorar os resultados?

É mais fácil tomar qualquer combinação chip-alvo e filtrar sinais por tempo até que um sinal estável seja encontrado. E construir um bot a partir desses modelos.
 
Maxim Dmitrievsky:
É mais fácil pegar qualquer pacote de chip-alvo e filtrar sinais por tempo até que um sinal estável seja encontrado. E construir um bot a partir desses modelos.

Ou eu não entendo o ponto, então escreva com mais detalhes, ou eu não entendo como a ação proposta é diferente de adicionar ao preditor_1 um preditor adicional_2 contendo informações de tempo?

 
Aleksey Vyazmikin:

Estive pensando sobre como melhorar o método de seleção de preditores/atributos/características através da análise do modelo resultante.

Tenho algumas ideias para a implementação do algoritmo, mas decidi partilhá-las com a comunidade respeitada, talvez haja algumas críticas construtivas ou adições/refinamentos ao algoritmo antes de começarmos a trabalhar na implementação deste algoritmo. É interessante pensar que nada vai funcionar com justificação.


Seleção de preditores por frequência de uso (Importância da característica) ao criar um modelo CatBoost
.

A idéia é que cada algoritmo tem suas próprias peculiaridades de construção de árvores e vamos selecionar aqueles preditores que são usados mais frequentemente pelo algoritmo, neste caso CatBoost.

Contudo, para estimar a uniformidade na escala temporal, utilizaremos várias amostras e agregaremos os seus dados numa única tabela. Esta abordagem irá eliminar eventos aleatórios que têm uma forte influência na escolha do preditor em um dos modelos. As regularidades sobre as quais o modelo é construído devem ocorrer em toda a amostra, o que pode facilitar a classificação correta sobre os novos dados. Esta característica é aplicável aos dados do mercado, ou seja, dados sem completude, incluindo a ciclicidade oculta, ou seja, não temporal, mas orientada por eventos. Ao fazer isso, é desejável penalizar os preditores que não estão no topo 30%-50% em uma das parcelas, o que permitirá a seleção dos preditores que estão mais frequentemente em demanda de modelos em diferentes horizontes temporais.

Além disso, para reduzir o fator de aleatoriedade devemos usar modelos com diferentes valores de Semente, acho que deveria haver de 25 a 100 modelos desse tipo. Se o coeficiente deve ser adicionado dependendo da qualidade do modelo obtido ou apenas para a média de todos os resultados por preditores - ainda não sei, mas acho que devemos começar com o simples, ou seja, apenas para a média.

A questão da utilização de uma tabela de quantização é importante, pode ser crucial na seleção dos preditores. Se a tabela não for fixa, cada modelo irá criar a sua própria tabela para a subamostra, tornando impossível a comparação de resultados, pelo que a tabela deve ser comum a todas as amostras.

É possível obter uma tabela de quantização:

  1. Ao definir hiperparâmetros para CatBoost sobre o tipo e número de partições em quanta de toda a amostra de treinamento, e salvando os resultados em csv.
  2. Defina hiperparâmetros para CatBoost por tipo e número de partições em quanta, selecionando uma das áreas de amostra, digamos a melhor, e salve os resultados em csv.
  3. Obtenha uma tabela usando um script separado que selecione as melhores escolhas a partir de um conjunto de tabelas.
As tabelas obtidas anteriormente são utilizadas para cada amostra através do carregamento forçado da tabela durante o treinamento.

A quantificação pode ser feita por você mesmo antes de alimentar o impulsionador - tudo estará sob seu controle.
De 0 a 0,00005 = 0,00005 de 0,00005 a 0,00010 = 0,00010, etc.

 
elibrarius:

Você pode quantificar-se a si mesmo antes de alimentar o impulso - tudo estará sob seu controle.
0 a 0,00005 = 0,00005 0,00005 a 0,00010 = 0,00010 etc.

A terceira opção de obter uma tabela de quantização também inclui a avaliação de tabelas de quantização personalizadas, que eu pré-gero. As experiências mostram que esta nem sempre é a melhor opção. A propósito, já que estamos a falar de sequências numéricas, que outros passos podem ser usados além do linear, Fibonacci, exponencial?

 
Aleksey Vyazmikin:

A terceira opção para obter uma tabela de quantização também inclui a avaliação de tabelas de quantização personalizadas, que eu pré-gero. As experiências mostram que esta nem sempre é a melhor opção. A propósito, já que estamos a falar de sequências numéricas, que outros passos excepto o linear, Fibonacci, exponencial?

3 não são suficientes para ti? Eu já tripliquei o número de experiências) Onde mais?
 
Aleksey Vyazmikin:

Ou eu não entendo o ponto, então escreva com mais detalhes, ou não entendo como as ações sugeridas diferem da adição de um preditor adicional_2 contendo informações de tempo para o preditor_1?

Há razões para não escrever detalhes, mas eles aparecerão em algum momento. Partes do esquema já foram descritas aqui. Vejo-a como a única opção sensata, não ligada a uma selecção de atributos. O ideal é que os atributos possam ser qualquer coisa, assim como as tags. A tarefa do algoritmo é calibrar para eles, levando em conta a componente temporal (filtrando os lugares onde esses atributos não funcionam). Provas - A meta rotulação do Prado com alguma afinação desta abordagem. Você está em uma estepe completamente diferente, então a compreensão pode não surgir.
 
elibrarius:
Três não é suficiente para você? O número de experiências já triplicou)) o que mais há a fazer?

Claro que não é suficiente :) Na verdade, estou selecionando a tabela ideal para cada preditor, e quanto mais não-amostragem, melhor. A última versão do roteiro seleciona os melhores intervalos de todas as tabelas e os combina em uma tabela para cada preditor.

 
Maxim Dmitrievsky:
Há razões para não escrever detalhes ainda, mas eles virão um dia. Partes do esquema já foram descritas aqui. Vejo-a como a única opção sensata, não ligada a uma casca de selecção de atributos. O ideal é que os atributos possam ser qualquer coisa, assim como as tags. A tarefa do algoritmo é calibrar para eles, levando em conta a componente temporal (filtrando os lugares onde esses atributos não funcionam). Pruffs - A meta-rotulagem do Prado com alguma afinação desta abordagem. Você está em uma estepe completamente diferente, então a compreensão pode não surgir.

Sim, sobre a calibração do algoritmo, realmente não está claro. Mesmo que você tenha filtrado os lugares em treinamento, como reconhecer esses lugares ao aplicar não é claro.

 

Um fã do filme The Matrix?

O que é que isto tem a ver com a matriz?
Eu leio pessoas inteligentes, você pode obter mais informações em uma hora de leitura do que em 10 anos de leitura de todo tipo de bloqueios por subservientes do exterior...
e nem por isso...