Saturday, 23 September 2017

Weka Forex News


Introdução à FX Data Mining Permite uma introdução simples e rápida a um dos campos mais interessantes de hoje - Data Mining. Existe uma ampla gama de aplicações de Mineração de Dados. Devemos integrar a Data Mining na nossa negociação FX. FX, FOREX ou o Foreign Exchange FX é o maior mercado em termos de volume negociado diariamente. Tem três níveis principais de participantes: os meninos grandes, o intermediário e os comerciantes simples como você e eu. Tem uma natureza especulativa, o que significa que a maior parte do tempo não trocamos bens. Nós nos preocupamos apenas com a diferença e desejamos comprar baixo e vender alto ou vender alto e comprar baixo. Por operações curtas ou longas, podemos obter pips. Dependendo do seu volume comercial, o valor do pip pode variar de um centavo a 10 e mais. Esta é a principal maneira de ganhar dinheiro no mercado FX (juntamente com Carry Trade, Brokering, Arbitrage e mais). Observe que o mercado FX é enorme, mas é adequado para todos os níveis de jogadores. Pense no mercado FX como um supermercado infinito com inúmeros produtos e clientes, mas também tem um número infinito de caixas. Significa que existe uma quantidade igual de oportunidades para todos. Mineração de Dados e Aprendizado de Máquinas A Mineração de Dados é um sub-campo maduro da Ciência da Computação. É sobre uma grande quantidade de dados e extração não trivial de conhecimentos utilizáveis ​​a partir de enormes quantidades de dados. É feito por processamento inteligente de dados usando algoritmos de Aprendizado de Máquinas. A mineração de dados não é apenas CRUD (Criar, Ler, Atualizar e Excluir). Temos vários métodos de Data Mining. Aqui os métodos e algumas aplicações. Classificação - classificando o email como spam, classificando uma transação como fraude. Associação - YouTube nos sugere novos vídeos baseados em nossa história. A Amazon nos sugere mais itens durante o check-out. Clustering - análise de dados não estruturados, como notícias econômicas e opiniões para encontrar grupos comuns. Process Mining - examine os logs dos operadores de chamadas para encontrar operações ineficientes. Text Mining - notícias de mineração ou análise técnica para o reconhecimento de padrões. Algorithmic Trading é uma execução automatizada de um algoritmo de negociação. No nosso caso, o algoritmo de negociação vem da mineração. O comércio automatizado é feito por algum rei da linguagem de programação. Velocidade e robustez são pontos-chave aqui: o comerciante humano não consegue vencer o programa de computador em relação a esses atributos. Poderia ser HFT (High Frequency Trading) e programação de baixo nível (como C) ou negociação de longo prazo e programação de alto nível (como Java). Mix Algorithmic Trading with Data Mining Misturando mineração de dados em Algorithmic Trading é importante. O mais importante é o dado. Um princípio simples afirma que, se seus dados não forem bons o suficiente, seus modelos não serão suficientemente bons (GIGO). Trata-se de criar um modelo, implementá-lo e testá-lo (como sempre). Atualmente esse fluxo é principalmente manual. Software de mineração de dados Existem muitas opções de software de código aberto no campo da mineração de dados. WEKA é uma estrutura de Data Mining originada na Universidade de Waikato, Hamilton, Nova Zelândia. O WEKA está escrito em Java e tem uma ótima API. Além disso, você possui implementações para a maioria dos bem conhecidos algoritmos de Aprendizado de Máquinas. A mistura de boas ferramentas é vital. Existem muitos modelos comerciais possíveis. Jogar uma moeda é um sistema de comércio estúpido, mas é um sistema comercial. Precisamos da Data Mining para encontrar o ouro. As boas ferramentas são fáceis de ter tanta sorte com a mineração. Se você está procurando mais informações sobre o comércio científico de FX, o próximo passo é explorar as ferramentas de Mineração de Dados e os dados históricos. Visite algonell para mais detalhes. Você pode nos encontrar no Twitter. Facebook. Google. LinkedIn e WordPress. FX Data Mining com Apache Spark FX Data Mining com Apache Spark Intro Vamos apresentar nossa experiência com maciças mineração de dados offline usando várias tecnologias de código aberto em lote semanal de dados históricos de 1TB nos últimos 10 anos com 400 recursos. Vamos apresentar o fluxo antigo e as melhorias feitas usando o Apache Spark e o S3. Problema O problema com o qual lidamos é um processo semanal de ETL em lote para o treinamento de modelos de back-end. Treinamos modelos de classificação e os usamos em negociação em tempo real para classificação de tendência e entrada de posição. Este processo é realizado no final de uma semana de negociação, mas quando os mercados ficam loucos, reestruturaremos o treinamento para obter novas decisões. Nós usamos WEKA (Waikato Environment for Knowledge Analysis) como a principal fonte de algoritmos de Aprendizado de Máquinas e Mineração de Dados. A WEKA tem tudo o que deseja: filtros, classificadores, conjuntos e seletores de recursos sob a API Java. Começamos com uma simples aplicação Java para filtrar, limpar, transformar e treinar modelos de classificação. O problema é que o aplicativo é executado em CPU única e o WEKA não foi projetado para ser usado em ambientes multi-threaded. O processamento de 1 TB de dados históricos com o tamanho médio de conjunto de dados de 500 MB cada semana leva a aplicativos que funcionam por dias, às vezes até construindo modelos antes da semana de negociação terminar. Fluxo off-line de fluxos de ETL e fluxo de motores de negociação off-line Solução Decidimos incorporar o Apache Spark para o trabalho. Além disso, em vez de usar o HDD, nos mudamos para o S3 para evitar limitações de armazenamento. Spark é um motor de computação distribuído em cima da tecnologia clássica de redução de mapas. Ele melhora o tempo de execução, utilizando-se em cálculos de memória com pequenas unidades de computação chamadas tarefas. A estrutura de dados chave de Sparks é RDD (Conjunto de dados distribuído resiliente) que permite o particionamento em vários nós de cluster e a execução de tarefas separadas com operadores atômicos. Uma vez que seus cálculos são independentes, você pode utilizar o poder total do seu cluster ao processar dados simultaneamente. O Apache Spark fornece funcionalidade de Aprendizagem Rápida por biblioteca adicional chamada MLlib. A biblioteca fornece codificadores, classificadores e conjuntos. No entanto, podemos obter mais flexibilidade usando WEKA em nosso caso de uso. Resultados Estamos negociando com 6 períodos de gráfico: M5, M15, M30, H1, H4 e D1. Assim, temos executado os processos de mineração de dados em lote para cada período. O tempo de execução de um aplicativo Java simples variou de 1 hora a 22 horas no núcleo padrão i5 com memória de 12GB. Temos executado o trabalho Spark em 32 núcleos Xeon com memória de 60GB e o tempo de execução foi reduzido para o intervalo de 10 minutos a 2 horas. Esta é uma grande melhoria. Confira os seguintes links para obter mais informações:

No comments:

Post a Comment