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

 
fxsaber:

Pergunta 01.

Os seguintes indicadores têm apenas um parâmetro de entrada externo

  • Exponencial suavizado - período/coeficiente.
  • PriceChannel (preço mais alto e mais baixo por intervalo) - tamanho do intervalo.
  • ZigZag - tamanho do joelho mínimo.

Eu escolhi estes indicadores precisamente devido aos parâmetros mínimos de entrada externa.

É possível reproduzir os seus algoritmos com a ajuda dos métodos MO. Ou seja, pegue qualquer histórico, execute os indicadores com quaisquer parâmetros e os alimente com o MO. É possível obter o algoritmo de indicador apropriado na saída?

A questão é sobre a definição da tarefa para o MO, ou seja, devemos marcar a história, acho que o mesmo PriceChannel é fácil de ensinar, ZZ pode ser o segundo em complexidade mas Ekponential Smoothing - não é classificação mas regressão, provavelmente, pode ser a mesma coisa mas eu não trabalhei com regressão.

 

Pergunta 03.

Já encontrei tais situações na prática várias vezes. O TS mostra lucro no intervalo de teste. Quando eu corro OOS por várias vezes mais tempo, ele mostra o mesmo lucro. Uma vez apostado na conta real, o lucro permanece o mesmo durante vários meses.


E a um certo momento a sistemática queda. Nenhuma reoptimização do mesmo TS dá nenhum resultado positivo. No melhor dos casos, abranda a queda.

Depois de um tempo o programador entende que tudo é uma porcaria e deixa a conta real. Você observa durante vários meses como o TS está perdendo no testador.


E de repente, duas semanas de lucro, um mês de lucro, mês OOS - lucro. Este é o mesmo TS. Você o coloca no real e obtém tudo igual ao descrito no primeiro parágrafo.

Esta não é uma situação hipotética, mas sim um caso de prática. Neste caso, o TS demonstrou a sua gratidão apenas num pequeno número de símbolos. Em outros foi um dreno durante todo o ano.


E, é claro, o TS não precisa de trocar vinte e quatro horas por dia. Pode ter havido um intervalo comercial intradiário.


Em termos de práticas comuns de aplicação de MO, foi possível obter um TS com características semelhantes?

 
fxsaber:

Pergunta 02.

Deixe o TS com quatro parâmetros de entrada realizar milhares de operações em algum intervalo. Adicionamos dois parâmetros de entrada com baixo número de variantes possíveis como um filtro. Na saída temos um gráfico em linha reta com cerca de mil negócios. E todos eles estão distribuídos mais ou menos uniformemente em toda a área de testes.


Qual a razão da alta probabilidade de se perder 5% do intervalo inicial no OOS? Um intervalo enorme e apenas seis entradas deram uma sequência de um número realmente grande de negócios. E o que saiu foi um ataque descarado.

Isso significa que existem mais de seis parâmetros? Uma espécie de referência à primeira pergunta, os algoritmos que são simples para nós não são realmente complexos por natureza?

E porque não haveria de haver uma ameixa? Qual é a semelhança nos dados históricos - essa é uma questão à parte para avaliar a correção do modelo.

E depois o que foi dado como input, como a história foi marcada para o treino, o que foi ensinado - há muitas nuances aqui.

 
fxsaber:

Pergunta 03.

Já encontrei tais situações na prática várias vezes. O TS mostra lucro no intervalo de teste. Quando eu corro OOS por várias vezes mais tempo, ele mostra o mesmo lucro. Uma vez apostado na conta real, o lucro permanece o mesmo durante vários meses.


E a um certo momento a sistemática queda. Nenhuma reoptimização do mesmo TS dá nenhum resultado positivo. No melhor dos casos, abranda a queda.

Depois de um tempo o programador entende que tudo é uma porcaria e deixa a conta real. Você observa durante vários meses como o TS está perdendo no testador.


E de repente, duas semanas de lucro, um mês de lucro, mês OOS - lucro. Este é o mesmo TS. Você o coloca no real e obtém tudo igual ao descrito no primeiro parágrafo.

Esta não é uma situação hipotética, mas sim um caso de prática. Neste caso, o TS demonstrou a sua gratidão apenas num pequeno número de símbolos. Em outros foi um dreno durante todo o ano.


E, é claro, o TS não precisa de trocar vinte e quatro horas por dia. Pode ter havido um intervalo comercial intradiário.


