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

 
Aleksey Vyazmikin:

Então eu assumo que o assunto é o mesmo em todo lugar - um comerciante e por que ele mudaria seu comportamento dependendo do instrumento?

Você finalmente decidiu no seu raciocínio que não há diferença se o cavalo está à frente da carroça ou vice-versa - a carroça está à frente do cavalo! ))))

Um trader adapta-se ao mercado, porque não há nenhum participante no mercado que lhe possa dizer onde estará o preço amanhã, não há nenhum participante no mercado que tenha toda a informação sobre todos os participantes do mercado


Aleksey Vyazmikin:
Se assumimos que os mercados são todos iguais e que o comportamento dos preços tem padrões semelhantes, então porque não combinar uma dúzia de instrumentos numa só amostra e procurar "características" comuns para todos os mercados?

suponha, então no optimizador terá sempre o seu TS a encontrar excelentes soluções (espero que não considere negociar com stop-loss e risk-excess), mas normalmente tudo é triste, o que funciona num mercado pode não funcionar no outro.

Aqui está o problema geral: simplifique o modelo (o mercado) para as coordenadas cartesianas X e Y, com base no seu pressuposto de que todos os mercados são iguais, então existe um coeficiente de transformação (linear ou não linear) que lhe permite converter alguns dados em outros - se assim for, então é um problema para os NS, resolve o problema de encontrar a dependência dos dados de entrada na saída, uma tabela de multiplicação não alimentou aqui apenas a pessoa preguiçosa dos NS ;)

 
Igor Makanu:

Assuma, então no optimizador terá sempre o seu TS a encontrar grandes soluções (espero que não estejamos a considerar negociar com perdas e riscos excessivos), mas normalmente tudo é triste, o que funciona num gráfico não funciona no outro


Isso só indica que o neurônio ou o que quer que você esteja usando encontrou outra besteira. Ele se agarra à forma, se adapta a uma área local, uma de milhões de implementações, mas é incapaz de "entender" a estrutura global. Mas o principal - para ir, quero dizer para ganhar, certo?

Se você está tão empenhado no MO, querendo mudar a responsabilidade de sua própria cabeça e olhos, e sem alma, então aqui está um "critério" para a avaliação final.Se você encontrou "algo" em 15 minutos da libra, deve funcionar mais ou menos o mesmo em minutos de ouro e na semana diária de "chemos" domésticos, e em tudo, incluindo açúcar e soja da época de Larry Williams.

Desculpe por ser tão rude (Igor Makanu: não você pessoalmente, mas em geral), abra os olhos e olhe nas tabelas do livro "Segredos de Longo Prazo"... Ou Linda Raschke tem algumas fotos, você vê muitas diferenças de 15 minutos dos relógios de libra ou bitcoin :)

Se você julgar pela porcentagem de negócios lucrativos, pelo fator de lucro, tudo depende do instrumento, do tempo, a diferença é mais ou menos 3-4 por cento, não mais. Com o crescimento do tempo a estabilidade dos padrões está caindo. O mais preciso é em "ticks", o que quer que você teste com eles, os parâmetros do sistema são tão apertados como antes. E então o erro é acumulado com o tempo e os padrões se tornam mais vagos. Quanto mais tempo leva para formar o padrão, mais forte é o tremor da imagem. Mas a estrutura do padrão não "desmorona", mesmo no MN, ainda é o mesmo padrão, a diferença é em porcentagem.

--

A base de ferro para a "similaridade" de todos os gráficos de mercado está lá, eles não podem ser diferentes puramente fisicamente. Nem podem mudar com o tempo, mesmo por "um milímetro", bem, a menos que, por exemplo, a velocidade da luz muda ou o número de PI.

Liguei-me a um livro mais de uma vez, que diz porque são os mesmos e porque não podem mudar com o tempo.

 
Aleksey Vyazmikin:

Eu tive treinamento para 2016-2017 e depois acabei de verificar as fichas para 2014-2018 e selecionei as que eram rentáveis a cada ano e que preenchiam uma série de outros critérios (crescimento geral/não houve um grande saque). Por isso pergunto-me se um modelo desses pode ser usado.

