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

 
mytarmailS #:

Quanto código você tem que escrever com esses ciclos, lançamentos, retreinamento.

No FF, eu apenas escrevo duas linhas, penalizo um erro de classe e recompenso uma resposta correta, e isso é tudo, e então ele imagina como fazer isso sozinho e não precisa de uma montanha de código....


Ok, isso foi fácil, outro exemplo de uma tarefa

A entrada do AMO é o eurodólar; na saída, quero obter uma série que

1) cointegrada com a libra esterlina

2) se negociarmos a arbitragem linha AMO / libra para obter lucro

como isso pode ser feito por meio da marcação?

da mesma forma que em um MO normal, aprendemos e olhamos com um olho na pista e o outro no teste.

Não há nenhum código ali, eu fiz isso em artigos. E a correção de negociações perdidas foi feita, revertida. Só não entendo como isso deve ser salvo em novos dados.

Não há como negociar arbitragem lá, se eles não forem inicialmente cointegrados. Você só pode encontrar partes por tempo, onde há esses momentos. E qual é o sentido de distorcer as cotações dos símbolos, pois não é possível abrir negociações com eles
 
mytarmailS #:

Assim como em um MO normal, treinamos e observamos a trilha com um olho e o teste com o outro.

Bem, obtemos uma marcação aleatória, que é então testada em novos dados. É necessário selecionar as melhores variantes de marcação por meio da mesma genética. Mas isso significa centenas e milhares de retreinamentos de modelos.

E em meu último artigo sobre o metamodelo, reduzi o número de iterações ao mínimo. Após 10 iterações, você pode obter as negociações corretas, mas geralmente são poucas, o restante é filtrado. Você pode escolher variantes intermediárias, em que há mais negociações, mas o resultado é pior.
 
mytarmailS #:

Aqui está o código para ensinar o Rendom Forrest com ferramentas AO,

função de aptidão (NOSSO OBJETIVO) - encontrar um crescimento de lucro bonito/estável, ou seja, a correlação máxima entre a dinâmica do balanço e uma linha reta de crescimento ascendente


Aqui está o código das funções de cálculo de lucro e FF



Aqui está o resultado: a AO encontrou um alvo para o AMO que, se negociarmos seus sinais, obteremos um belo crescimento de lucro


Se não for muito difícil, você pode me dar esse exemplo em python?

 
Alguém sabe o que o MO geralmente faz com números que não são NAN?
Rejeita o conjunto de dados ou ignora essas linhas e não as considera nos cálculos?

E o mesmo acontece com números + - INFINITY?
 
Maxim Dmitrievsky #:
Não há como fazer arbitragem nesse caso, se eles não forem inicialmente cointegrados. Você só pode encontrar partes por tempo, onde há esses momentos. E qual é o sentido de distorcer as cotações dos símbolos, pois não é possível abrir negociações com eles

Estou apenas mostrando, por exemplo, que nem tudo pode ser expresso por meio de um alvo pronto.

Maxim Dmitrievsky #:
Bem, você obtém uma marcação aleatória, que é então verificada com base em novos dados. É necessário selecionar as melhores variantes de marcação por meio da mesma genética. Mas isso significa centenas e milhares de novos treinamentos de modelos.

Portanto, é exatamente isso que está sendo feito. Não quis complicar o exemplo, quero um mínimo de código e o máximo de clareza.

Elvin Nasirov #:

Se não for difícil, você pode dar esse exemplo em python?

Assim que eu aprender a escrever em python, vou traduzi-lo de uma vez))))

Forester #:
Alguém sabe o que o MO geralmente faz com números não NAN?
Rejeita o conjunto de dados ou ignora essas cadeias de caracteres e não as leva em conta nos cálculos?

E o mesmo acontece com números + - INFINITY?

Essa é uma pergunta estranha, pois tudo depende da implementação específica do AMO

 
Elvin Nasirov #:

Se não for muito difícil, você pode dar esse exemplo em python?

Escolha uma boa biblioteca python com AO, aprenda a trabalhar com ela e você entenderá imediatamente o que precisa fazer.

 
Forester #:
Alguém sabe o que o MO geralmente faz com números não NAN?
Rejeita o conjunto de dados ou ignora essas cadeias de caracteres e não as leva em consideração nos cálculos?

E o mesmo com números + - INFINITY?

O R geralmente tem um argumento na.action que define o que fazer com eles. Sempre tentei evitar a necessidade de usá-lo (ao preparar os dados), por isso não entendo bem a maneira correta.

 
Aleksey Nikolayev #:

O R geralmente tem um argumento na.action que define o que fazer com eles. Sempre tentei evitar a necessidade de usá-lo (ao preparar os dados), por isso não entendo muito bem a maneira correta.

Obrigado!!! Li e considerei a experiência de outras pessoas ao trabalhar com isso.
Acho que é melhor eliminar uma coluna se ela tiver um NAN.
No meu caso, apenas uma coluna continha várias centenas de NANs e INFs. Algo deu errado na criação da ficha.

Acho que descartar linhas é errado, pois elas podem ser usadas em outras fichas para beneficiar o resultado geral.

 
Forester #:

Obrigado! Li e considerei as experiências de outras pessoas trabalhando com isso.
Acho que é melhor eliminar uma coluna se ela tiver NANs.
No meu caso, apenas uma coluna continha várias centenas de NANs e INFs. Algo deu errado na criação da ficha.

Acho que descartar linhas é errado, pois elas podem ser usadas em outras fichas para o benefício do resultado geral.

Você pode interpolar ou substituir por uma média
Você está escrevendo em R?
 
mytarmailS #:
Você pode interpolar ou substituir pela média

A substituição pela média era usada em estatística quando simplesmente não havia dados, então a média era substituída. Eles usavam o NAN como falta ou omissão de dados - precisavam marcar esse momento de alguma forma - e decidiram usar o NAN para essa finalidade com a subsequente substituição pela média.

Tenho NAN - há um erro na preparação dos dados e obtenho, por exemplo, after /0 (mas às vezes obtenho + - INF). Não preciso considerar dados errôneos como normais ou mesmo médios.
Os erros devem ser corrigidos (imprimo que a coluna contém NAN e está ausente). Mas quem lê essas impressões...? )))