Hadoop trading system


Estou me divertindo aprendendo sobre Hadoop e os vários projetos em torno dele e atualmente tenho 2 estratégias diferentes que eu estou pensando sobre para construir um sistema para armazenar uma grande coleção de dados de carrapatos de mercado, estou apenas começando com Hadoop / HDSF e HBase mas esperando alguém pode Ajuda-me a plantar uma semente de sistema que eu não terei que junk mais tarde usar estas tecnologias. Abaixo está um esboço do meu sistema e requisitos com alguns casos de uso de consulta e uso de dados e, por fim, meu pensamento atual sobre a melhor abordagem a partir da documentação pouco tenho lido. É uma pergunta aberta e eu vou gostar de qualquer resposta que seja perspicaz e aceitar o melhor, sinta-se livre para comentar sobre qualquer ou todos os pontos abaixo. - Requisitos de Sistema Duncan Krebs - Ser capaz de alavancar o armazenamento de dados para back-back histórico de sistemas, histórico de dados gráficos e futuros de mineração de dados. Uma vez armazenados, os dados serão sempre de leitura só, é desejável o acesso rápido aos dados, mas não é obrigatório quando voltar a testar. Static Schema - Muito Simples, Quero capturar 3 tipos de mensagens do feed: Timestamp incluindo data, dia, hora Citação incluindo Símbolo, timestamp, ask, askSize, bid, bidSize, volume. (Cerca de 40 colunas de dados) Comércio incluindo símbolo, timestamp, preço, tamanho, câmbio. (Cerca de 20 colunas de dados) Casos de Uso de Inserção de Dados - Ou de um fluxo de dados de mercado ao vivo ou de pesquisa através de dados de API de API. Casos de Uso de Consulta - Abaixo demonstra como eu gostaria de consultar logicamente meus dados. Receba todas as Cotações, Negociações, Carimbos de Hora para o GOOG em 22/09/2017 Receba-me todas as Operações para GOOG, FB ANTES 9/1/2017 E APÓS 5/1/2017 Receba-me o número de negócios para estes 50 símbolos para cada dia Nos últimos 90 dias. O Santo Graal - Pode MapReduce ser usado para casos de uso como estes abaixo. Gerar meta-dados a partir dos dados do mercado bruto através de agentes distribuídos. Por exemplo, escreva um trabalho que irá calcular o volume médio de negociação em um intervalo de 1 minuto para todos os estoques e todas as sessões armazenadas no banco de dados. Criar o trabalho para ter um agente para cada estoque / sessão que eu digo que estoque e sessão deve calcular este valor para. (É isso que MapReduce pode fazer.) No classpath dos agentes posso adicionar meu próprio código util para que o caso de uso acima, por exemplo, poderia publicar seu valor em um repositório central ou servidor de mensagens Posso implantar um agente como um pacote OSGI Criar diferentes tipos de agentes para diferentes tipos de métricas e pontuações que são executadas todas as manhãs antes da negociação pré-negociação negociação de alta freqüência também estou interessado se alguém pode compartilhar alguma experiência usando Hadoop no contexto de sistemas de negociação de alta freqüência. Apenas começando nesta tecnologia meu sentido inicial é Hadoop pode ser grande para armazenar e processar grandes volumes de dados históricos tick, se alguém está usando isso para negociação em tempo real Id estar interessado em aprender mais - Duncan Krebs Baseado na minha compreensão de suas necessidades , Hadoop seria realmente boa solução para armazenar seus dados e executar suas consultas sobre ele usando Hive. Armazenamento: Você pode armazenar os dados no Hadoop em uma estrutura de diretórios como: Dentro da pasta horas, os dados específicos para essa hora do dia podem residir. Uma vantagem de usar essa estrutura é que você pode criar tabelas externas no Hive sobre esses dados com suas partições em anos, meses, dias e horas. Algo como isto: Vindo à parte das perguntas, uma vez que você tem os dados armazenados no formato mencionado acima você pode fàcilmente funcionar perguntas simples. Receba todas as Cotações, Negociações, Carimbos de Hora para GOOG em 22/09/2017 Receba todas as Operações para GOOG, FB ANTES DE 9/1/2017 E APÓS 5/1/2017 Você pode executar essas consultas de agregação uma vez por dia e usar A saída para chegar a métricas antes da negociação pré-mercado. Desde que Hive internamente executa mapreduce essas consultas não será muito rápido. Para obter resultados mais rápidos, você pode usar alguns dos projetos em memória como Impala ou Spark. Eu tenho usado Impala para executar consultas em minhas tabelas de colmeia e eu vi uma grande melhoria no tempo de execução para minhas consultas (em torno de 40x). Além disso, você não precisaria fazer alterações na estrutura dos dados. Casos de Uso de Inserção de Dados. Você pode usar ferramentas como Flume ou Kafka para inserir dados em tempo real para o Hadoop (e, portanto, para as tabelas do hive). O Flume é linearmente escalável e também pode ajudar no processamento de eventos durante a transferência. No geral, uma combinação de várias tecnologias de dados grandes pode fornecer uma solução realmente decente para o problema que você propôs e estas solução seria escala para enormes quantidades de dados. Hadoop Distribuições Autor Comparado. Veeraj Thaploo Data de Publicação. 11 de março de 2017 Lista de Tag. Amazon Web Services. Apache Hadoop. AWS. Dados grandes. Cloudera. Armazém de dados. Armazenamento de dados. Elastic MapReduce. EMR. Hadoop. Distribuições Hadoop. Comparação de distribuições Hadoop. HBase. MapReduce Empresas com requisitos de implementação Big Data e Hadoop muitas vezes precisam obter respostas para algumas das perguntas básicas antes de iniciar esta implementação. 1. O que queremos dizer com Hadoop e Hadoop eco-system 2. Hadoop resolver os meus problemas 3. Qual Hadoop distribuição irá atender às nossas necessidades melhor Neste blog eu tentei responder às perguntas acima. Se você não sabe o que é Big Data, então como você qualificar se a sua grande agregação de dados é Big Data ou não Esta postagem de blog Big Data Explicado por Varoon Rajani, pode ajudá-lo a entender isso. O que queremos dizer por Hadoop e Hadoop eco-sistema Apache Hadoop é uma estrutura de código aberto que permite o processamento distribuído de grandes conjuntos de dados através de clusters de computação e é a tecnologia mais amplamente utilizada para processamento Big Data. O framework Hadoop evoluiu para um conjunto de ferramentas e tecnologias para processar, armazenar e analisar de forma eficiente quantidades enormes de dados variados de forma linear, escalável e confiável. Apache Hadoop tem dois grandes projetos: MapReduce. Um framework para gerenciamento de recursos de cluster para processamento paralelo de grandes conjuntos de dados Hadoop Distributed File System (HDFS). Um sistema de arquivos distribuído para acesso de alto rendimento a grandes conjuntos de dados Hadoop Ecosystem está evoluindo rapidamente com grande número de contribuintes da comunidade. O diagrama a seguir fornece uma visão geral do ecossistema Hadoop. Hadoop Distribution Ecosystem Alguns dos componentes do ecossistema são explicados abaixo: Hive. Uma infraestrutura de data warehouse com SQL como recursos de consulta em conjuntos de dados Hadoop Pig. Uma linguagem de fluxo de dados de alto nível e estrutura de execução para computação paralela ZooKeeper. Um serviço de coordenação de alto desempenho para aplicações distribuídas. Uma aprendizagem de máquina escalável e biblioteca de mineração de dados HBase. Um banco de dados distribuído e escalonável que suporte armazenamento de dados estruturado para tabelas grandes Será que o Hadoop resolve o meu problema É importante entender que o Hadoop não é uma substituição completa para as ferramentas tradicionais de Data Warehousing e Business Intelligence. Mas é uma abordagem complementar para resolver alguns de seus desafios. O Hadoop é mais adequado para: Processamento de dados não estruturados Processamento complexo de informações paralelas Grandes conjuntos de dados / arquivos Aprendizagem de máquina Processamento de dados crítico tolerante a falhas Relatórios não necessários em tempo real Consultas que não podem ser expressas pelo SQL Processos de dados precisam ser mais rápidos Alguns dos casos de uso Para diferentes indústrias são: Social Media Engagement e Clickstream Analysis (Web Industry): Um clickstream é a gravação das partes da tela de um usuário de computador clica na web durante a navegação ou usando outro aplicativo de software. Análise de fluxo de cliques é útil para a análise da atividade da web e testes de software de comportamento do cliente, pesquisa de mercado e até mesmo para analisar a produtividade dos funcionários. Otimização de Conteúdo e Engajamento (Indústria de Mídia): Conteúdo necessário para ser otimizado para renderização em diferentes dispositivos que suportam diferentes formatos de conteúdo. As empresas de mídia exigem grande quantidade de conteúdo para ser processado em diferentes formatos. Também os modelos de engajamento de conteúdo precisam ser mapeados para feedback e aprimoramentos. Análise de Rede e Mediação (Indústria de Telecomunicações): As empresas de telecomunicações geram uma grande quantidade de dados na forma de dados de transações de uso, dados de desempenho de rede, dados de nível de dispositivo de informações de célula-site e outras formas de dados de back office. A análise em tempo real desempenha um papel crítico na redução do OPEX e aprimorando a experiência do usuário Segmentação e recomendação de produtos (indústria de varejo): As empresas de varejo e as empresas de comércio eletrônico modelam os dados de diferentes fontes para clientes-alvo e fornecem recomendações de produtos baseadas no final User8217s perfil e padrões de uso. Análise de Risco, Monitoramento de Fraudes e Análise de Mercado de Capital (Indústria de BFSI): Os setores bancário e financeiro possuem grandes conjuntos de dados estruturados e não estruturados gerados por diferentes fontes, como padrão de negociação nos mercados de capitais, comportamento do consumidor para serviços bancários etc. Executar Análise de Risco, Acompanhamento e Monitoramento de Fraude, Análise de Mercado de Capitais, gerenciamento de dados convergentes etc. A lista é muito longa e específica para os requisitos ea boa notícia é que as empresas podem lucrar com dados estruturados / não estruturados. Qual a distribuição do Hadoop vai caber em nossos requisitos Há um monte de open-source e distribuições pagas disponíveis para implementar Hadoop além da distribuição de código aberto Apaches Hadoop. Cada implementação do Hadoop implementará algumas ou todas as ferramentas listadas acima, dependendo dos requisitos do projeto. Comparação de três distribuições principais de Hadoop Abaixo a matriz mostra a comparação em três distribuições principais de Hadoop (1) Distribuição de Hadoop de Amazon, (2) Distribuição de Hadoop de MapR e (3) Distribuição de Hadoop de Cloudera baseada em quatro parâmetros largos Detalhes técnicos Esta base de covesr Versão de Hadoop, Suporte, Suporte ao agendamento de tarefas, etc. Facilidade de implantação Disponibilidade de kits de ferramentas para gerenciar a implantação Facilidade de manutenção Gerenciamento de clusters e ferramentas de orquestração. Custo O custo da implementação para a distribuição particular do Hadoop, modelo de faturamento e licenças. Análise BlazeClan Baseado na análise e mapeamento da exigência da empresa com a matriz acima, será fácil decidir o tipo de distribuição Hadoop mais adequado para seu caso de uso. Por favor, note na matriz acima temos comparado apenas três grandes distribuições Hadoop, mas há muitos outros no mercado. O BlazeClan ajuda as empresas a lucrar com os grandes conjuntos de dados implementando as distribuições Hadoop corretas. Wed amor para ouvir de você Wed amor ouvir de você Construindo Stock Trading Estratégias: 20 Mais rápido com Hadoop Este post convidado de Sofia Parfenovich, Data Scientist na Altoros Systems. Um grande especialista em dados e um parceiro do Hortonworks System Integrator. Sofia explica que ela otimizou uma solução de negociação de clientes usando Hadoop (Hortonworks Data Platform) e agrupando dados de estoque. Soluções de negociação automatizadas são amplamente utilizados por investidores, bancos, fundos e outros jogadores do mercado de ações. Estes sistemas são baseados em algoritmos matemáticos complexos e podem levar em conta centenas de fatores. Plataformas de negociação de hoje pode notificar as pessoas sobre o momento certo para colocar ordens de compra / venda ou pode até mesmo fazer um acordo sem qualquer envolvimento humano. Estratégias de negociação de ações e questões de dados Os algoritmos de negociação são freqüentemente baseados em um único conjunto de regras com parâmetros fixos para serem implementados, mas eles são incapazes de refletir todas as mudanças dentro do mercado e podem trazer perda significativa. Uma das maneiras de tornar um sistema mais flexível é dividir as estratégias em vários grupos com base nos tipos de condições de mercado. Heres um exemplo onde este sistema foi implementado. A empresa tinha uma solução que gerou automaticamente um conjunto de estratégias de negociação, no entanto, o processo de seleção da estratégia necessária ainda era um problema. Os dados foram agrupados por especialistas em negociação manualmente para um estado particular de uma bolsa de valores, que levou semanas de análise. Esta parte do sistema precisava ser automatizada. Outro problema foi causado pela natureza distribuída do sistema. Vários relatórios para estratégias de construção foram agregados em máquinas separadas. O tamanho total desta informação aproximou-se de 100 GB, tornando esta uma grande questão de dados. Além disso, as estratégias deveriam ter sido revisadas a cada dois meses para se adaptarem às condições de mercado em mudança. Para lidar com tais quantidades maciças de dados, a plataforma de clientes usou uma série de filtros que reduziu o número de parâmetros. Como resultado, o tamanho total desses relatórios agregados foi reduzido para 510 GB. Depois disso, os dados foram divididos em grupos de acordo com suposições sugeridas por especialistas em negociação. Assim, as estratégias necessárias foram selecionadas a partir de pequenos conjuntos de tamanho 0,51 GB. Contudo, as estratégias resultantes não foram suficientemente diversas e muitas vezes omitiram alguns dos parâmetros essenciais. O cliente queria incluir mais informações no analisista, o objetivo era tomar decisões mais precisas e, portanto, aumentar os lucros. Resolvendo o grande problema de dados com Hadoop, Hortonworks Data Platform e k-means A tarefa se encaixa perfeitamente no princípio MapReduce (dividir e distribuir) e nos recursos Hadoop da Hortonworks Data Platform. O cliente concordou com esta opção, uma vez que não exigiu a compra de qualquer hardware ou software adicional. Os relatórios foram carregados para HDFS. Para agrupar esses dados agregados, o algoritmo k-mean foi implementado usando a linguagem R. Este algoritmo agrupa objetos por proximidade de coordenadas. A Figura 1 demonstra como as estratégias geradas podem ser acopladas em conjunto por dois parâmetros (coordenadas), por exemplo, a probabilidade de obter um lucro ea taxa de perda. Cada cor indica um grupo de estratégias com probabilidade semelhante de lucro e perda. Na realidade, há uma abundância de fatores que influenciam o mercado de ações, o que torna este tipo de cluster mais sofisticado. Para o nosso sistema, cada estratégia de negociação teria N coordenadas na primeira execução (quando os dados estatísticos são analisados) e M coordenadas na segunda execução (quando a eficácia de uma estratégia é analisada). A Figura 2 descreve como o sistema de negociação foi melhorado usando o Hadoop (Hortonworks Data Platform) e o algoritmo k-means. Abaixo está o esquema geral da solução: Primeiro, o sistema coleta relatórios com dados de estoque bruto. Depois disso, esses relatórios são transferidos para HDFS. Um script escrito com a linguagem R inicia o pré-processamento de dados. Na primeira execução de cluster, todas as estratégias são classificadas de acordo com os critérios de estatística (por exemplo, o lance atual, a quantidade de ações e centenas de outros parâmetros ). Na segunda execução do clustering, o sistema realiza uma análise qualitativa: mede os resultados que cada estratégia demonstra e compara a estratégia com o estado do mercado em diferentes períodos de tempo. Os dados são preparados no formato apropriado. Como na fase de pré-processamento, essa tarefa também é executada por um script criado com R no paradigma MapReduce. Os resultados são recuperados do HDFS e estão prontos para uso futuro pelo cliente. Três benefícios principais foram obtidos devido à otimização com Hadoop, R scripts, clustering e k-means: O sistema agora cria e seleciona a estratégia mais adequada 20 mais rápido do que antes. Esta melhoria por si só poupa o cliente cerca de uma semana toda vez que a equipe faz a análise. A plataforma reforçada dobrou o número de grupos de estratégia. Essa diversificação tornou a seleção mais flexível e concisa, aumentando a receita dos clientes em 12. Última, as estratégias podem agora ser atualizadas com mais freqüência e podem incluir mais parâmetros na análise. Como resultado, existem mais estratégias que o cliente pode vender, criando um canal de receita adicional. Anteriormente, essas conquistas não eram viáveis, uma vez que adicionar um parâmetro ao sistema aumentaria o número de relatórios eo tempo necessário para processá-los. A arquitetura baseada em Hadoop atual leva em conta os volumes cada vez maiores de informações de mercado e permite o processamento de 10x conjuntos maiores de dados, sem quaisquer investimentos adicionais. Seria também interessante ver quanta melhoria o cliente poderia conseguir com uma das implementações HadoopGPU ou com os recursos em tempo real do YARN fornecidos pelo Hadoop 2.0. Então, vamos esperar por histórias de sucesso apoiadas por números exatos. Sobre o autor: Sofia Parfenovich é um cientista de dados na Altoros Systems, um grande especialista em dados e plataforma-como-um-serviço enabler. Sofia está interessada em criar regras de associação para a extração de grandes volumes de dados com o Hadoop e outras ferramentas MapReduce. Ela tem forte experiência em previsões de séries temporais, estratégias de negociação de construção e análise de dados diversos. A Altoros Systems é um parceiro do Hortonworks System Integrator. A empresa fornece serviços de tecnologia em torno de Hadoop e PaaS para fornecedores de software, provedores IaaS e empresas de informação pesada. Altoros tem um histórico comprovado de servir líderes tecnológicos, como RightScale, Couchbase, NuoDB, Joyent, Cisco, etc Para obter mais informações, visite altoros. O primeiro blog desta série de duas partes (Deter Crime Financeiro Criando um Programa de AML) descreveu como as atividades de Lavagem de Dinheiro (ML) empregadas Por atores nefastos (por exemplo, cartéis de drogas, figuras públicas corruptas e organizações terroristas) ficaram mais sofisticados ao longo dos anos. O primeiro post nesta série de três partes sobre as fundações digitais vamsitalkstech / p2517 introduziu o conceito de cliente 360 ​​ou Single View of Customer (SVC). Discutimos os benefícios específicos de um ponto de vista do amp de negócios que são habilitados pelo SVC. Este segundo post da série introduz o conceito de uma Viagem ao Cliente. O terceiro amplificador finalhellip Cinco minutos com. Eric Thorsen em programas de fidelização de varejistas europeus Quantos cartões de fidelidade de varejo você tem Pessoalmente, eu só fui leal a um programa consistentemente nos últimos 10 anos (Boots Advantage Card, fantástico sistema de pontos), enquanto as novas crianças no bloco na minha bolsa incluem Waitrose e John Lewis, mas além desse bem, eu perdi ou me esqueço deles. Ihellip Apache, Hadoop, Falcão, Atlas, Tez, Sqoop, Flume, Kafka, Porco, Hive, HBase, Accumulo, Tempestade, Solr, Spark, Ranger, Knox, Ambari, ZooKeeper, Oozie, Metron eo Hadoop São marcas registradas ou marcas registradas da Apache Software Foundation nos Estados Unidos ou em outros países.

Comments