Em relação à combinação de diferentes instrumentos, tantos preditores aqui é o ganho em pips para diferentes intervalos de tempo, e não vai funcionar com diferentes instrumentos...

O que é um pacote ou um programa no qual você pode ver as folhas individuais e suas estatísticas?

Ensinou lá uma árvore ou uma floresta?
 
Wizard2018:

Ele só mostra que a rede neural ou o que quer que você esteja usando encontrou outra falsa. Ele se apega à forma, se ajusta a uma seção local, uma das milhões de variantes de implementação, mas não consegue "entender" a estrutura global.Mas o principal é conduzir, ou seja, ganhar, certo?

Se você tem essa intenção no MOD, querendo mudar a responsabilidade da sua própria cabeça e olhos para um bogie sem alma, então aqui está o "critério" para a avaliação final.Se você encontrou "algo" em 15 minutos da libra, deve funcionar mais ou menos o mesmo em minutos de ouro e na semana diária de "quimio" doméstico, e em tudo, incluindo açúcar e soja da época de Larry Williams.

Desculpe ser tão rude (Igor Makanu: não é para si pessoalmente, mas em geral), abra os olhos, olhe para os gráficos do livro "Segredos a Longo Prazo"... Ou Linda Raschke tem algumas fotos, você vê muitas diferenças de 15 minutos dos relógios de libra ou bitcoin :)

Se você julgar pela porcentagem de negócios lucrativos, pelo fator de lucro, tudo depende do instrumento, do tempo, a diferença é mais ou menos 3-4 por cento, não mais. Com o crescimento do tempo a estabilidade dos padrões está caindo. O mais preciso é em "ticks", o que quer que você teste, os parâmetros do sistema são tão apertados como antes. E então um erro é acumulado com o tempo e os padrões se tornam mais vagos. Quanto mais tempo leva para formar um padrão, mais forte o quadro treme.

--

A base de ferro para todos os gráficos de mercado sendo "iguais" está lá, não podem ser diferentes puramente fisicamente. Nem podem mudar com o tempo, mesmo por um "milímetro", bem, a menos, por exemplo, que a velocidade da luz mude ou o número de alterações do PI.

Eu dei um link para um livro mais de uma vez, ele diz tudo, tanto porque eles são iguais como porque eles não podem mudar com o tempo.

Desculpa, não tenho sempre tempo para ler todas as discussões do tópico, vou lê-lo, de qualquer forma não há nada para ler agora.

 

R ou Python? Porque não as duas coisas? Usando o Anaconda Python dentro de R com {reticulado}

R or Python? Why not both? Using Anaconda Python within R with {reticulate}
R or Python? Why not both? Using Anaconda Python within R with {reticulate}
  • Econometrics and Free Software
  • www.r-bloggers.com
This short blog post illustrates how easy it is to use R and Python in the same R Notebook thanks to the package. For this to work, you might need to upgrade RStudio to the current preview version. Let’s start by importing : is an RStudio package that provides “a comprehensive set of tools for interoperability between Python and R”. With it...
 
Vizard_:

Fa, precisa de um filtro normal como o JMA de Jurica, mas antes de 71.
De preferência, não muito complicado e em R. Tem algum?

Não.

Tenho usado o refinado JMA no mcl4 há muito tempo em termos de adaptação de períodos, mas não é muito útil: desvanece-se como tudo o resto. De vez em quando eu tinha que intervir com as minhas mãos.

Eu uso indicadores como preditores, mas não estou ciente de qualquer suavização que tenha poder de previsão para as minhas variáveis-alvo.

Se for sobre filtros, há um pacote curioso chamado smooth. Dentro do alisamento fica Kalman com espaço de estado. Dá mashups de muito boa qualidade, e com extrapolação (previsão) para vários passos à frente.


Mas novamente, o principal para mim é: capacidade de previsão para o alvo, e tudo neste pacote é o mesmo problema: não tem capacidade de previsão.


Foi por isso que desisti de todos os filtros, suavização e outras coisas.

 
Igor Makanu:

no seu raciocínio você finalmente decidiu que não faz diferença se o cavalo está à frente da carroça ou se a carroça está à frente do cavalo! ))))

