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

 

Já ando a brincar com o neurónio da convolução há algum tempo. Até agora não funcionou, mas pelo menos descobri como me preparar e prever com ele. Aqui está um código simples com comentários, e uma tabela para o teste.

Há duas camadas de convolução e uma camada normal escondida. O modelo treinado acaba por produzir sempre "1" na saída (comprar). A idéia é ter dezenas, não duas camadas de convolução, e depois semanas para treinar, e não há nenhuma garantia de sucesso. Mas vale a pena tentar.

Eu repachei forex_mxnet.txt, houve um erro lá, para uma função softmax o número de saídas na última camada deve ser igual ao número de classes. A opção com regressão, neste caso, não é de todo possível.

Arquivos anexados:
eurusd_h1.zip  30 kb
forex_mxnet.txt  20 kb
 
Dr. Trader:

1) Não tenho a certeza do que queres dizer com "agrupamento". Normalmente você não agrupa um preditor em particular, mas pega uma dúzia deles, e encontra áreas no espaço onde esses pontos se agrupam. Por exemplo, na figura abaixo, tendo dois preditores, o agrupamento em 2 clusters dará apenas clusters azuis e vermelhos.

2) Talvez você esteja falando de padrões? Padrão verde - o preço desce e depois sobe. Amarelo: o preço sobe a partir de baixo. Vermelho: acima-> abaixo. Conseguiste acertar?


Inicialmente não sabemos quais os preditores bons e quais os maus, se os agruparmos todos de uma só vez num modelo (stochastic+rsi+masd.......) = clusters 1,2,3,4,5..... então também vamos contabilizar os preditores desnecessários, nem vamos saber que são desnecessários...

Precisamos de agrupar cada preditor

K1 = (estocástico) = clusters 1,2,3,4,5....

K2 = (rci) = clusters 1,2,3,4,5....

K3 = (massa) = clusters 1,2,3,4,5....

então procuramos combinações por número de clusters entre combinações de modelos

К1

K1 e K2

K2 e K3

K1 e K3

K1, K2 e K3

2) Correcto, Neste contexto, os clusters e padrões são a mesma coisa

 
mytarmailS:

Aglomerados e padrões são diferentes. Os clusters em um vetor são intervalos, ou seja, a lista de todos os valores de indicadores permitidos é dividida em várias zonas. Mas neste caso, os intervalos 2 e 3 da sua foto são iguais.

Mas se seu segundo e terceiro clusters são necessariamente coisas diferentes, então eles não são mais clusters, mas sim padrões.

 
Dr.Trader:

Aglomerados e padrões são diferentes. Os clusters em um vetor são intervalos, ou seja, a lista de todos os valores de indicadores permitidos é dividida em várias zonas. Mas neste caso, os intervalos 2 e 3 da sua foto são iguais.

Mas se o seu segundo e terceiro clusters são necessariamente coisas diferentes, eles não são mais clusters, mas sim padrões.

Se não agruparmos o último valor do indicador, mas, digamos, 10 últimos valores na janela deslizante, obtemos um cluster com um determinado número que considera tanto as características numéricas como geométricas do indicador (inclinações, etc.)

O que é um aglomerado ou um padrão?

Respondi à sua pergunta ou não entendi a pergunta? :)

 
mytarmailS:

Eu respondi à sua pergunta ou entendi mal a pergunta? :)

Isso é sim, bastante aglomerado, então está tudo bem.
 

Aqui é onde eu vejo como o comitê de todos os modelos disponíveis se comporta na validação versus aproximações ingênuas: comprar apenas, vender apenas, direções aleatórias.

Bai está a avançar ligeiramente nesta amostra.

Há outra amostra atrasada para validar o comitê de correspondência fina. É possível que a venda seja melhor. Mas o que importa é como o comité de modelos se comporta...

Correlação com o esquema que eu dei:

 
Alexey Burnakov:

Bai puxa ligeiramente para a frente nesta amostra.

Se o gráfico de preços estiver a subir nesse período de tempo, então estatisticamente será mais rentável às vezes apenas abrir um negócio de compra, segurá-lo e fechá-lo. Não que seja "rentável", mas será menos perdido se comparado com a abertura e manutenção da ordem de venda por algum tempo. É por isso que só compras e só vendas são tão belamente simétricas em torno de negócios aleatórios. Não é o modelo em si que puxa para a frente, é apenas o preço que o acompanha com sucesso.
 
Dr. Trader:
Se o gráfico de preços estiver a subir nesse período de tempo, estatisticamente será mais rentável, por vezes, apenas abrir um negócio de compra, manter e fechar. Não que seja "rentável", apenas a perda será menor se você também abrir aleatoriamente uma venda e segurá-la por um tempo. É por isso que só compras e só vendas são tão belamente simétricas em torno de negócios aleatórios. Não é o modelo em si que puxa para a frente, é apenas o preço que o acompanha com sucesso.
É disso que estou a falar. Tanto as vendas como as compras e os negócios aleatórios foram feitos sem um padrão... Mas a tendência estava a subir e a compra é melhor contra o resto do aleatório.

E os negócios nos modelos treinados são verdes... Nesta amostra, eles estão na liderança. Este alvo em particular foi escolhido porque os modelos vão em média para o lado positivo nesta amostra, que não esteve envolvida nem no treinamento nem na Seleção de Padrões. Depois haverá ajustes e validação do comitê. E só vou usar a última amostra atrasada uma vez em todo o estudo.

PS ) Tudo incluindo a propagação. Portanto, a aleatoriedade é distribuída abaixo de zero.
 

Parece bom em geral, o que será que vai acontecer no final?

Sobre o comitê - postei alguns exemplos, mas há modelos que usam regressão com arredondamento para classificar, e não é tão claro lá. Eu tentei duas formas diferentes de combinar votos:

1) reunir tudo para as aulas, e fazer a aula que conseguir mais votos.
Isto é, ter uma previsão para 4 barras de três modelos
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) Eu o arredondaria ainda mais para as classes
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) , e o vetor final com previsões seria c(0, 1, 1, 0) por número de votos.

2) outra opção é encontrar o resultado médio imediatamente, e só depois arredondá-lo para as classes
o resultado seria c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3)
ou (0,2666667, 0,4000000, 0,5333333, 0,4000000), ou
c(0, 0, 1, 0)

Você pode ver que o resultado é diferente, e depende do passo a dar. Não sei o que é mais padrão, mas acho que o segundo método funciona melhor com novos dados.
 
Alexey Burnakov:

Aqui é onde eu vejo como o comitê de todos os modelos disponíveis se comporta na validação versus aproximações ingênuas: comprar apenas, vender apenas, direções aleatórias.

Bai está a avançar ligeiramente nesta amostra.

Há outra amostra atrasada para validar o comitê de correspondência fina. É possível que a venda seja melhor. Mas o que importa é como o comité de modelos se comporta...

Correlação com o esquema que eu dei:

O principal é que o meu Sequent Demark's TP básico tem algumas características interessantes, uma delas. Há mais sinais de compra e o modelo treina melhor neles; há menos sinais de venda e o modelo treina pior neles. Eu acho que mostra uma tendência global para baixo, quando o quadro vai mudar para o oposto, haverá condições prévias para comprar, quero dizer a libra, é claro, e sobre os judeus também pode ser visto de uma só vez....