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
Vou explicar a você usando um exemplo.
Vamos dizer que você quer prever uma variável que pode ter valores de 100 a 250 /como GBPJPY/. Você quer prever etapas de tempo muito pequenas em comparação com dados de treinamento /como H1 ou H4/. Para alguma etapa o valor desejado é, digamos, 174.850 e a saída NN é 176.350. O erro é muito pequeno / cerca de 0,8%/ mas em termos de Forex o erro é grande - 150 pips.
É muito mais fácil prever a taxa de retorno normal ou logarítmica. Mesmo que você cometa um erro, o resultado provavelmente ainda será útil /se você prever um aumento de 20% do preço, e realmente é 10%, mesmo que o erro seja 50% o resultado ainda é muito ok/.
É impossível.
Mesmo que o NN dê uma previsão muito ruim, ainda assim é uma solução.
Você pode usar um computador de mesa. Hoje, os computadores são muito melhores do que aqueles de onde eu comecei.
mrwobbles,
Você seria tão gentil e nos informaria sobre suas entradas e saídas para seus resultados NN? Eu gostaria de passar por NeuroShell e ver se posso gerar o nível de correlação R em torno do mesmo aperto. Obrigado de antemão.
Explicarei isso a você usando um exemplo.
Digamos que você queira prever uma variável que pode ter valores de 100 a 250 /como GBPJPY/. Você quer prever etapas de tempo muito pequenas em comparação com dados de treinamento /como H1 ou H4/. Para alguma etapa o valor desejado é, digamos, 174.850 e a saída NN é 176.350. O erro é muito pequeno / cerca de 0,8%/ mas em termos de Forex o erro é grande - 150 pips.
É muito mais fácil prever a taxa de retorno normal ou logarítmica. Mesmo que você cometa um erro, o resultado provavelmente ainda será útil /se você prever um aumento de 20% do preço, e é realmente 10%, mesmo que o erro seja 50%, o resultado ainda é muito bom/.
Sim, mas estou falando de erros uma ordem de magnitude menor do que isso. O erro médio em pips da rede que treinei é cerca de 10-20, o que está se aproximando de um nível aceitável. Ainda existem alguns resultados anômalos, alguns com mais de 100 pips, o que é obviamente inaceitável.
Isso é impossível.
Mesmo que o NN dê uma previsão muito ruim, ainda é uma solução.
Sim, acho que você poderia chamá-los de soluções, mas começar com uma população aleatória não levaria a um tempo de convergência mais longo? Nesse caso, começar com uma população de redes pré-treinadas certamente aceleraria a convergência da rede e, espera-se, resultaria em resultados mais precisos.
Mas você ainda está olhando para os dados do treinamento. Eu fiz um exemplo rápido - veja a foto abaixo. As medidas de erro são pequenas, o coeficiente de correlação é muito alto, mas veja o que acontece quando você tenta prever os próximos 10 passos.
A aleatoriedade é a chave
Com muitas redes aleatórias, você tem uma chance maior de encontrar a melhor solução possível no final. Veja a segunda foto. Se você fizer uma pré seleção de NN's você pode ficar preso ao ótimo local, mas se você usar NN's aleatórios você tem uma chance maior de encontrar o ótimo global.
É claro que há maneiras de superar o problema de ficar preso ao ótimo local.
Esse pensamento tinha passado pela minha cabeça. Quero dizer, se a população de NNs pré-treinados for muito pequena ou com pouca variação genética, então algumas soluções podem não ser consideradas. Como você disse, há sempre a chance de escolher 12 NNs que estão todos presos a diferentes mínimos locais e isso não seria bom. Ou pior ainda, 12 NNs que estão todos presos ao mesmo mínimo local. Embora você sempre pudesse codificar algumas mutações genéticas aleatórias para tentar aumentar o estoque genético, a cada 10 gerações, dizem. Começando com uma estrutura completamente aleatória, você garantiria que a maioria das possibilidades fossem consideradas.
Ah, estou vendo, ok, acabei de descobrir como usar a rede depois de sua formação, a função sim aparentemente... oh as alegrias de arquivos de ajuda Você terá que perdoar minha ignorância, eu sou bastante novo a trabalhar com NNs. Eu teria ficado desapontado se tivesse resolvido isso tão facilmente. Isto é suposto ser o que estou fazendo durante as férias de verão bem isso e trabalhando
Edição: Treinei a rede nos primeiros 7 anos de dados e depois simulei seu desempenho nos últimos anos de entradas. O erro médio em pips foi de 40, mas se você olhar para o gráfico, ele recebe os primeiros 1500 pontos bonitos, então ele o perde e começa a errar o preço, mas a direção está, na maioria das vezes, certa. Aí ele atinge cerca de 10.000 e o pega novamente (bem a tempo para o grande acidente). Dê uma olhada nisto e me diga o que você pensa. O azul escuro é o alvo azul claro de saída. Btw Eu não forneci à rede alvos que estavam sobrepostos para análise.
Não posso dizer nada olhando para as fotos porque pode haver um "efeito de sombra" e as fotos são muito pequenas para dizer isso.
Mas posso lhe dizer como verificar se o NN está bem. Exportar / há uma exportação e um assistente de importação em Matlab/ a saída de teste para um arquivo XLS ou CSV / arquivo Excel/. Depois coloque os valores reais ao lado da saída do NN e na coluna seguinte coloque uma fórmula que verifique se o NN previu a direção correta do movimento de preços.
Ao contar quantos "1" você obtém, você saberá a precisão da rede.
O usuário pode escrever uma fórmula que calcula o lucro e a perda para cada passo. Veja a foto abaixo / Estou usando a versão polonesa do Excel para não saber se acertei as fórmulas /. Pule o spread por enquanto.
Oi Kazam,
İs é possível implementar este pacote NN para Metatrader?
Parece que pode estar tudo bem, eu passei a fórmula pela planilha do Open Office e ela retornou 73% de precisão na direção do comércio. Ainda tenho mais alguns dados para dar à rede que eu acho que irá melhorar a precisão. Aqui está a planilha, salvei-a no formato xls, você deve ser capaz de lê-la.
Em amostra, fora de amostra
Parece que pode estar tudo bem, eu passei a fórmula pela planilha do Open Office e ela retornou 73% de precisão na direção do comércio. Ainda tenho mais alguns dados para dar à rede que eu acho que irá melhorar a precisão. Aqui está a planilha, salvei-a no formato xls, você deve ser capaz de lê-la.
Bom...Em amostra ou fora de amostra?
Grande diferença fará em sua conta,73% Em amostra é um assassino de conta,73% Fora de amostra é um talvez...
Tente acreditar apenas nos resultados da amostra, e quanto menos entradas você tiver, menos sobreposição terá...então, se você adicionar novas entradas, pense em apagar algumas das antigas ...ou expandir o conjunto de dados fora de amostra no qual você forjará suas crenças
Como uma regra geral: Menos entradas, menos conexões, mais pontos de amostra... melhor generalização.
Cumprimentos
Simba
biddick
É uma DLL, então dê uma olhada aqui:
There's an example of how to use DLL functions in Metatrader.
mrwobbles
It's either the training data or you got something wrong - the results are to good .
If one could get an accuracy of 73% with a simple back propagation network no one would give a shit about more complicated stuff
SIMBA
You're right. Choosing the proper input is a the most important thing in the process of creating a NN /there's a rule "trash goes in, trash comes out" /.
But you can always use data mining tools to analyze many different variables and choose those that affect the one you want to predict.
There's a nice book about data minig /and about genetic algorithms, Bayesian classification etc./ - "Data Mining Methods and Models." by Daniel T. Larose. It also shows how to use WEKA /a free, open source software for machine learning/.
My preferred way is to use GA - for the propose of time series prediction I usually allow them to choose from 15-40 previous steps.
PS
I've mentioned using Bayesian probability for the classification tasks but it can also be used for time series prediction
[CODE]http://www.cis.hut.fi/juha/papers/ESTSPfinal.pdf