O negociador adapta-se ao mercado, porque não há nenhum participante no mercado que lhe possa dizer onde estará o preço amanhã, não há nenhum participante no mercado que tenha toda a informação sobre todos os participantes do mercado

Trader é uma imagem coletiva, é uma pessoa que expressa a vontade de uma pessoa (física ou jurídica), que influencia o mercado, aplicando suas habilidades para atender às necessidades de um cliente. É por isso que eu digo que, coletivamente, habilidades similares em todos os instrumentos ganham, não por causa do conhecimento ou das habilidades em si, mas por causa da quantidade de ativos dos participantes utilizados. Acrescente a isto a religião global da análise técnica, que é inaplicável à maioria dos participantes do mercado (uma vez descontado um link para a exigência do Banco Central de conhecer estes postulados para um participante profissional do mercado de títulos)... Você não pode dizer onde estará o preço, nossa tarefa é entender como o preço se moverá dependendo do vetor de movimento escolhido e minimizar o custo de entrada na transação, o preço do risco.


Igor Makanu:


Suponha então que no otimizador você sempre terá seu TS sempre encontrará grandes soluções (espero que a troca com a perda de sobrecompensação e excesso de risco, não consideramos), mas normalmente tudo é triste, o que funciona em um gráfico não funciona no outro

Aqui está o problema geral: simplifique o modelo (o mercado) para as coordenadas cartesianas X e Y, com base no pressuposto de que todos os mercados são iguais, então há uma relação de transformação (linear ou não linear), que permite converter alguns dados em outros - se assim for, então é um problema para os NS, resolve perfeitamente o problema de encontrar a dependência dos dados de entrada na saída, uma tabela de multiplicação não alimentou os NS ;)

Estou a trabalhar mais com preditores, que descrevem o mercado, e já tenho mais de 300 deles, e 300 inputs é demasiado complicado para a SN... É por isso que eu uso modelos semelhantes a árvores. Em qualquer caso, a tarefa é converter pontos em unidades relativas para que os preditores não dependam do instrumento. Faço isso com ATR diário, mas pode haver um método melhor - não sei. Em qualquer caso, eu preciso tentar diferentes métodos de transformação de dados, já que minha amostra de treinamento não é muito rica - nem todas as variações são levadas em conta ou presentes de uma pequena forma quantitativa que impeça a identificação da regra (formação de lista).

 
elibrarius:

Qual é o pacote ou programa no qual você pode assistir as fichas individuais e estatísticas sobre o trabalho deles?

Treinou lá uma árvore ou uma floresta?

Sim, é muito instrutivo trabalhar com amostragem no Deductor Studio - você pode reconstruir galhos ou construir uma árvore a partir do zero - uma ferramenta muito boa para entender como a árvore funciona e para testar suas hipóteses. A desvantagem é que o pacote é pago e você não pode descarregar as regras (folhas) tão facilmente...