Em termos de práticas comuns de aplicação de MO, foi possível obter um TS com características semelhantes?

Portanto, esta é novamente uma questão relacionada com as fases do mercado e com o que o TS/modelo MO aprendeu. Por exemplo, treinei o modelo no CatBoost - tudo bom na história fora do treino, coloquei-o no real e no silêncio durante 3 meses o modelo ficou em silêncio - tirei-o e no último mês através dos testes vejo que perdi muitos negócios lucrativos (no mês passado), mas então aparentemente o modelo em si levou algo em conta e não negociou, porque o mercado era realmente muito plano, e o modelo está em tendência (nos minutos).

 
Aleksey Vyazmikin:

Porque não haveria de haver um dreno? Qual é a semelhança nos dados históricos - essa é uma questão à parte para avaliar a correção do modelo.

E depois, o que foi dado como input, como a história foi marcada para o treinamento, o que foi ensinado - há muitas nuances aqui.

Que treino? Um simples Expert Advisor clássico com seis parâmetros optimizáveis. A AG regular mostra excelentes resultados no intervalo.

Não estou interessado na resposta "por que você esperava que falhasse no OOS? E qual é a razão pela qual é razoável perder no OOS mesmo com mil negócios?


O meu raciocínio amador é o seguinte.

O TC tem muito poucos graus de liberdade. Portanto, a probabilidade de ajuste cai.

Milhares de negócios distribuídos uniformemente no intervalo - significa que o "padrão" de jogo longo neste intervalo foi detectado. Especialmente porque o gráfico de equilíbrio é quase uma linha reta.


O que está realmente errado com este raciocínio? Presumo que na verdade os parâmetros de entrada não são seis, mas convencionalmente um milhão. Este é o número de parâmetros de entrada da máquina universal que reproduzem o algoritmo TC. Ou seja, o algoritmo em si é um certo conjunto de parâmetros de entrada.

 
fxsaber:

Que treino?! Uma EA clássica regular com seis parâmetros optimizáveis. A AG regular produz excelentes resultados no intervalo.

Não estou interessado na resposta "o que você estava esperando, é claro que estou perdendo no OOS". E qual é a razão para perder no OOS mesmo com mil negócios?

E qual é o intervalo de aprendizagem? 1000 negócios podem estar em uma tendência global onde a abertura de posições em seu vetor dará uma vantagem em si.

Por exemplo, eu treino futuros Si na história de 5 anos para ter mais situações diferentes. De 2008 a 2016 eu otimizei EAs para forex em 15 min, eles são suficientemente sobreviventes para o cálculo da média.

E em essência, a otimização é o mesmo método MO, então tudo o que foi dito antes é verdade.

fxsaber:

O meu raciocínio amador é o seguinte.

Há muito poucos graus de liberdade na TC. Portanto, a probabilidade de ajuste diminui.

Milhares de negócios distribuídos uniformemente no intervalo - significa que o "padrão" de jogo longo neste intervalo foi detectado. Especialmente porque o gráfico de balanço é quase uma linha reta.

Por que você não quer pensar em avaliar a similaridade dos mercados - eu vejo, por exemplo, que na volatilidade do Forex caiu acentuadamente nos últimos anos, mesmo este ano - eu costumava ganhar 3-4 vezes mais por mês, e agora apenas nenhum movimento e nenhum negócio no meu TS em forex.

E então, tudo tem que ser olhado objetivamente, tente entender o que o TS faz, se é realmente simples e pense se suas ações são razoáveis ou se é uma questão de sorte.


fxsaber:

O que há realmente de errado com este raciocínio?

Raciocínio errado, pois assume a estacionaridade do mercado, o que não é o mesmo...

fxsaber:

Presumo que na verdade os parâmetros de entrada não são seis, mas convencionalmente um milhão. Este é o número de parâmetros de entrada da máquina universal que reproduzem o algoritmo TS. Ou seja, o algoritmo em si é um certo conjunto de parâmetros de entrada.

Se estamos falando de indicadores, há muito mais parâmetros, porque devemos considerar a lógica do próprio indicador, quase todos se no código do indicador como uma condição separada e isso, naturalmente, gerará um número incontável de combinações. No entanto, pessoalmente penso que, pelo contrário, o uso de indicadores é uma abordagem sensata, porque presumo que muitos participantes do mercado os usam e, portanto, há uma probabilidade de apanhar um pouco da lógica do TS de um participante com dinheiro.

 
fxsaber:

