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

 
Aleksey Vyazmikin:

Temos de assumir que tudo o que podemos fazer é desenvolver um algoritmo que se ajuste melhor aos dados, porque não conhecemos o futuro e existem muitas variações, mesmo com base nos valores preditores disponíveis. E se tivermos sorte, podemos detectar um padrão que continuará a existir por algum tempo, por isso é importante procurar tal padrão com certos critérios, e a lógica diz que pelo menos deve ser um padrão que ocorra em toda a amostra.

Há apenas um padrão no mercado e será sempre - ciclos de tempo, períodos: sessão de negociação, dia, semana, ..., e seus meios-períodos. Estes ciclos são indestrutíveis em princípio, formam uma estrutura temporal complexa e determinam o volume de uma amostra com a qual se pode trabalhar. Ao identificar o comportamento do preço dentro desta estrutura hierárquica, o sistema de negociação funcionará sempre.

 
O mercado não é fractal em si mesmo. Tem apenas as propriedades de auto-similaridade dentro de períodos de tempo, formando certas estruturas dentro deles. O volume de carrapato ou qualquer outra amostra por balão não pode ser escolhido - deve ser algum valor definido que satisfaça os ciclos de tempo aninhados.
 
Aleksey Vyazmikin:

Os algoritmos padrão são projetados para trabalhar com fenômenos estacionários, sistemas fechados, por isso qualquer informação é considerada a priori útil e não é avaliada em termos de aleatoriedade, mas apenas a possibilidade de usá-la para a tarefa em questão (classificação por alvo), enquanto temos muito ruído e eu sugeri uma forma lógica de lidar com ele.

Isto é, a uniformidade dos negócios bem sucedidos na área de treino?
Está tudo bem aí como está, pois o ajuste é exatamente para a aprendizagem, até 0% de erro.

Suponho que deve ser na regularização/coarranjo do modelo por redução de profundidade ou outros métodos. E parar, por exemplo, a 20% de erro na área de treino.

Eu acho que só há uma maneira - depois de cada versão de nó adicionada, executar todos os dados através da parte resultante da árvore e analisar a linha de equilíbrio.

Número de versões = (número de características * número de nós na árvore * 3 (se dividido por quartis)) * número de árvores

Vai demorar muito tempo a calcular, receio que até mais do que a NS.

 
Alexander_K:

Há um padrão no mercado e será sempre - ciclos de tempo, períodos: sessão de negociação, dia, semana, ... bem como os seus semiperíodos. Estes ciclos são indestrutíveis em princípio, formam uma estrutura temporal complexa e determinam o volume de amostra com que se deve trabalhar. Ao identificar o comportamento do preço dentro desta estrutura hierárquica, o sistema de negociação funcionará sempre.

Eu não nego a importância do tempo, mas não basta criar um modelo - você precisa de outras variáveis que influenciam o preço.

 
Aleksey Vyazmikin:

Eu não nego a importância do tempo, mas não basta criar um modelo - você precisa de outras variáveis que afetem o preço.

Já chega.

É dentro dos ciclos de tempo que o Graal se senta. A estrutura em um ciclo de tempo é parte da estrutura em outro.

Se você trabalha com o mesmo tamanhos de amostra que correspondem a diferente períodos de tempo estritamente definidos, então estas estruturas aninhadas são como na palma da sua mão.

Os NS não podem lidar com isso? Fi-lo no meu TS sem rede neural.

 
elibrarius:

Isto é, a uniformidade dos negócios bem sucedidos na área de treino?

Pessoalmente, avalio o resultado financeiro de cada ano (atualmente 5 anos), levando em conta o drawdown e o fator de recuperação, além de outros critérios de avaliação. Neste momento nem sequer olho para a classificação, pois existe uma estratégia de tendência, e mesmo com uma classificação correcta de 35% pode ser um lucro de final de ano (outro período).

elibrarius:


Está tudo bem aí como está, porque o ajuste é exatamente para aprender, até 0% de erro.

A questão é quantas árvores são usadas para isso, e essencialmente que memória tem o modelo. Uma árvore, com uma profundidade de 6 rachaduras, não consegue fazer um tal ajuste...


elibrarius:

Acho que tem de ser através da regularização/carga do modelo com redução de profundidade ou outros métodos. E parar por exemplo a 20% de erro na secção de treino.

Eu já uso splits e restrição de completude, e sim, deve ser usado em treinamento.


elibrarius:

Eu acho que só há uma maneira - depois de cada versão de nó adicionada, executar todos os dados através da parte resultante da árvore e analisar a linha de equilíbrio.

