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

 
Maxim Dmitrievsky:

os incrementos podem ser dados uma estimativa probabilística de pertencer à classe by\sell


vá em frente sem "pensar sobre isso".

 
Oleg avtomat:

Bem, vai em frente sem o "pensamento".


OK, vamos verificar com uma experiência... :) claro que vou tentar 2 e mais 2 aulas, mas não vejo uma diferença fundamental para o meu caso

 
Maxim Dmitrievsky:

Maxim, a maneira como eu vejo a tua situação é esta:

O objectivo é:

a) para obter uma probabilidade de direção de movimento;

b) para obter uma estimativa da força do movimento.

Opções de solução:
1) Utilize uma saída [0,1] ou [-1,1]. Ou duas saídas [[0,1],[0,1]].

Nerf! Os dados de treinamento devem refletir a força do movimento, ou seja, o histórico do movimento deve ser normalizado para um intervalo válido.

Mais: O modelo de rede é fácil e simples de configurar.

Menos: A normalização será heterogênea em toda a série temporal, devido a diferentes amplitudes de variações de preços.

2) Utilizar saída de classificação bidimensional [0,1]+[0,1] ou [-1,1]+[-1,1]. Ou três/quatro saídas [[0,1],[0,1]+[0,1]] ou [[0,1],[0,1]+[0,1],[0,1]]. Uma dimensão é a probabilidade de direção do movimento, a segunda dimensão é a probabilidade de força do movimento.

Mais: Melhor visibilidade do resultado.

Menos: Dificuldade do modelo de rede neural encaixar em estruturas "de madeira".

3) Opção dois com a divisão do modelo de rede em dois. Um modelo aprende a prever a direção, o segundo modelo aprende a prever a força do movimento.

Prós: Mantém a visibilidade; Facilidade de aplicação das redes neurais.

Menos: Pequeno aumento na velocidade de computação possível; Mais código.

 
Aleksey Terentev:

Maxim, a maneira como eu vejo a tua situação é esta:

O objectivo é:

(a) Para obter a probabilidade da direção do movimento;

b) Para obter uma estimativa da força do movimento.

Opções de solução:
1) Utilizar uma saída [0,1], ou [-1,1]. Ou duas saídas [[0,1], [0,1]].

Nuance! os dados de treinamento devem refletir a força do movimento, ou seja, o histórico do movimento precisa ser normalizado para o intervalo desejado.

Mais: Conveniência e facilidade de montagem do modelo de rede.

Menos: A normalização será heterogênea em toda a série temporal, devido a diferentes amplitudes de variações de preços.

Então o valor da probabilidade de atribuição a uma das 2 classes ainda corresponderá à força do sinal, se eu preencher inicialmente as saídas com a força do sinal (digamos, basta alimentar os incrementos normalizados na faixa de 0-1, a saída terá quanto maior a probabilidade de atribuição a uma determinada classe, maior o incremento esperado?

Ou não funciona assim e obtemos apenas a probabilidade de atribuição a uma classe, mas o tamanho do incremento na saída é perdido :)

 
Vizard_:

Se construirmos uma simples linha de regressão.... i.e..... seria mais forte do que...
E se tomarmos uma rede neural com classificação não-linear...


Mede-os com uma régua e saberás. Por exemplo, a agora na moda Logloss(R - biblioteca(MLmetrics))

Não seria melhor criar mais classes

Tão conveniente quanto quiseres...



Ou seja, a informação sobre a magnitude dos incrementos não será perdida após o treinamento, e a probabilidade de atribuição à 1ª de 2 classes pode ser usada para determinar a força prevista dos incrementos, e não apenas em qual classe os incrementos estarão. Então porque construir muitos outputs, 2 é suficiente :)

 
Maxim Dmitrievsky:

Ou seja, a informação sobre a magnitude dos incrementos não será perdida após o treinamento, e a probabilidade de atribuição à 1ª de 2 classes pode ser usada para determinar a força prevista dos incrementos, e não apenas em qual classe os incrementos aparecerão. Então porque se preocupar com muitas saídas, 2 é suficiente :)

Se estiver interessado num bom resultado - por exemplo, a probabilidade de cada classificação na compra pode ser diferente da probabilidade da mesma classificação na venda.

Com todo o respeito.
 
Maxim Dmitrievsky:

Então o valor da probabilidade de atribuição a uma das 2 classes corresponderá à força do sinal, se inicialmente eu preencher as saídas com a força do sinal (digamos, eu apenas alimento os incrementos normalizados no intervalo 0-1, na saída obtemos a maior probabilidade de atribuição a esta ou aquela classe, quanto maior o incremento esperado?

Ou não funciona assim e obtemos apenas a probabilidade de atribuição a uma classe mas o tamanho do incremento de saída será perdido :)

A própria rede neural não sabe o que precisa. Aprende com o que o alimenta. Se de facto houver um padrão entre entrada e saída nos dados, com um treino adequado o modelo irá detectá-lo. Isto é, sim, o valor de probabilidade pode sinalizar a força de um movimento.


Eu faria o seguinte: dividiria os sinais em duas classes de compra/venda por [0,1] ou sinusoid/saída deanh [-1,1].

 
Andrey Kisselyov:
A probabilidade de cada gradação na compra pode ser diferente da probabilidade da mesma gradação na venda, você terá que fazer algum trabalho se estiver interessado em um bom resultado.

Cumprimentos.

Não, já citei o ecrã, os incrementos são estacionários e simétricos em ambos os lados do zero, por isso as probabilidades serão +- as mesmas


 
E sim, é aqui que entra a normalização. Ele irá ricochetear e normalizar os dados de forma diferente em intervalos diferentes.

Bem, se você normalizar os dados de uma só vez, os sinais serão muito mais fracos.
 
Aleksey Terentev:

A própria rede neural não sabe o que precisa de si. Aprende com o que o alimenta. Se de facto houver um padrão nos dados entre a entrada e a saída, o modelo irá detectá-lo com o treino correcto. Quer dizer, sim, o valor da probabilidade pode sinalizar a força do movimento.


Eu dividiria os sinais em duas classes por [0,1] ou saída sinusoidal/tanh [-1,1].


Sim, obrigado, era isso que eu queria ouvir ... porque um amigo que está em redes neurais me disse que a probabilidade de atribuição a uma classe é apenas a probabilidade de atribuição a uma classe, os dados sobre incrementos absolutos seriam perdidos ... Comecei a discutir com ele e acabei confundindo nós dois :)