Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Haverá mais experimentos com diferentes variantes.....
Estou testando esses algoritmos com um conjunto de indicadores e uma mistura (indicadores + preços de fechamento). Se possível e de acordo com sua pesquisa, implemente a rejeição inicial de dados correlacionados, ou seja, verifique a correlação. Com seu método, dois indicadores próximos serão selecionados (se eles influenciarem o resultado o suficiente), embora um deles deva dar lugar a um indicador independente.
Estou testando esses algoritmos com um conjunto de indicadores e uma combinação (indicadores + preços de fechamento). Se for possível e estiver de acordo com sua pesquisa, implemente a rejeição inicial de dados correlacionados, ou seja, verifique a correlação. Com seu método, dois indicadores próximos serão selecionados (se influenciarem o resultado o suficiente), embora um deles deva dar lugar a um indicador independente.
Será possível experimentar. No momento, a versão do recursivo e do recursivo logístico (regressão logit em vez de RDF) implementa a seleção de incrementos de preço, ou seja, em uma determinada matriz de preditores de 1.000 preços de fechamento, por exemplo, ele divide a barra zero por cada valor de preço subsequente, obtendo assim um grande conjunto de incrementos com diferentes defasagens, e seleciona o melhor deles. Ou seja, alimentar osciladores diferentes, como momentum ou rsi, com períodos diferentes não faz muito sentido nesse caso
É melhor tentar...
Corrija-me se eu estiver errado em meu raciocínio (sobre preços):
Vários métodos postados usam algo como:
Com seleção por erro mínimo. Isso pode ser visto como um teste de correlação com o resultado.
Digamos que haja um processo de onda (corredor, cunha, etc.). Se 100 valores em um período de uma hora são aproximadamente 4 dias, há uma grande probabilidade de que haja mais de uma onda no intervalo. Então, temos 2 (ou mais) pontos correlacionados. Se um deles influenciar fortemente o resultado, o segundo também passará nesse teste. E também há meias-ondas com correlação negativa. Como resultado, das dez leituras selecionadas para construção posterior, 2 ou 3 são independentes (o restante está fortemente correlacionado com elas e proporciona pouca melhoria no reconhecimento). É necessário selecionar primeiro as leituras que têm pouca correlação entre si (não é um problema calcular para todos os pares, mas como cortar um pedaço de presunto desse porco eu ainda não tenho muita ideia).
Como uma confirmação indireta, em manuais sérios, afirma-se que o método de tree bousting fornece um resultado alguns pontos percentuais menor do que uma floresta aleatória (bagging). No entanto, isso depende muito da implementação e dos algoritmos internos de construção de árvores (no resultado acima, ambos os métodos usaram o CART).
Como resultado, a eficiência de um método depende muito da seleção do período de teste. A propósito, a inclinação do canal não salvará completamente esse problema.Para nos atualizarmos,
Talvez devêssemos usar a mesma regressão logit ou algum outro método em vez de calcular a média das leituras dos agentes? Acho que a teoria diz que isso funciona.
Atualização,
Talvez devêssemos usar a mesma regressão de logit ou algum outro método em vez de calcular a média das leituras dos agentes? Quero dizer, em teoria, é assim que funciona.
Você pode usar qualquer coisa, mas, puramente em teoria, algumas coisas não são óbvias e não está claro se vale a pena gastar tempo com elas (bem como com toda a abordagem em geral). Pelo menos será um manual sobre como não fazer isso :)
sobre a multicolinearidade dos preditores - concordo. É necessário criar uma matriz de covariância e fazer a seleção de acordo com ela.
Testei-o, minha impressão é ambígua, testei-o em um gráfico personalizado gerado pela função Weierstrass usando a fórmula.
Em teoria, nesse gráfico personalizado, o RandomForest deveria ter encontrado pontos de entrada muito próximos ao ZigZag ou, pelo menos, não ter ordens perdedoras, a periodicidade do TF H1 é claramente rastreável, mas o RF meio que encontrou esse padrão, mas as ordens perdedoras também estão presentes
testei anteriormente no MT4 com os mesmos dados o antigo GoldWarrior Expert Advisor (encontrado no fórum em inglês) - um consultor em ZigZag, no otimizador MT4 em todos os TFs até M15, encontra claramente padrões e exclusivamente em + todas as ordens.
Testei um Expert Advisor indicador no cruzamento de linhas de regressão (infelizmente, fiz o pedido, não posso fornecer o código), e esse Expert Advisor no otimizador encontrou rapidamente padrões na função Weierstrass.
Por que esses exemplos? - Se os métodos primitivos podem encontrar regularidades, então o aprendizado de máquina é ainda mais obrigado a encontrá-las.
com todo o respeito ao autor, mas o resultado é duvidoso, ou melhor, o exemplo de trabalho com o RandomForest é excelente. mas ainda há espaço para colocar seus esforços ;).
ZY: treinado de 2000/01/01 a 2001/01/01 testado de 2001/01/01 a 2002/01/01
ZY: script para gráfico personalizado anexado, biblioteca de símbolos em KB
Descobrindo Weierstrass em uma versão ligeiramente adaptada, todo o gráfico é oos. Não vi sentido em ir mais longe, pois já é óbvio. Mas me divertiu :)
não funcionará com o mercado, é claro. Obrigado pelo script, a propósito, o teste foi muito útil, porque eu não conseguia entender, a princípio, se havia erros na lógica; em cotações reais, os resultados são muito mais modestos
O modelo linear lida com a mesma facilidade, ou seja, para prever essa função, nem mesmo uma rede neural é necessária.
Negociações reversas, para verificar.
Quanto à presença ou ausência de negociações perdedoras, a pergunta é puramente retórica e uma compensação entre precisão e ajuste excessivo.
Obrigado pelo script, a propósito, a verificação foi muito útil, porque eu não conseguia entender no início se havia erros na lógica, em cotações reais os resultados são muito mais modestos
;) ... Estou falando sobre isso há meio ano.
Estou "mastigando" matemática, tenho ideias não padronizadas - análise não suave e fiquei surpreso ao descobrir que uma ficção bastante interessante é "When Genius Fails" (Quando o gênio falha), de R. Lowenstein - eu a li para me distrair.
Estou muito interessado em seu código. Se puder, me dê uma olhada por MP
;) ... Estou falando sobre isso há cerca de seis meses.
Estou "mastigando" a matemática, tenho algumas ideias não padronizadas - análise não suave e fiquei surpreso ao encontrar uma ficção bastante interessante "When Genius Fails" (Quando o gênio falha) de R. Lowenstein - li para me distrair.
Estou muito interessado em seu código. Se puder, dê-me uma olhada por MP
não-suave e não-fluffy? :) à noite, reunirei em um arquivo e compartilharei o projeto comum... talvez possamos fazer algo juntos.
...sobre a multicolinearidade dos preditores - concordo. É necessário criar uma matriz de covariância e fazer a seleção nela; mais tarde pensarei em como fazer isso melhor
Talvez eu esteja batendo em uma porta aberta, mas como não houve...
Eles recomendam o pré-processamento antes da conversão para o intervalo [0,1]:
1. remoção da periodicidade, eu fiz isso em periodicityArrays() - o perfil composto por dias da semana e hora de um mês é subtraído do intervalo (embora eu tenha feito isso apenas para um período de uma hora para tentar).
2.Remoção da tendência linear em linearTrendArrays(), conforme recomendado a[i]=a[i]-a[i+1].
3) E aqui é onde a verificação de autocorrelação deve estar (ainda não implementada)
A previsibilidade após as ações 1 e 2 aumentou significativamente. O código está anexado.