Saturday 2 December 2017

Forex daily trend prediction using machine learning techniques


Não tenho muita certeza, se esta pergunta entrar aqui. Comecei recentemente, lendo e aprendendo sobre aprendizagem de máquinas. Alguém pode lançar alguma luz sobre como ir sobre isso ou melhor, alguém pode compartilhar sua experiência e alguns ponteiros básicos sobre como ir sobre isso ou, pelo menos, começar a aplicá-lo para ver alguns resultados de conjuntos de dados Como é ambicioso isso soa. Além disso, mencione sobre Algoritmos padrão que devem ser experimentados ou examinados ao fazer isso. Perguntou 11 de fevereiro às 18:35 Parece haver uma falácia básica que alguém pode vir junto e aprender alguns algoritmos de aprendizado de máquina ou AI, configurá-los como uma caixa preta, bater ir e sentar-se enquanto eles se aposentam. Meu conselho para você: aprenda as estatísticas e o aprendizado da máquina primeiro, e então se preocupe com como aplicá-las a um determinado problema. Não há almoço grátis aqui. A análise de dados é um trabalho árduo. Leia The Elements of Statistical Learning (o pdf está disponível gratuitamente no site), e não comece a tentar construir um modelo até que você entenda pelo menos os primeiros 8 capítulos. Uma vez que você entenda as estatísticas e o aprendizado da máquina, então você precisa aprender a testar e construir um modelo de negociação, responsável por custos de transação, etc., que é uma outra área. Depois de ter um controle sobre a análise e o financiamento, então será um pouco óbvio como aplicá-lo. O ponto inteiro desses algoritmos está tentando encontrar uma maneira de ajustar um modelo aos dados e produzir baixa tendência e variância na predição (ou seja, que o treinamento e o erro de previsão do teste serão baixos e similares). Aqui está um exemplo de um sistema comercial usando uma máquina de vetores de suporte em R., mas tenha em mente que você estará se fazendo um grande desserviço se você não gastar o tempo para entender o básico antes de tentar aplicar algo esotérico. Apenas para adicionar uma atualização divertida: recentemente encontrei esta tese de mestrado: uma nova estrutura de negociação algorítmica aplicando evolução e aprendizado de máquina para otimização de portfólio (2017). É uma revisão extensa de diferentes abordagens de aprendizado de máquinas em comparação com buy-and-hold. Após quase 200 páginas, eles alcançaram a conclusão básica: nenhum sistema de negociação foi capaz de superar o benchmark ao usar os custos de transação. Escusado será dizer que isso não significa que não pode ser feito (eu não passei a qualquer momento revisando seus métodos para ver a validade da abordagem), mas certamente fornece mais evidências a favor do teorema do almoço sem reservas. Respondeu 1 de fevereiro às 18:48. Jase Como um dos autores da tese de mestrado mencionada, posso citar o meu próprio trabalho e dizer: "Se alguém realmente consegue resultados lucrativos, não há incentivo para compartilhá-los, pois negaria sua vantagem." Embora nossos resultados possam dar suporte à hipótese do mercado, isso não exclui a existência de sistemas que funcionem. Pode ser como a teoria da probabilidade: é especulado que as descobertas no campo da teoria da probabilidade aconteceram várias vezes, mas nunca foram compartilhadas. Isso pode ser devido à sua aplicação prática em jogos de azar. Então, novamente, talvez essa seja a alquimia moderna. Ndash Andr233 Christoffer Andersen 30 de abril 13 às 10:01 Meu conselho para você: Existem vários ramos de Aprendizado de Aprendizagem Técnica de Inteligência Artificial (MLAI) lá fora: www-formal. stanford. edujmcwhatisainode2.html Eu tentei apenas a programação genética e algumas redes neurais, e Eu, pessoalmente, acho que o ramo da aprendizagem por experiência parece ter o maior potencial. GPGA e redes neurais parecem ser as metodologias mais comumente exploradas para fins de previsões do mercado de ações, mas se você fizer alguma mineração de dados em Predict Wall Street. Você também pode fazer algumas análises de sentimentos. Passe algum tempo aprendendo sobre as várias técnicas de MLAI, encontre alguns dados de mercado e tente implementar alguns desses algoritmos. Cada um terá seus pontos fortes e fracos, mas você pode combinar as previsões de cada algoritmo em uma previsão composta (semelhante ao que os vencedores do Prêmio NetFlix fizeram). Alguns recursos: Aqui estão alguns recursos que você pode querer procurar: The Chatter: O consenso geral entre os comerciantes é que a Inteligência Artificial é uma ciência voodoo, você não pode fazer um computador prever os preços das ações e você tem certeza de perder seu dinheiro se você tentar Fazendo. No entanto, as mesmas pessoas irão dizer-lhe que apenas a única maneira de ganhar dinheiro no mercado de ações é construir e melhorar sua própria estratégia comercial e segui-la de perto (o que na verdade não é uma má idéia). A idéia de algoritmos AI não é construir Chip e deixá-lo negociar para você, mas para automatizar o processo de criação de estratégias. É um processo muito tedioso e, de modo algum, é fácil :). Minimização da superposição: como já foi ouvido antes, uma questão fundamental com os algoritmos de AI é a sobreposição (também conhecido como viés de datamining): dado um conjunto de dados, seu algoritmo AI pode encontrar um padrão particularmente relevante para o conjunto de treinamento. Mas pode não ser relevante no conjunto de teste. Há várias maneiras de minimizar a superposição: use um conjunto de validação. Ele não dá feedback ao algoritmo, mas permite que você detete quando seu algoritmo está potencialmente começando a se superar (ou seja, você pode parar de treinar se você estiver superando demais). Use a aprendizagem em linha da máquina. Ele elimina em grande parte a necessidade de back-testing e é muito aplicável para algoritmos que tentam fazer previsões de mercado. Ensemble Learning. Fornece uma maneira de tomar vários algoritmos de aprendizado de máquina e combinar suas previsões. O pressuposto é que vários algoritmos podem ter superado os dados em alguma área, mas a combinação correta de suas previsões terá melhor poder preditivo. Dois aspectos da aprendizagem estatística são úteis para a comercialização. Primeiro, os mencionados anteriormente: alguns métodos estatísticos focados em trabalhar em conjuntos de dados ao vivo. Isso significa que você sabe que está observando apenas uma amostra de dados e deseja extrapolar. Você, portanto, tem que lidar com amostras e fora de problemas de amostra, superação e assim por diante. A partir deste ponto de vista, a mineração de dados é mais focada em conjuntos de dados mortos (ou seja, você pode ver quase todos os dados, você tem um problema de amostra apenas) do que a aprendizagem estatística. Como o aprendizado estatístico é sobre trabalhar em conjuntos de dados ao vivo, as matemáticas aplicadas que lidam com eles tiveram que se concentrar em um problema de duas escalas: amplificador X Xamp amplificador Ftheta (Xn, xi) L (pi (Xn), n) final direito. Onde X é o espaço de estados (multidimensional) para estudar (você possui nessas variáveis ​​explicativas e as que predizem), F contém a dinâmica de X que precisa de alguns parâmetros theta. A aleatoriedade de X vem da inovação xi, que é i. i.d. O objetivo do aprendizado estatístico é construir uma metodologia, como insumos, uma observação parcial pi de X e ajustar progressivamente uma estimativa de hattheta de theta, para que possamos saber tudo o que for necessário no X. Se você pensa em usar a aprendizagem estatística para encontrar Os parâmetros de uma regressão linear. Nós podemos modelar o espaço de estados como este: underbrace yx end right) left start a amp b amp 1 1 amp 0 amp 0 end right cdot underbrace x 1 epsilon end right) o que permite observar (y, x) n em qualquer n Aqui theta (a, b). Então você precisa encontrar uma maneira de construir progressivamente um estimador de theta usando nossas observações. Por que não uma descida de inclinação na distância L2 entre y e a regressão: C (hat a, hat b) n sum (yk - (hat a, xk hat b)) 2 Aqui gamma é um esquema de ponderação. Geralmente, uma boa maneira de construir um estimador é escrever corretamente os critérios para minimizar e implementar uma descida de gradiente que produza o esquema de aprendizagem L. Voltando ao nosso problema genérico original. Precisamos de algumas matemáticas aplicadas para saber quando os sistemas dinâmicos de casal em (X, hattheta) convergem, e precisamos saber como construir esquemas de estimação L que convergem para a teta original. Para dar-lhe indicações sobre esses resultados matemáticos: agora podemos voltar ao segundo aspecto do aprendizado estatístico que é muito interessante para as tradersstrategists quant: 2. Os resultados utilizados para comprovar a eficiência dos métodos de aprendizagem estatística podem ser usados ​​para provar a eficiência de Algoritmos de negociação. Para ver que é suficiente ler de novo o sistema dinâmico acoplado que permite escrever o aprendizado estatístico: M ampamp esquerdo amp. Frho (Mn, xi) amplificador L (pi (Mn), n) final direito. Agora M são variáveis ​​de mercado, rho é PnL subjacente, L é uma estratégia de negociação. Apenas substitua a minimização de um critério ao maximizar o PnL. Veja, por exemplo, divisão ótima de pedidos em pools de liquidez: uma abordagem algorítmica estática por: Gilles Pags, Sophie Laruelle, Charles-Albert Lehalle. Neste artigo, os autores mostram quem usará essa abordagem para dividir de forma otimizada um pedido em diferentes pools escuros simultaneamente, aprendendo a capacidade dos pools para fornecer liquidez e usando os resultados para negociar. As ferramentas de aprendizagem estatística podem ser usadas para construir estratégias de negociação iterativas (a maioria delas é iterativa) e provar sua eficiência. A resposta curta e brutal é: você não. Primeiro, porque ML e Statistics não é algo que você pode controlar bem em um ou dois anos. Meu horizonte de tempo recomendado para aprender algo não-trivial é de 10 anos. Não seja uma receita para ganhar dinheiro, mas apenas outro meio para observar a realidade. Em segundo lugar, porque qualquer bom estatístico sabe que a compreensão dos dados eo domínio do problema é 80 do trabalho. É por isso que você tem estatísticos que se concentram na análise de dados da Física, na genômica, em sabermetrics etc. Para o registro, Jerome Friedman, co-autor da ESL citado acima, é um físico e ainda possui uma posição de cortesia no SLAC. Então, estude estatísticas e finanças por alguns anos. Seja paciente. Siga seu próprio caminho. O quilometragem pode variar. Respondeu 9 de fevereiro às 4:41 eu concordo totalmente. Só porque você conhece o aprendizado da máquina e as estatísticas, isso não implica que você saiba como aplicá-lo ao financiamento. Ndash Dr. Mike 10 de agosto 11 às 20:25 Também é importante lembrar que você não deve negociar contra pessoas, você estará negociando contra outros algoritmos de inteligência artificial que estão observando suas trocas, e estão calculando furiosamente as chances de que a O ataque coletivo seria assustado por um declínio fabricado e levando aquela pequena perda na criação de um spikedip e enganar todos aqueles AI39s para parar, e depois rolar o mergulho de volta para ele e montar a onda, ganhando suas perdas. O mercado de ações é um jogo de soma zero, trate-o como entrar em uma partida profissional de boxe, se você não tiver um veterano de 20 anos, você vai perder o ndash Eric Leschinski 13 de fevereiro 16 às 1:56 Uma aplicação básica é a previsão de sofrimento financeiro. Obter um monte de dados com algumas empresas que falharam, e outras que não têm, com uma variedade de informações e índices financeiros. Use um método de aprendizagem de máquina, como SVM, para ver se você pode prever quais empresas serão padrão e quais não serão. Use esse SVM no futuro para empresas de baixa e baixa probabilidade de baixa baixa e empresas de baixa probabilidade de baixa probabilidade, com o produto das vendas a descoberto. Há um quot dizendo quilos em frente a rolos de vapor. Você está fazendo o equivalente a vender uma venda fora do dinheiro. Neste caso, você ganhará pequenos lucros por anos, então ficará totalmente limpo quando o mercado derreterá a cada 10 anos ou mais. Há também uma estratégia equivalente que compra dinheiro fora do dinheiro: eles perdem dinheiro por anos, então fazem uma matança quando o mercado derrete. Veja Talab39s The Black Swan. Ndash Contango 5 de junho 11 às 22:20 Lembre-se de que as empresas internacionais gastaram centenas de bilhões de dólares e horas-homem nas melhores e melhores inteligências de inteligência artificial nos últimos 40 anos. Eu já falei com algumas das torres da mente responsáveis ​​pelos alphas em Citadel e Goldman Sachs, e a arrogância dos noviços para pensar que eles podem montar um algoritmo que irá toe to toe com eles, e vencer, é quase tão bobo quanto Uma criança dizendo que ele vai pular para a lua. Boa sorte, garoto, e cuidado com os marcianos espaciais. Para não dizer, novos campeões podem ser feitos, mas as chances são contra você. Ndash Eric Leschinski 13 de fevereiro 16 às 2:00 Uma possibilidade que vale a pena explorar é usar a ferramenta de aprendizado de ferramentas vetoriais de suporte na plataforma Metatrader 5. Em primeiro lugar, se você não estiver familiarizado com isso, o Metatrader 5 é uma plataforma desenvolvida para que os usuários implementem negociação algorítmica em mercados de Forex e CFD (não tenho certeza se a plataforma pode ser estendida a ações e outros mercados). Geralmente é usado para estratégias baseadas em análise técnica (ou seja, usando indicadores baseados em dados históricos) e é usado por pessoas que buscam automatizar suas negociações. A Ferramenta de Aprendizagem de Máquinas de Vetores de Suporte foi desenvolvida por uma comunidade de usuários para permitir que máquinas de vetor de suporte sejam aplicadas a indicadores técnicos e aconselhar em negociações. Uma versão de demonstração gratuita da ferramenta pode ser baixada aqui se quiser investigar mais. Como eu entendo, a ferramenta usa dados de preços históricos para avaliar se os negócios hipotéticos no passado teriam sido bem sucedidos. Em seguida, leva esses dados juntamente com os valores históricos de uma série de indicadores personalizáveis ​​(MACD, osciladores etc), e usa isso para treinar uma máquina vetorial de suporte. Em seguida, ele usa a máquina de vetor de suporte treinado para sinalizar futuros negócios de buysell. Uma melhor descrição pode ser encontrada no link. Eu joguei um pouco com alguns resultados muito interessantes, mas, como em todas as estratégias de negociação algorítmica, recomendo testes sólidos de backforward antes de levá-lo ao mercado ao vivo. Respondeu 10 de dezembro às 11:59 Desculpe, mas apesar de ser usado como um exemplo popular na aprendizagem de máquinas, ninguém conseguiu uma previsão do mercado de ações. Não funciona por várias razões (verifique aleatoriamente a caminhada por Fama e um pouco de outros, falha de tomada de decisão racional, hipóteses erradas.), Mas o mais convincente é que se isso funcionasse, alguém poderia se tornar insanamente rico Em meses, basicamente, possui todo o mundo. Como isso não está acontecendo (e você pode ter certeza de que todo o banco tentou), temos boas provas de que isso simplesmente não funciona. Além disso: como você acha que vai conseguir o que dezenas de milhares de profissionais não conseguiram, usando os mesmos métodos que eles têm, além de recursos limitados e apenas as versões básicas de seus métodos, respondidas em 4 de junho às 7:47. Apenas um lado em relação ao seu Razão mais compelível: as estratégias têm limites de capacidade, ou seja, níveis além do qual o impacto do seu mercado excederia o alfa disponível, mesmo admitindo que você tivesse capital ilimitado. Eu não tenho certeza do que você quer dizer com uma predição de mercado de quotes (ETF39s de futuros de índice), mas certamente há muitas pessoas que fazem previsões de curto prazo e se beneficiam delas todos os dias nos mercados. Ndash afekz 23 de novembro às 13:19 Eu ecoo muito do que Shane escreveu. Além de ler ESL, gostaria de sugerir um estudo ainda mais fundamental das estatísticas. Além disso, os problemas que delineei em outra questão sobre este intercâmbio são altamente relevantes. Em particular, o problema do viés de datamining é um bloqueio sério para qualquer estratégia baseada em aprendizagem mecânica. Previsão da Tendência Diária FOREX usando Técnicas de Aprendizagem de Máquinas quotMais da pesquisa publicada nos últimos anos usa o feed forward e as Redes Neurais Artificiais recorrentes devido à sua capacidade Para mapear quaisquer funções não lineares 5. Por exemplo, 6 usaram o Support Vector Machine para prever a tendência diária do mercado Forex. O modelo ANFIS também é usado para prever a tendência do mercado. Quot. Quot Show abstract Hide abstract RESUMO: O mercado de câmbio é um mercado mundial para trocar moedas com um faturamento diário de 3.98 trilhões de dólares. Com um volume de negócios tão maciço, a probabilidade de lucro é muito alta no entanto, a negociação desse mercado maciço precisa de alto conhecimento, habilidades e total comprometimento, a fim de alcançar um alto lucro. O objetivo deste trabalho é projetar um agente inteligente que 1) adquira preços no mercado cambial, 2) o pré-processa, 3) prevê tendência futura usando a abordagem de Programação Genética e o Sistema de Inferência Neuro-Fuzzy Adaptativo e 4) toma uma decisão de compra Para maximizar a lucratividade sem supervisão humana. Texto completo Artigo Abr 2017 Mohamed Taher Alrefaie Alaa-Aldine Hamouda Rabie RamadanMáquina Aprendendo com algoTraderJo se juntou a dezembro de 2017 Status: Membro 383 Posts Olá colegas comerciantes, estou começando esse tópico esperando compartilhar com você alguns dos meus desenvolvimentos no campo da aprendizagem em máquina . Embora eu possa não compartilhar com você sistemas exatos ou implementações de codificação (não espere obter nada para quotplug-and-playquot e ficar rico com esse tópico), compartilharei com você idéias, resultados da minha experiência e possivelmente outros aspectos do meu trabalho. Estou começando esse 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 simples de aprendizagem de máquina e, em seguida, entraremos em coisas mais complexas com o passar do tempo. Espero que gostem do passeio Participei de dezembro de 2017 Status: Membro 383 Posts Eu quero começar por dizer algumas coisas básicas. Desculpe-me se a estrutura das minhas publicações deixa muito a desejar, não tenho nenhuma experiência de publicação no fórum, mas espero conseguir alguma coisa com o tempo. Na aprendizagem de máquinas, o que queremos fazer é simplesmente gerar uma previsão que seja útil para nossa negociação. 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 em que fazemos o seguinte: Selecione o que queremos prever (este será o (s) nosso (s) alvo (s)) Selecione algumas variáveis ​​de entrada que pensamos poder prever nossos objetivos Crie um conjunto de exemplos usando dados passados Com nossas entradas e nossos objetivos Crie um modelo usando esses exemplos. Um modelo é simplesmente um mecanismo matemático que relaciona os inputstargets Faça uma previsão do alvo usando as últimas entradas conhecidas Comércio usando esta informação Eu quero dizer desde o início que é muito importante evitar o que muitos documentos acadêmicos sobre aprendizado de máquinas fazem, Que é tentar construir um modelo com grandes matrizes de exemplos e depois tentar fazer uma previsão de longo prazo em um conjunto de quotout de amostra. Construir um modelo com 10 anos de dados e, em seguida, testá-lo nos dois últimos é sem sentido, sujeito a muitos tipos de viés estatísticos que discutiremos mais adiante. Em geral, você verá que os modelos de aprendizagem de máquinas que eu construo são treinados em todas as barras (ou cada vez que preciso tomar uma decisão) usando uma janela de dados para a construção de exemplos (somente exemplos recentes são considerados relevantes). Claro, essa abordagem não é estranha a alguns tipos de preconceitos estatísticos, mas nós removemos o quotefácio no quarto quando usamos a ampla abordagem da amostra de amostra da maioria dos documentos 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 para se preocupar com a construção de um modelo de aprendizado de máquina: o que prever (que alvo) O que prever com (quais insumos) Como relacionar o alvo e as insumos (que modelo) A maior parte do que vou mencionar Nesta discussão, o foco será responder a essas perguntas, com exemplos reais. Se você deseja escrever qualquer dúvida que possa ter e tentarei dar-lhe uma resposta ou simplesmente informá-lo se vou responder depois. Iniciado em dezembro de 2017 Status: Membro 383 Posts Deixe-nos entrar nos negócios agora. Um verdadeiro exemplo prático usando a aprendizagem por máquina. Vamos supor que queremos construir um modelo muito simples usando um conjunto muito simples de entradas de dados. Para esta experiência, estas são as respostas às perguntas: O que prever (que alvo) - gt A direção do dia seguinte (otimista ou descendente) O que prever com (quais entradas) - gt A direção dos dois dias anteriores Como Para relacionar o alvo e as insumos (que modelo) - gt Um classificador de mapa linear Este modelo tentará prever a direcionalidade da próxima barra diária. Para construir nosso modelo, levamos os últimos 200 exemplos (uma direção de dias como alvo e as duas direções do dia anterior como entradas) e treinamos um classificador linear. Fazemos isso no início de cada barra diária. Se tivermos um exemplo em que dois dias de alta provocam um dia de baixa, os insumos seriam 1,1 eo alvo seria 0 (0bearish, 1bullish), usamos 200 desses exemplos para treinar o modelo em cada barra. Esperamos poder construir um relacionamento em que a direção de dois dias cede alguma probabilidade acima do acaso para prever corretamente a direção dos dias. Nós usamos um stoploss igual a 50 do período de 20 dias, True True Average, em cada comércio. Imagem anexa (clique para ampliar) Uma simulação desta técnica de 1988 a 2017 no EURUSD (dados antes de 1999 é DEMUSD) acima mostra que o modelo não tem geração de lucros estável. Na verdade, esse modelo segue uma caminhada aleatória negativamente tendenciosa, o que faz com que ele perca dinheiro como uma função da propagação (3 pips no meu sim). Olhe para o desempenho aparentemente fácil de termos em 1993-1995 e em 2003-2005, onde, aparentemente, poderíamos prever com sucesso os próximos dias a direcionalidade usando um modelo linear simples e os resultados direcionais dos últimos dois dias. Este exemplo mostra várias coisas importantes. Por exemplo, em intervalos de tempo curtos (que podem ser alguns anos) você pode ser facilmente enganado pela aleatoriedade --- você pode pensar que você tem algo que funciona o que realmente não faz. Lembre-se de que o modelo é reconstruído em cada barra, usando os últimos 200 exemplos de inputtarget. Que outras coisas você acha que pode aprender com este exemplo. Poste seus pensamentos bem. Então você previu que os compradores ou os vendedores participariam. Hmm, mas o que exatamente isso tem a ver com o preço subindo ou baixando 100 pips. O preço pode reagir de várias maneiras - pode ser apenas um tanque por algum tempo (enquanto todas as ordens limitadas estão preenchidas) E então continue avançando. Também pode retraitar 5, 10, 50 ou mesmo 99 pips. Em todos esses casos, você era um pouco certo sobre compradores ou vendedores entrar, mas você deve entender que essa análise não tem muito a ver com o seu comércio de 90pip para 100pip. Sim, você está certo Esta é uma grande parte da razão pela qual estamos obtendo resultados ruins 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 bullishbearish é de uso limitado se você não sabe quanto o preço se moverá. Talvez suas previsões estejam corretas apenas nos dias que lhe dão 10 pips e você obtém todos os dias que têm 100 pip direcional totalmente errado. O que você consideraria um alvo melhor para um método de aprendizado de máquina Sim, você está certo Esta é uma grande parte da razão pela qual estamos obtendo resultados ruins 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 bullishbearish é de uso limitado se você não sabe quanto o preço se moverá. Talvez suas previsões estejam corretas apenas nos dias que lhe dão 10 pips e você obtém todos os dias que têm 100 pip direcional totalmente errado. O que você consideraria um alvo melhor para um método de aprendizagem de máquina Digamos 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ê o mapeia)

No comments:

Post a Comment