Eu uso script R para gerar árvore com genética, depois uso script para descarregar dados da árvore a cada iteração, e depois uso programa parser, que foi escrito separadamente, ele converte árvores em folhas neste formato:

            if(Test_P!=1245)if(DonProc>=5.5 && TimeH< 10.5 && Levl_High_H4s1< 1.5) CalcBuy=CalcBuy+1; //(0.22513089 0.30366492 0.47120419)
            if(Test_P!=2030)if(Povtor_Low_M1>=0 && TimeH>=10.5 && TimeH< 21.5 && BB_iD_Center_H1< 0 && Levl_Close_D1>=-2.5 && Levl_Support_W1s1< 4.5 && LastBarPeresekD_Down_M15< 4.5) CalcBuy=CalcBuy+1; //(0.09111617 0.51252847 0.39635535)
            if(Test_P!=2537)if(Povtor_High_M1>=0 && rLevl_Down_iD_RSI< -6.5 && TimeH< 14.5) CalcBuy=CalcBuy+1; //(0.1990172 0.3832924 0.4176904)
            if(Test_P!=3243)if(Levl_Close_H1>=0 && TimeH<10.5 && Levl_Support_W1<-3.5) CalcBuy=CalcBuy+1; //(0.1153846 0.1538462 0.7307692)
            if(Test_P!=3314)if(Levl_Close_H1>=0 && TimeH< 10.5 && Levl_Low_W1s1N< 4.5 && Levl_Support_W1< -3.5) CalcBuy=CalcBuy+1; //(0.1153846 0.1538462 0.7307692)
            if(Test_P!=3583)if(Povtor_Type_M1>=0 && TimeH< 10.5 && Levl_Close_W1< -3.5) CalcBuy=CalcBuy+1; //(0.11428571 0.20000000 0.68571429)
            if(Test_P!=3857)if(Povtor_Type_M1>=0 && TimeH<10.5 && Levl_Support_W1<-3.5) CalcBuy=CalcBuy+1; //(0.07142857 0.17857143 0.75000000)
            if(Test_P!=6546)if(Povtor_Type_H1< 0 && Levl_Close_H1s1N>=0 && Levl_Close_H1s1N< 2.5 && Levl_High_W1s1>=2.5 && DonProc_M15>=5.5) CalcBuy=CalcBuy+1; //(0.1228070 0.4210526 0.4561404)
            if(Test_P!=6676)if(Povtor_Type_H1< 0 && Levl_Close_H1s1N>=0 && Levl_Close_MN1< 4.5 && TimeH< 21.5 && BB_iD_Center_H1< 0 && Povtor_Type_M15>=0 && Levl_Down_DC_M15>=-2.5) CalcBuy=CalcBuy+1; //(0.10619469 0.42477876 0.46902655)
            if(Test_P!=8673)if(Levl_Close_H1s1< 0 && Levl_Close_H1s1N>=0 && Part_H4>=2.5 && TimeHG< 3 && Levl_first_W1s1>=0.5) CalcBuy=CalcBuy+1; //(0.11607143 0.40178571 0.48214286)
            if(Test_P!=8840)if(TimeHG>=1.5 && RSI_Open_M1< 0.5 && BB_Peresek_Last_M1< 0.5 && RSI_Open_M1>=-0.5 && Levl_Support_W1s1>=-4.5 && Povtor_Low_H1>=0 && Levl_Support_H4>=0 && RegressorSpeed< 1.5) CalcBuy=CalcBuy+1; //(0.1606218 0.4145078 0.4248705)
            if(Test_P!=10002)if(rOpen_WormsDown>=0 && BB_Peresek_Last_M1< 0.5 && rDeltaWorms< 2.5 && DonProcVisota< 4.5 && Part_D1< 3.5 && BB_iD_Center_H1< 0 && Levl_Close_H1s1N>=0) CalcBuy=CalcBuy+1; //(0.1890244 0.3963415 0.4146341)
            if(Test_P!=10395)if(rOpen_WormsDown>=0 && Povtor_Type_M15>=0 && Levl_Low_H1< -4.5 && Levl_Close_H1s1N>=0) CalcBuy=CalcBuy+1; //(0.1990741 0.3888889 0.4120370)
            if(Test_P!=14244)if(rPeresek_Up<0.5 && BB_Peresek_Last_M1<0.5 && Polozhenie_M1>=0 && Povtor_High_H1<-2.5) CalcBuy=CalcBuy+1; //(0.1948052 0.3506494 0.4545455)
            if(Test_P!=14462)if(rPeresek_Up<0.5 && BB_Peresek_Last_M1<0.5 && Polozhenie_M1>=0 && DonProc_M15<9.5 && Levl_Support_H4s1<4.5 && Povtor_High_H1<-2.5) CalcBuy=CalcBuy+1; //(0.2112676 0.3239437 0.4647887)
            if(Test_P!=17944)if(Levl_Low_H1s1N< -1.5 && Levl_Close_H4>=0 && Levl_Close_H1s1N>=0 && BB_iD_Center_H1< 0 && Part_H1< 2.5) CalcBuy=CalcBuy+1; //(0.1408451 0.3239437 0.5352113)
            if(Test_P!=18382)if(Povtor_Low_M15< 3.5 && LowPerekH1s1_1< 0.5 && Polozhenie_M1>=0 && BB_iD_Down_M1>=-5.5 && DonProcVisota>=3.5 && Povtor_Low_M15< 1.5 && BB_iD_Down_M1>=-1.5) CalcBuy=CalcBuy+1; //(0.1659389 0.3842795 0.4497817)
            if(Test_P!=19123)if(rPeresek_Down< 0.5 && Povtor_Low_M15< 3.5 && LowPerekH1s1_1< 0.5 && Polozhenie_M1>=0 && rCalcLvlWorms< 1.5 && DonProcVisota>=3.5 && rLevl_UpPeresek_iD_RSI< 1.5 && RegressorCalc_S1>=-1.5 && Levl_first_W1s1>=-0.5) CalcBuy=CalcBuy+1; //(0.1225490 0.4313725 0.4460784)
            if(Test_P!=26038)if(Levl_Support_H1s1>=-3.5 && Part_H4< 2.5 && LowPerekH1s1_0>=0.5 && Part_H1>=1.5) CalcBuy=CalcBuy+1; //(0.1912568 0.4153005 0.3934426)