Pergunta 01.

Os seguintes indicadores têm apenas um parâmetro de entrada externo

  • Exponencial suavizado - período/coeficiente.
  • PriceChannel (preço mais alto e mais baixo por intervalo) - tamanho do intervalo.
  • ZigZag - tamanho do joelho mínimo.

Eu escolhi estes indicadores precisamente devido aos parâmetros mínimos de entrada externa.

É possível reproduzir os seus algoritmos com a ajuda dos métodos MO. Ou seja, pegue qualquer histórico, execute os indicadores com quaisquer parâmetros e os alimente com o MO. É possível obter o algoritmo do indicador correspondente na saída?

Um alisamento semelhante ao EMA pode ser obtido exactamente, espero que se refira ao resultado e não ao "algoritmo" sob a forma de código :)

Eu não tenho tanta certeza sobre PriceChannel e ZZ, tenho certeza que eles vão ter falhas. Em geral, a tarefa é interessante, obrigado:)

fxsaber:

Pergunta 02.

Suponha que o TS com quatro parâmetros de entrada em algum intervalo realiza milhares de negócios. Adicionar como filtro dois parâmetros de entrada com baixo número de variantes possíveis. A saída será um gráfico de linhas rectas com aproximadamente mil transacções. E todos eles estão distribuídos mais ou menos uniformemente em toda a área de testes.


Qual a razão da alta probabilidade de se perder 5% do intervalo inicial no OOS? Um intervalo enorme e apenas seis entradas deram uma sequência de um número realmente grande de negócios. E o que saiu foi um ataque descarado.

Isso significa que existem mais de seis parâmetros? É uma espécie de referência à primeira pergunta- os algoritmos simples não são complicados pela sua natureza?

É mais uma questão do tipo de algoritmo de estratégia e MM do que de previsão. Se você não sabe que tipo de erro pode encontrar na sua estimativa, você pode calcular a probabilidade de erro usando um dos parâmetros, você pode calcular o valor máximo da previsão matemática.

fxsaber:

Pergunta 03.

Enfrentei tais situações várias vezes na prática. O TS mostra o lucro no intervalo de teste. Quando você abre OOS por várias vezes mais, o lucro permanece o mesmo. Aposta em uma conta real e mostra o mesmo lucro por vários meses.


E a um certo momento a sistemática queda. Nenhuma reoptimização do mesmo TS dá nenhum resultado positivo. No melhor dos casos, abranda a queda.

Depois de um tempo o programador entende que tudo é uma porcaria e deixa a conta real. Você observa durante vários meses como o TS está perdendo no testador.


E de repente, duas semanas de lucro, um mês de lucro, mês OOS - lucro. Este é o mesmo TS. Você coloca no real e obtém tudo igual ao descrito no primeiro parágrafo.

Esta não é uma situação hipotética, mas sim um caso de prática. Neste caso, o TS demonstrou a sua gratidão apenas num pequeno número de símbolos. Em outros foi um dreno durante todo o ano.


E, é claro, o TS não precisa de trocar vinte e quatro horas por dia. Pode ter havido um intervalo comercial intradiário.


Em termos de práticas comuns de aplicação de MO, foi possível obter um TS com tais características?

Acho que ninguém pode comentar tais características "com as mãos no coração". Em geral você não deve pensar em usar MoD como uma coisa separada, MoD é apenas uma extensão das estatísticas, um algoritmo geral é MoD, mesmo a otimização da malha é MoD, então sempre houve MoD em negociação algorítmica:)

Há uma tendência para os preguiçosos esperarem pela automatização total da procura do TC e deixarem o IR fazer tudo por eles, felizmente isso não vai acontecer por muito tempo, e quando acontecer não terá sentido financeiro, mas entretanto o IR clássico é mau à procura de sinais sensatos e "profundo" é muito caprichoso em todos os aspectos, trabalhar com ele é doloroso e os resultados são nebulosos.

 
fxsaber:

O meu raciocínio amador é assim.

Há muito poucos graus de liberdade no TC. Então, a probabilidade de encaixe cai.

Milhares de negócios distribuídos uniformemente no intervalo - significa que o "padrão" de longo prazo neste intervalo é revelado. Especialmente porque o gráfico de equilíbrio é quase uma linha reta.

O que está realmente errado com este raciocínio? Presumo que na verdade os parâmetros de entrada não são seis, mas convencionalmente um milhão. Este é o número de parâmetros de entrada da máquina universal que reproduzem o algoritmo TC. Ou seja, o próprio algoritmo é um conjunto de parâmetros de entrada.

