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

 
Olá! Sou novo no aprendizado de máquinas e tenho uma pergunta, por que todos vocês tentam prever a direção do preço, seja ziguezagueando ou simplesmente incrementando a próxima vela, há muito caos no mercado, você precisa incluir um corredor no qual o preço poderia "sacudir". Parece-me mais eficaz tomar o resultado da negociação como um alvo. Por exemplo, durante o treinamento consideramos uma curva de lucro ideal e o alvo será marcado como não se desviando do ideal em mais de 15% ou, alternativamente, tomar o fator de recuperação e não deixá-lo cair abaixo de n , tais alvos serão mais flexíveis para os dados de mercado. E o mais interessante é como implementar a função de tal forma, por exemplo, para a mesma floresta aleatória?
 
mytarmailS:
Olá! Sou novo no aprendizado de máquinas e tenho uma pergunta, por que todos vocês tentam prever a direção do preço, seja ziguezagueando ou simplesmente incrementando a próxima vela, há muito caos no mercado, você deveria incluir algum corredor no qual o preço poderia "sacudir". Parece-me mais eficaz tomar o resultado da negociação como um alvo. Por exemplo, durante o treinamento consideramos uma curva de lucro ideal e o alvo será marcado como não se desviando do ideal em mais de 15% ou, alternativamente, tomar o fator de recuperação e não deixá-lo cair abaixo de n , tais alvos serão mais flexíveis para os dados de mercado. E o mais interessante é como implementar uma função nesta forma, por exemplo, para a mesma floresta aleatória ?
Olá, poderia desenhar este alvo graficamente para torná-lo mais claro?
 
 

Olá!

O lado esquerdo é apenas um tipo de preço, o lado direito representa a curva de equilíbrio ideal (tudo o que pode ser ganho), o verde representa um determinado intervalo (corredor) da curva de equilíbrio ideal que não devemos ultrapassar no nosso comércio, o cinzento representa o equilíbrio de um tipo de comércio real)

Assim, a essência da meta não é prever os preços e a meta sob a forma de um vector 11100001111100 , e encontrar um estado em que a linha cinzenta não vá além da linha verde

Não entendo como fazê-lo eu mesmo, é por isso que gostaria de discutir isso).

 
mytarmailS:

Olá!

O lado esquerdo é apenas um tipo de preço, o lado direito representa a curva de equilíbrio ideal (tudo o que pode ser ganho), o verde representa um determinado intervalo (corredor) da curva de equilíbrio ideal que não devemos ultrapassar no nosso comércio, o cinzento representa o equilíbrio de um tipo de comércio real)

Assim, a essência da meta não é prever os preços e a meta sob a forma de um vector 11100001111100 , e encontrar um estado em que a linha cinzenta não vá para além da linha verde

Posso estar um pouco confuso, mas não sei como fazê-lo eu mesmo, é por isso que gostaria de discutir isso).

O ângulo de inclinação da linha no comércio de erros será inferior ao ideal. Você retratou o comércio em cinza, onde muito provavelmente o aumento do lote está fazendo um retorno ao ângulo planejado.

Ou seja, é negociar para prever a direção do preço, mas quando o erro é acumulado o sistema de alguma forma começa a trabalhar na direção mais frequentemente.

Discutimos aqui três opções de alvos.
1) fechamento de uma posição em intervalo de tempo
2) fechamento de um negócio quando o nível é quebrado (tp/cl)
3) direção geral da tendência, onde o fechamento do comércio não está explicitamente definido. Pode ser por tempo ou tp/cl.

Neste caso, a variante 3 é a mais vaga em termos do critério de saída.
 
Alexey Burnakov:
O ângulo de inclinação da linha no comércio de erros será inferior ao ideal. Você retratou um comércio de linha cinza onde o aumento do lote muito provavelmente voltará ao ângulo pretendido.

Ou seja, é negociar na previsão da direção do preço, mas quando o erro é acumulado o sistema de alguma forma começa a trabalhar intensamente no plus com mais frequência.
Eu não entendo )) não há muito, não há sistema que trabalhe muito), é uma data gerada aleatoriamente... Apenas imaginei que o alvo deveria funcionar melhor que o ziguezague na minha humilde opinião, claro, mas como implementar isto eu não sei, pensei que talvez alguém me dissesse
 
mytarmailS:
Eu não entendo )) não há muito, não há nenhum sistema que funcione melhorado), é uma data gerada aleatoriamente... apenas imaginei um alvo que deveria funcionar melhor que o ziguezague na minha humilde opinião, claro, mas como implementá-lo eu não sei, pensei que talvez alguém me diga

Eu também não te consigo entender.

Sua curva cinza é como negociar com um lote variável para sempre retornar a uma linha de declive elevado.

É como um martin que tem sempre um ângulo da linha de negociação.

Na realidade, não é realista negociar desta forma. Com os erros (perda de negócios) sua curva real estará muito mais próxima de zero.