Então eu uso a EA que lê preditores de arquivo e resultado financeiro e aplica folhas sobre eles no modo de otimização "Cálculos matemáticos" e dentro dela eu já recolho estatísticas através do cálculo de indicadores financeiros e outras estatísticas, que são passadas de agentes para a EA em frames e se reúnem em um arquivo como resultado.


Depois olho para a folha de cada período do relatório.

 
Aleksey Vyazmikin:

Sim, é muito instrutivo trabalhar com amostragem no Deductor Studio - você pode reconstruir galhos ou construir uma árvore a partir do zero - uma ferramenta muito boa para entender como a árvore funciona e para testar suas hipóteses. A desvantagem é que o pacote é pago e você não pode descarregar as regras (folhas) tão facilmente...

Eu uso script R para gerar árvore com genética, depois uso script para descarregar dados da árvore a cada iteração, e depois uso programa parser, que foi escrito separadamente, ele converte árvores em folhas neste formato:

Então eu uso a EA que lê preditores de arquivo e resultado financeiro e aplica folhas sobre eles no modo de otimização "Cálculos matemáticos" e dentro dela eu já recolho estatísticas através do cálculo de indicadores financeiros e outras estatísticas, que são passadas de agentes para a EA em frames e se reúnem em um arquivo como resultado.


A seguir, vejo como a folha se comportava em cada período do relatório.

Jeez, tudo que você faz manualmente deve ser feito por um neurônio, e assim.... Perda de tempo, e se o resultado for negativo, você tem muita frustração e procura por outros métodos.

 
Vizard_:

Martelo. Tente iluminação de fundo para maior comodidade (mapas de calor)

Sim, já vi tais implementações com backlighting, mas é um algoritmo separado para escrever, e uma tela para atrair, com a qual não lidei em absoluto. É por isso que o estou a puxar com fórmulas. Mas um mapa seria interessante, mas é melhor usar um mapa multidimensional...

Agora estou pensando no que visar ao coletar folhas para um modelo, primeiro selecionei folhas estáveis - já escrevi, depois vem o filtro de folhas (tenho classificação -1/0/1 - venda/não entrar/comprar), respectivamente o filtro pode ser folhas do grupo "não entrar" e do grupo "comprar" para venda, e na verdade eles são do grupo "vender" - já que ou o padrão era falso ou o gráfico de aplicação de folhas à entrada no mercado não cobre esta superfície com o sinal de entrada, mas filtra bem em termos de ignorar a entrada. Até agora o critério dos filtros é o seguinte - melhoria do lucro, diminuição do drawdown, diminuição do número de entradas perdidas em uma linha, de modo que você pode tirar 4-6 folhas, o que em períodos de 3x/4x melhorará todos esses índices de uma vez, e índices em geral - lucro e drawdown. E então ou focar a atenção na selecção da rentabilidade e percentagem de entradas correctas, ou eu penso em tentar encontrar um filtro individual para cada folha (1-2), que é mais caro, mas que deveria ser mais eficaz em teoria.