Audacity machine learning trading forex


A aprendizagem mecânica é um campo de inteligência artificial onde os programas de computador aprendem em vez de seguir cegamente um script. Com dados de treinamento suficientes você pode ensinar esses algoritmos para dirigir um carro, pilotar um helicóptero ou construir o melhor motor de busca do mundo. Aqui estão os resultados que eu obtive com a minha abordagem inicial na aplicação de aprendizagem de máquinas para negociação forex. Uma variedade de algoritmos são colocados em prática para tentar prever a evolução de um instrumento com dados de apenas 8 barras diárias para o passado. Para cada dia, são gravados quatro valores, os três primeiros registram a informação sobre o movimento dos dias anteriores, próximo do dia, alta, baixa e próxima, em percen t, enquanto a quarta registra o volume do dia. Isso faz com que 32 variáveis ​​independentes total. Os dados são obtidos a partir de três instrumentos na base de dados dukascopy, EURUSD, AUDJPY e GBPCHF diariamente Pergunte barras de 1 de Janeiro de 2008 a 31 de Dezembro de 2017, com fins de semana misturados na segunda-feira seguinte. Para cada um dos algoritmos testados, os primeiros dois anos foram utilizados para treinar os modelos enquanto que 2017 foi utilizado para testá-los. A biblioteca java aberta para algoritmos de aprendizado de máquina usada vem de WEKA: Data Mining Software em Java i. Você pode baixar gratuitamente a biblioteca ou o programa amigável em cs. waikato. ac. nz/ml/weka/. Prever a direção do mercado Esses testes avaliam em que medida, se houver, é possível prever o movimento global do amanhã (de perto para fechar) com base em dados de oito dias anteriores usando uma variedade de algoritmos de aprendizado de máquina. Uma alta correlação significa que o modelo prevê o seguinte movimento geral do dia também. Neste caso, as correlações são muito próximas de zero para que os modelos não possam prever o movimento global do mercado. Previsão do intervalo do mercado Para o forex, o intervalo é definido aqui como a diferença entre o dayrsquos alto e o dayrsquos baixo como uma porcentagem do fechamento anterior (para que diferentes instrumentos sejam comparáveis). Um dos métodos mais simples e melhores, os vizinhos mais próximos, executa melhor nesta tarefa. Este método, para cada caso, simplesmente observa os n casos no conjunto de treinamento que mais parecem com ele e prevê uma média ponderada de seu intervalo. Prever o movimento absoluto de um instrumento O movimento absoluto de um instrumento é o movimento global de um dia, mas sempre positivo. Isso é um pouco semelhante ao intervalo. É impossível prever a direção do mercado para o dia seguinte baseado apenas em oito barras e volumes anteriores, pelo menos usando esses algoritmos. No entanto, a primeira falha desta abordagem é talvez que ele tenta prever todos os dias. Talvez algum processo de eliminação possa remover uma grande quantidade de dados que são na maioria imprevisíveis. Por outro lado, existem outros algoritmos como redes neuronais recorrentes que são mais apropriados para a tarefa em questão. É possível prever, até certo ponto, o alcance do dia seguinte e, portanto, logicamente o movimento absoluto (de perto para perto). Este tipo de informação pode não ser relevante para os comerciantes que seguem as tendências, mas pode ser relevante para scalpers que precisam prever o intervalo de um par de moedas. Eu acredito que tais algoritmos ultrapassam os indicadores de alcance como o ATR no sentido de que eles são mais preditivos do que indicativos. 1 Mark Hall, Eibe Frank, Geoffrey Holmes, Bernhard Pfahringer, Peter Reutemann, Ian H. Witten (2009) O Software de Mineração de Dados WEKA: Uma Atualização SIGKDD Explorations, Volume 11, Número 1.Máquina de Aprendizagem com algoTraderJo 383 Posts Olá companheiro comerciantes, Estou começando este segmento na esperança de compartilhar com vocês alguns dos meus desenvolvimentos no campo da aprendizagem de máquina. Embora eu não possa compartilhar com você sistemas exatos ou implementações de codificação (não espere obter nada para quotplug-and-playquot e ficar rico a partir deste segmento) vou compartilhar com você idéias, resultados da minha experiência e possivelmente outros aspectos do meu trabalho. Estou começando este tópico na esperança de que possamos compartilhar idéias e ajudar uns aos outros a melhorar nossas implementações. Vou começar com algumas estratégias de aprendizagem simples máquina e, em seguida, entrar em coisas mais complexas como o tempo passa. Espero que você aprecie o passeio Juntado Dec 2017 Status: Member 383 Posts Quero começar por dizer algumas coisas básicas. Lamento se a estrutura de meus postos deixa muito a desejar, eu não tenho nenhum fórum postagem experiência, mas espero obter alguns com o tempo. Na aprendizagem da máquina o que queremos fazer é simplesmente gerar uma previsão que é útil para o nosso comércio. Para fazer essa predição, geramos um modelo estatístico usando um conjunto de exemplos (saídas conhecidas e algumas entradas que as coisas têm poder preditivo para prever essas saídas), então fazemos uma previsão de uma saída desconhecida (nossos dados recentes) usando o modelo que criamos com Os exemplos. Para resumir é um processo quotsimplequot onde nós fazemos o seguinte: Selecione o que nós queremos predizer (este será nosso alvo) Selecionar algumas variáveis ​​de entrada que nós pensamos pode prever nossos alvos Construir um jogo dos exemplos usando dados passados Com nossas entradas e nossas metas Crie um modelo usando esses exemplos. Um modelo é simplesmente um mecanismo matemático que relaciona as entradas / metas Fazer uma previsão do alvo usando os últimos inputs conhecidos Comércio usando esta informação Eu quero dizer desde o início que é muito importante evitar fazer o que muitos documentos acadêmicos sobre a aprendizagem de máquina Do, que é tentar construir um modelo com matrizes muito grandes de exemplos e, em seguida, tentar fazer uma previsão de longo prazo em um conjunto quotout-of-samplequot. Construir um modelo com 10 anos de dados e testá-lo nos dois últimos é não-senso, sujeito a muitos tipos de preconceitos estatísticos que discutiremos mais adiante. Em geral, você verá que os modelos de aprendizagem de máquina que eu construo são treinados em cada barra (ou cada vez que eu preciso tomar uma decisão) usando uma janela móvel de dados para a construção de exemplos (apenas exemplos recentes são considerados relevantes). Certamente, esta abordagem não é estranha a alguns tipos de preconceitos estatísticos, mas removemos o quotelefante na sala quando usamos a ampla abordagem de amostra da maioria dos trabalhos acadêmicos (o que, sem surpresa, muitas vezes leva a abordagens que não são Realmente útil para o comércio). Há principalmente três coisas a se preocupar com quando construir um modelo de aprendizagem de máquina: O que prever (o que o alvo) O que prever com (que insumos) Como relacionar o alvo e entradas (que modelo) A maioria do que vou estar mencionando Neste tópico irá focar em responder a estas perguntas, com exemplos reais. Se você quiser escrever quaisquer perguntas que você possa ter e vou tentar dar-lhe uma resposta ou simplesmente deixá-lo saber se vou responder isso mais tarde. Entrou em Dez 2017 Status: Member 383 Posts Vamos começar a trabalhar agora. Um verdadeiro exemplo prático usando a aprendizagem mecânica. Vamos supor que queremos construir um modelo muito simples usando um conjunto muito simples de entradas / alvos. Para esta experiência, estas são as respostas às perguntas: O que prever (o alvo) - gt A direção do próximo dia (otimista ou grosseiro) O que prever com (quais entradas) - gt A direção dos dois dias anteriores Como Para relacionar o alvo e as entradas (que modelo) - gt Um classificador linear de mapas Este modelo tentará prever a direcionalidade da próxima barra diária. Para construir nosso modelo, tomamos os últimos 200 exemplos (uma direção de dias como alvo e as direções anteriores de dois dias como entradas) e treinamos um classificador linear. Fazemos isso no início de cada bar diário. Se tivermos um exemplo em que dois dias de alta conduzem a um dia de baixa, os inputs seriam 1,1 eo alvo seria 0 (0bearish, 1bullish), usamos 200 destes exemplos para treinar o modelo em cada barra. Esperamos ser capazes de construir uma relação onde a direção de dois dias produz alguma probabilidade acima-aleatória para prever corretamente a direção dos dias. Usamos um stoploss igual a 50 dos 20 dias período médio True Range em cada comércio. Uma simulação desta técnica de 1988 a 2017 sobre o EUR / USD (dados antes de 1999 é DEM / USD) acima mostra que o modelo não tem geração de lucro estável. Na verdade, este modelo segue uma caminhada aleatória negativamente tendenciosa, o que faz com que ele perca dinheiro em função da propagação (3 pips no meu sim). Olhe para o desempenho aparentemente quotimpressive que nós temos em 1993-1995 e em 2003-2005, onde aparentemente nós poderíamos predizer com sucesso os próximos dias directionality usando um modelo linear simples e os resultados direcionais de dois dias passados. Este exemplo mostra várias coisas importantes. Por exemplo, que em curto prazo (que poderia ser um par de anos) você pode ser facilmente enganado por aleatoriedade --- você pode pensar que você tem algo que funciona que realmente não. Lembre-se de que o modelo é reconstruído em cada barra, usando os últimos 200 exemplos de entrada / destino. Que outras coisas você acha que pode aprender com este exemplo Post seus pensamentos Bem. Então você previu que os compradores ou vendedores iriam intervir Hmm, mas o que exatamente tem a ver com o preço subindo ou descendo 100 pips Preço pode reagir de várias maneiras - pode apenas tanque por algum tempo (enquanto todas as ordens de limite são preenchidos) E depois continuar avançando. Pode também retrace 5, 10, 50 ou mesmo 99 pips. Em todos esses casos você estava meio certo sobre compradores ou vendedores entrando, mas você deve entender que esta análise não tem muito a ver com o seu comércio indo de 90pip para 100pip. Sim, você está certo Esta é uma grande parte da razão pela qual estamos recebendo maus resultados ao usar o algoritmo de mapeamento linear. Porque a nossa rentabilidade está mal relacionada com a nossa previsão. Prever que os dias são bullish / bearish é de uso limitado se você não sabe quanto preço se moverá. Talvez suas previsões estejam corretas apenas nos dias que lhe dão 10 pips e você recebe todos os dias que têm 100 direcional pip totalmente errado. O que você consideraria um alvo melhor para um método de aprendizagem de máquina Sim, você está certo Esta é uma grande parte da razão pela qual estamos obtendo pobres resultados ao usar o algoritmo de mapeamento linear. Porque a nossa rentabilidade está mal relacionada com a nossa previsão. Prever que os dias são bullish / bearish é de uso limitado se você não sabe quanto preço se moverá. Talvez suas previsões estejam corretas apenas nos dias que lhe dão 10 pips e você recebe todos os dias que têm 100 direcional pip totalmente errado. O que você consideraria um melhor alvo para um método de aprendizagem de máquina Vamos dizer se você tem 100 pip TP e SL, eu gostaria de prever o que vem primeiro: TP ou SL Exemplo: TP veio primeiro 1 SL veio primeiro 0 (ou -1, No entanto você mapeá-lo) Aprendizagem de máquina aplicada a Forex Aprendizagem de máquina pode nos ajudar a otimizar estratégias de negociação automática. Ao estudar a enorme quantidade de informações passadas, podemos identificar padrões que nos ajudam a prever a evolução do mercado em uma extensão suficiente. Isto é, naturalmente, o que alguns comerciantes têm vindo a fazer por um longo tempo, mas a automatização do processo nos permite encontrar estratégias muito melhores e muito mais rápido do que seria necessário um humano. Aqui propomos uma estratégia especulativa que foi testada com sucesso e demonstra as possibilidades trazidas pela máquina-aprendizagem no forex. Encontrar automaticamente uma estratégia especulativa vencedora no Eurusd EUR / USD é um par muito lucrativo para uma estratégia especulativa construída a partir de algoritmos de aprendizagem de máquina, embora o nosso método seja capaz de encontrar estratégias vencedoras em outros instrumentos e alguns que funcionam em vários instrumentos, as estratégias desenvolvidas Para EUR / USD dão os melhores retornos. É assim que as estratégias são construídas. Não podemos alimentar o preço real para o algoritmo porque queremos que ele reconheça padrões independentemente de sua altura em um gráfico. Nós, portanto, alimentá-lo movimentos de preços, de alta a alta e baixa a baixa (melhor do que abrir para fechar). Este é um tipo simples de indicador com um poder discriminative surprising entre testes padrões do forex. Mas que intervalos devemos escolher para os nossos indicadores e usando o alto eo baixo em que período Nosso algoritmo responde a esta pergunta para nós, otimizando um conjunto de indicadores e marcando-o por quão boa estratégia podemos construir sobre ele. O método utilizado para a otimização é um algoritmo genético. Construímos alguns conjuntos de indicadores os mais fortes (pontuação mais alta) têm uma melhor chance de ldquoreproducingrdquo e ldquomutatingrdquo enquanto os mais fracos são substituídos. Este método tende a otimizar os conjuntos de indicadores e é milhares de vezes mais rápido do que simplesmente experimentar cada possibilidade única. Nós marcamos um conjunto de indicadores por quão boa estratégia podemos construir com ele. As estratégias são construídas automaticamente usando uma segunda etapa de otimização e uma estrutura de dados, a rede neural artificial. A rede neural toma como entrada os valores indicadores durante um certo período e fornece algumas informações sobre o futuro do instrumento. O que a rede neural artificial prevê As redes neurais tentam prever um fator de lucro normalizado (lucro bruto dividido pela perda bruta) em uma única transação durante um certo período no futuro. O período em questão pode variar entre 3 e 10 dias, é um parâmetro otimizável da estratégia. Portanto, nossa estratégia não necessariamente usa parar as perdas e tomar lucros, em vez disso, nós abrimos uma posição por um período predeterminado de tempo e fechamos a posição no final desse período, aconteça o que aconteceu. A rede é classificada pela porcentagem de previsões corretas pesadas pela precisão do itrsquos. Alternativamente, nossas redes neurais podem prever que parte do saldo da conta deve ser investido, as redes são então classificados pelo saldo final da conta ou o fator de lucro global. Armadilhas comuns em estratégias de negociação automática Existem algumas armadilhas comuns para estar ciente de tais estratégias onde a estratégia parece oferecer lucros surpreendentes, mas é inútil na vida real. A precaução mais importante é que o período em que a estratégia é testada não deve ser o mesmo que o período em que é construído. Caso contrário, podemos simplesmente gerar milhares de estratégias aleatórias complexas e escolher o que funciona melhor em um determinado período, mas itrsquos apenas quando temos um resultado positivo em um conjunto independente de dados que podemos começar a confiar em nossa estratégia. Na realidade, usamos três conjuntos de dados independentes do tempo, o conjunto de treinamento é usado para construir o sistema, o conjunto de validação é usado para evitar o excesso de aprendizado eo conjunto de teste é usado para os resultados relatados. No nosso caso, chegamos a 60 apostas corretas no conjunto de testes que se estende ao longo do último ano. Também é má prática para otimizar um take-profit e parar a perda desde o início. Ao otimizar uma estratégia em um período que é muito curto, pode-se facilmente obter um incrível lucro global, definindo o take-profit muito perto ea stop-loss muito longe. Quando o stop-loss é eventualmente atingido em um período mais longo, as consequências são devastadoras. Uma vez que uma estratégia rentável é encontrada no entanto, o take-profit e stop loss pode ser otimizado, mas eles nunca devem ser muito distantes uns dos outros. Colocar um lucro de tomada e parar a perda nunca é uma estratégia em si, mas sim uma forma de controlar o risco. Uma estratégia ótima testada com um simulador reconhecido Nossa estratégia obtém um 62.5 correto apostas corretas em EUR / USD. Mas podemos obter uma melhor avaliação da estratégia com uma boa simulação e uma aplicação na vida real da estratégia. Por esta razão, implementamos a estratégia usando a API JForex e testámo-la na plataforma jForex. Mais uma vez, tivemos o cuidado de não misturar o período que usamos para otimizar nossa estratégia eo período que usamos para testá-lo. Também refinamos nossa estratégia ajustando mais o valor investido em cada posição para refletir as previsões do strategyrsquos. Isso melhorou muito o fator de lucro (lucro bruto dividido pela perda bruta) de nossa estratégia. Usamos uma alavancagem para aumentar ou diminuir o risco eo retorno esperado. Mais de 161 comércios, o fator de lucro de nossa estratégia no período de teste é 2,87 Isso significa que obtemos 2,87 vezes mais lucro do que a retirada em comércios. Embora só obtenha 60,24 negócios lucrativos, eles são muito mais rentáveis ​​do que os comércios perdedores são un-rentáveis. As estatísticas finais que achamos muito reveladoras são a redução máxima consecutiva, 5, eo lucro máximo consecutivo, 18 do patrimônio. Temos uma conta ao vivo executando a estratégia, mas tem vindo a fazê-lo por demasiado pequeno período de tempo para avaliá-lo desta forma. Também otimizamos um take-profit e um stop-loss. Já que nos recusamos a ver esses fatores como parâmetros de estratégia, mas preferimos vê-los como parâmetros de controle de risco, sempre os mantemos iguais a um outro. O oposto cria um desequilíbrio que dificulta a avaliação da estratégia. Mais uma vez, esses parâmetros foram otimizados em um período diferente do período de teste. Os resultados mostram que um stop-loss e take-profit deve ser realmente utilizado e que deve ser colocado muito perto, em cerca de 18 pips. Colocar aqueles mais perto do preço de abertura melhora o fator de lucro global, mas a esses níveis, comissões e taxas se tornam problemáticos. O stop-loss e take-profit melhoram o fator de lucro ea estabilidade geral da estratégia, enquanto eles impedem o lucro total, mas alavancagem pode remediar a situação. Desvantagens de uma estratégia de negociação automática Uma crítica comum a respeito de estratégias de caixa-preta como a nossa é que o mercado pode sempre mudar de repente e as estratégias que funcionavam antes do trabalho não funcionam indefinidamente. Temos que admitir que isso é totalmente fundado, e é nossa crença que nada pode ser feito para evitar isso sem uma bola de cristal para prever o futuro. No entanto, é também nosso sentimento que esta é a verdade com qualquer Estratégia especulativa, feita pelo homem ou de outra forma. É claro que o forex sofreu grandes mudanças no passado. O volume é um grande indicador para essa questão que realmente nos dá uma visão sobre o momento em que a forma como um instrumento é trocado mudanças. No gráfico abaixo você pode observar a evolução do volume para o EURUSD nos últimos 16 anos. Uma estratégia construída usando dados que é muito distante não funciona mais. No entanto, a nossa estratégia tem funcionado igualmente bem em EUR / USD nos últimos anos e nada sugere que ele vai mudar a qualquer momento em breve. Há duas coisas que podemos fazer para se proteger contra uma mudança súbita na maneira como os instrumentos de forex são negociados. Primeiro, podemos monitorar o mercado e esperar por esse momento em que a nossa estratégia não funciona mais, usando as estatísticas que a estratégia deve seguir, como a redução máxima consecutiva e monitorando o volume. Em segundo lugar, podemos fazer whatrsquos chamado de aprendizagem on-line onde a nossa estratégia está continuamente sendo otimizado em novos dados. Esta segunda opção é boa prática, mas doesnrsquot guarda contra as mudanças súbitas que são típicas no forex a cada poucos anos. A melhor solução é implementar ambos os métodos, otimizando regularmente nossas estratégias, sendo consciente de que uma mudança mais profunda na estratégia será, em última instância, necessário. A outra crítica é que nós nunca realmente entendemos o que faz um modelo de caixa-preta. Esse não é o caso para nós, pois nosso modelo é bastante simples, no entanto, levaremos o segredo ao nosso túmulo ou pelo menos até que a estratégia não seja mais rentável. Obrigado por ler, Traduzir para Russo

Comments

Popular posts from this blog

Forex iceland

Sistema secreto forex pro

Therumpledone forex trading