Número de versões de um nó = (número de características * número de nós na árvore * 3 (se dividido por quartis)) * número de árvores

Isto vai demorar muito tempo a calcular, receio que até mais do que a NS.

Isto será mais eficiente, o que é mais importante, e no final haverá modelos mais comercializáveis.

Neste momento passo cerca de 15 dias para os cálculos - recebo cerca de 800 folhas únicas e em média 8 delas, metade das quais são semelhantes, que mostram resultados estáveis em intervalos de tempo (e verificar ainda não demora um pouco de tempo de máquina). Ou seja, abrandar o cálculo de 800/8 por um factor de 100 produziria mesmo um resultado comparável.

 
Alexander_K:

Já chega.

É dentro dos ciclos de tempo que o Graal se senta. A estrutura em um ciclo de tempo é parte da estrutura em outro.

Se você trabalha com o mesmo tamanhos de amostra que correspondem a diferente períodos de tempo estritamente definidos, então estas estruturas aninhadas estão mesmo na palma da sua mão.

Os NS não podem lidar com isso? Fi-lo no meu TS sem uma rede neural.

Eu não consigo um graal, embora eu esteja trabalhando apenas com estruturas e similaridade de fractais, ou seja, aninhamento de tempo em diferentes TFs. Não é suficiente, talvez eu ainda não tenha percebido tudo.

NS é uma ferramenta, o cérebro humano pode ou não encontrar uma solução mais rápida e mais precisa...

 
Aleksey Vyazmikin:

Pessoalmente, avalio o resultado financeiro de cada ano (atualmente 5 anos), levando em conta o drawdown e o fator de recuperação, além de outros critérios de avaliação. Neste momento nem sequer olho para a classificação, pois existe uma estratégia de tendência, e mesmo com uma classificação correcta de 35% pode ser um lucro de final de ano (outro período).

A questão é quantas árvores são usadas para isso, e essencialmente que memória tem o modelo. Uma árvore, com uma profundidade de 6 rachaduras, não consegue fazer um tal ajuste...


A restrição de divisão e completude é algo que eu já uso, e sim, deve ser usado no treinamento.


Será mais eficiente, o que é o mais importante, e o resultado final serão modelos mais comercializáveis.

Neste momento passo cerca de 15 dias a calcular - recebo cerca de 800 folhas únicas e daquelas em média 8, das quais metade são semelhantes, que mostram resultados estáveis em intervalos de tempo (e a verificação ainda demora não pouco tempo de máquina). Ou seja, retardar o cálculo de 800/8 por um factor de 100 dará mesmo um resultado comparável.

Parece que estás a fazer testes de valvula para a frente.
Eu também, mas à mão. Acho que esta é a melhor maneira de avaliar modelos.

Ainda não encontrei um modelo estável no tempo. Ao mover meio ano/ano para a frente/trás os modelos já começam a ter um mau desempenho ou a drenar. Mesmo recém-formados nas mesmas características e com os mesmos parâmetros de modelo. Ou seja, a importância das características também muda.

 
elibrarius:

Parece que estás a fazer testes de avanço.
Eu também, mas manualmente. Acho que essa é a melhor maneira de avaliar modelos.

Ainda não encontrei um modelo estável no tempo. Ao mover meio ano/ano para a frente/trás os modelos já começam a ter um mau desempenho ou a drenar. Mesmo recém-formados nas mesmas características e com os mesmos parâmetros de modelo. Ou seja, a importância das características também muda.

É por isso que é necessário levar tudo isso em conta no treinamento, e fazer divisões levando em conta, se não o saldo, então com uma estimativa da probabilidade de exatidão da classificação. A parte que é questionável deve simplesmente ir para a proibição de comércio ou 99% de probabilidade, depois pode ser filtrada quando o modelo é aplicado.

 
Aleksey Vyazmikin:

É por isso que é necessário levar tudo em conta na formação, e fazer divisões, tendo em conta se não o equilíbrio, avaliando depois a probabilidade de exactidão da classificação. A parte que é duvidosa deve ser proibida de negociar ou ter a probabilidade de 99%, e depois pode ser filtrada na aplicação do modelo.

As partições são feitas com base na probabilidade de classificação. Mais precisamente, não por probabilidade, mas por erro de classificação. Porque tudo é conhecido no exercício de treinamento, e nós temos avaliação exata, não probabilidade.
Embora existam fi ries de separação diferentes, ou seja, medidas de impureza (amostragem à esquerda ou à direita).