A forma como o alvo é realizado também não é clara. Este tipo de série temporal só é possível quando o comércio retorna sempre no mais após a acumulação de menos. Dificilmente é possível colocar isto em treinamento, pelo menos não da maneira padrão.

 

Não é um sistema, é apenas uma ilustração )))) Não há comércio lá.

Desculpa, devo ser mau a expressar os meus pensamentos.

aqui está o código

PREÇO <- cumsum(rnorm(200))+1000

par(mfrow=c(1,2))

gráfico(PRICE,t="l",,lwd=2)

PD <- c(0,diff(PREÇO))

BAL <- PD

for(i in 1:length(PD)){

if(BAL[i] < 0) BAL[i] <- BAL[i]/-1

}

BAL <- cumsum(BAL)

lowBAL <- BAL - 50

gráfico(BAL,t="l",lwd=3)

plot(lowBAL,t="b",col="green")

realBAL <- BAL+rnorm(200,sd=20)

lines(realBAL,t="l",col="grey")


Vamos começar de novo, há uma função de alvo padrão, é um vetor que denota a direção do movimento, você pode descrevê-lo por um ziguezague ou apenas a próxima vela fechar, o vetor é geralmente convertido em 1110000111 ou -1-1-11111

Posso fazer isso dessa forma, mas acho que tais abordagens têm falhas.

Proponho fazê-lo: deixe o algoritmo durante o treinamento imitar a negociação (gráfico cinza) e o compare com o retorno ideal que poderia ser esperado (gráfico preto), ou seja, o algoritmo não tenta prever o próximo preço e apenas tenta não ir além da linha verde. Foi tudo o que tentei mostrar na tabela.

Pergunta: É possível realizá-lo, porque todos os algoritmos que vi (neural, RF...) querem um vetor alvo de 11100011

 
mytarmailS:

Não é um sistema, é apenas uma ilustração )))) Não há comércio lá.

Desculpa, devo ser mau a expressar os meus pensamentos.

aqui está o código

PREÇO <- cumsum(rnorm(200))+1000

par(mfrow=c(1,2))

gráfico(PRICE,t="l",,lwd=2)

PD <- c(0,diff(PREÇO))

BAL <- PD

for(i in 1:length(PD)){

if(BAL[i] < 0) BAL[i] <- BAL[i]/-1

}

BAL <- cumsum(BAL)

lowBAL <- BAL - 50

gráfico(BAL,t="l",lwd=3)

plot(lowBAL,t="b",col="green")

realBAL <- BAL+rnorm(200,sd=20)

lines(realBAL,t="l",col="grey")


Vamos começar de novo, há uma função de alvo padrão, é um vetor que denota a direção do movimento, você pode descrevê-lo por um ziguezague ou apenas o próximo fecho de vela, o vetor é geralmente transformado em 1110000111 ou -1-1-11111

Posso fazer isso dessa forma, mas acho que tais abordagens têm falhas.

Proponho fazê-lo: deixe o algoritmo durante o treinamento imitar a negociação (gráfico cinza) e o compare com o retorno ideal que poderia ser esperado (gráfico preto), ou seja, o algoritmo não tenta prever o próximo preço e apenas tenta não ir além da linha verde. Foi tudo o que tentei mostrar na tabela.

A questão : é possível realizá-lo, pois todos os algoritmos que vi (neural, RF...) querem um vector alvo de 11100011 sob a forma de um vector alvo ?

Obrigado. Eu entendi-te imediatamente. É que não é possível implementá-lo por padrão.

Toma floresta ao acaso. Presumo que esteja familiarizado com este método de aprendizagem da máquina.

Esta coisa só pode funcionar de uma maneira. Se tivermos uma variável binária de saída, a floresta de decisão para cada um dos inputs simplesmente procurará estupidamente uma região de valores onde a inclinação de uma das classes de output é estatisticamente maior. E iterativamente, isto é feito para todas as variáveis.

Se você quiser que a máquina seja responsável pelo desvio da precisão real do comércio em relação ao ideal, você precisa se certificar de que a floresta de decisão seja correspondida de acordo, e não com base no enviesamento nas classes. Isso precisa levar em conta a variação dinâmica do desvio do comércio ideal, que também não é viável por padrão. Para isso, a máquina precisa de ser alimentada dinamicamente com dados sobre o comércio perfeito. Para este fim é necessário reescrever o método. As ferramentas padrão simplesmente não podem fazer isso.

Há funções de gradiente. Para uma floresta padrão, a inclinação é definida à sua própria maneira. Se você precisa otimizar o desvio do comércio em relação ao ideal, será um gradiente completamente diferente. Acho que, de alguma forma, não consigo escrever pessoalmente de joelhos.

 
Obrigado pelo esclarecimento, entendo perfeitamente agora, os algos genéticos podem ajudar aqui? em vez de RF, tenho algumas idéias interessantes para implementar um alvo, gostaria de experimentá-las.