O que está errado é que ao estimar uma série cronológica (não importa se é um preço, uma sequência de rolos de dados ou números da "roda da fortuna"... ou mesmo uma tabela de temperatura)

Você (e nós todos os participantes deste fórum) assumimos que a série temporal deve se comportar no futuro desta maneira - nós tentamos! Infelizmente o ajuste está sempre presente, e quanto mais usamos os dados de entrada, maior é o ajuste e a nossa confiança.

leia a primeira parte do artigo sobre o hubrahttps://habr.com/ru/company/ods/blog/322716/

antes do gráfico

gostou muito da apresentação


bem como sobre a sua pergunta com MO, o meu raciocínio diletante:

problema para preparar os dados de entrada para treinamento, com ZigZag em geral um problema - o mais simples é alimentar os preços de ZZ kinks - treinados, testados - não funciona, por quê? - porque está estreitamente ligado a dados específicos, não existem tais preços no futuro, NS é um polinômio regular y = ax+bx+cx+dx+dx+ex..... o número de polinômios é o número de neurônios, quanto mais neurônios, melhor qualidade (erro NS), mas ocorre um re-treinamento mais rápido.... o overlearning é combatido inventando novos tipos de NS, mas há também onde é melhor onde é pior....

mas com funções periódicas NS funcionará, na verdade, perfeitamente - um gráfico de seno/coseno em qualquer escala e com o mínimo de dados para aprendizagem - porque tais funções podem ser escritas usando a expansão da série Taylor? (não me lembro já) - e isso seriam cinco polinómios y = ax+bx+cx+cx+dx+ex

ZS: com séries de preços ninguém conseguiu inventar uma fórmula polinomial - é por isso que NS não funciona perfeitamente... Talvez apenas uma fórmula não exista ))))

 
Gianni:

É mais uma questão do tipo de algoritmo de estratégia e MM do que de previsão. Eu diria que a maioria dos grails dos testadores são reversíveis com média e, às vezes, sentado muito tempo, usando tais configurações é muito fácil obter um "grail" com um parâmetro, você deve remover a média para obter uma imagem mais objetiva, embora não seja suficiente, a expectativa IMHO de previsões deve ser medida corretamente (tendências / voltas), porque você pode enganar muito não só os outros, mas a si mesmo também.

Estava a rodar algo hoje à noite. Como uma resposta não citada, acho que será interessante para os outros lerem.

https://www.mql5.com/ru/blogs/post/728196

EURDKK vs swap
EURDKK vs swap
  • www.mql5.com
Тиковая ТС, без использования каких-либо индикаторов, включая бары. Более того, никак не обращается к истории цены. Внутри нет циклов. В общем быстрая однопроходная болванка. При этом еще и переворотная: сигнал на закрытие является сигналом на открытие противоположной позиции. Т.е. в рынке постоянно. Постоянный лот. Ну и для некоторой честности...
 
fxsaber:

1. Sim, com alguma precisão (erro de aproximação)

2. Pegue um polinómio de 3º grau (apenas 3 termos livres) e ajuste-o a um pedaço de gráfico com um quilómetro de comprimento. Isso significa que vai funcionar no OOS? É claro que não. As curvas vão começar a divergir quase imediatamente, mas às vezes você pode ter sorte com a direção. Se o padrão é desconhecido (teoricamente, conceitualmente, fundamentalmente - seja o que for) que está sendo explorado, então a questão pode ser descartada, pois é sempre um ajuste para a SB

3. Em termos de MoD você pode conseguir o que quiser. Basicamente, estas parcelas estarão com certas tendências, se forem semelhantes, então funcionará. Ou seja, neste caso, é a tendência global que muda, muito provavelmente, ou que o mercado se torna semelhante ao que era, a médio prazo. É por isso que funciona/não funciona.

Todas estas questões são resolvidas em econometria ao nível conceptual: a tendência linear é a principal componente, é prevista em primeiro lugar. Depois, flutuações não lineares em torno da vara reta, desde que a tendência persista. A maior tendência não pode ser prevista devido à falta de iteração, ou seja, toda a incerteza será do plano a longo prazo. Apenas alguns termos livres, geralmente não mais do que 3, descrevem qualquer curva de mercado. O MOS já pode ser ajustado aos resíduos do que fica imprevisto.