Sistemas de comércio de alta frequência no Brasil
Design de sistema de negociação de alta freqüência e gerenciamento de processo Design de sistema de negociação de alta freqüência e gerenciamento de processo Consultor: Roy E. Welsch. Departamento: Programa de Design e Gestão de Sistemas. As empresas comerciais hoje em dia são altamente dependentes de mineração de dados, modelagem de computador e desenvolvimento de software. Os analistas financeiros executam muitas tarefas semelhantes às do software e das indústrias transformadoras. No entanto, o setor financeiro ainda não adotou completamente padrões de engenharia de sistemas de alto padrão e abordagens de gerenciamento de processos que tiveram êxito nas indústrias de software e manufatura. Muitas das metodologias tradicionais para o projeto do produto, o controle de qualidade, a inovação sistemática, ea melhoria contínua encontrada nas disciplinas da engenharia podem ser aplicadas ao campo das finanças. Esta tese mostra como o conhecimento adquirido de disciplinas de engenharia pode melhorar a gestão de projetos e processos de sistemas de negociação de alta freqüência. Sistemas de negociação de alta freqüência são baseados em computação. Estes sistemas são sistemas de software automáticos ou semi-automáticos que são inerentemente complexos e requerem um alto grau de precisão de projeto. O design de um sistema de negociação de alta freqüência vincula vários campos, incluindo finanças quantitativas, design de sistemas e engenharia de software. No setor financeiro, onde as teorias matemáticas e os modelos comerciais são relativamente bem pesquisados, a capacidade de implementar esses projetos em práticas comerciais reais é um dos elementos-chave da competitividade das empresas de investimento. A capacidade de converter idéias de investimento em sistemas de negociação de alto desempenho de forma eficaz e eficiente pode dar uma empresa de investimento uma vantagem competitiva enorme. (Cont.) Esta tese fornece um estudo detalhado composto por alta freqüência sistema de comércio design, modelagem de sistemas e princípios e gestão de processos Para o desenvolvimento do sistema. É dada especial ênfase ao backtesting e otimização, que são considerados as partes mais importantes na construção de um sistema de comércio. Esta pesquisa constrói modelos de engenharia de sistemas que orientam o processo de desenvolvimento. Também utiliza sistemas de negociação experimental para verificar e validar os princípios abordados nesta tese. Finalmente, esta tese conclui que os princípios e estruturas de engenharia de sistemas podem ser a chave para o sucesso na implementação de sistemas de negociação de alta freqüência ou de investimento quantitativo. Tese (S. M.) - Massachusetts Institute of Technology, Programa de Design e Gestão de Sistemas, 2009. Catalogado a partir da versão em PDF da tese. Inclui referências bibliográficas (p.78-79). Palavras-chave: Projeto de Sistema e Programa de Gestão. Minha Conta Desenvolvendo modelos de negociação de ações de alta freqüência Desenvolvendo modelos de negociação de ações de alta freqüência Consultor: Roy E. Welsch. Departamento: Sloan School of Management. O objetivo deste artigo é mostrar evidências de que há oportunidades de gerar alfa no ambiente de alta freqüência do mercado de ações dos EUA, usando a Análise de Componentes Principais (PCA) como base para o curto prazo Estimativa de longo prazo e previsão de movimentos de mercado. O tempo de negociações e períodos de detenção que estamos analisando oscilam entre um segundo e até 5 minutos aproximadamente. Particularmente acreditamos que este espaço temporal oferece oportunidades para gerar alfa, uma vez que a maioria das estratégias de negociação quantitativas conhecidas são implementadas em dois tipos diferentes de marcos de tempo: ou sobre o tipo típico de arbitragem estatística de quadros de tempo (com horizontes de avaliação e períodos de negociação em A ordem de dias ou semanas até talvez mesmo meses), ou no ambiente puramente alta freqüência (com quadros de tempo na ordem dos milissegundos). Sobre as últimas estratégias, não há realmente muita intenção de realizar avaliações de ações, mas sim de se beneficiar da alta freqüência de mercado, o que envolve não só buscar lucrar com o recebimento do spread bidask, mas também dos descontos de transações oferecidos pelos numerosos Para aqueles que fornecem liquidez. Acreditamos que há mais oportunidades para capturar as ineficiências existentes nessa área e mostramos como, com ferramentas matemáticas e preditivas muito simples, essas ineficiências podem ser identificadas e potencialmente exploradas para gerar retornos excessivos. O artigo descreve nossa intuição subjacente sobre o modelo que usamos, que é baseado nos resultados de PCAs de curto prazo sobre retornos de capital, e mostra como esses resultados podem prever retornos cumulativos futuros de curto prazo. Selecionamos aleatoriamente 50 das ações mais líquidas do índice SampP 500 para testar nossos resultados. Tese (M. B.A.) - Instituto de Tecnologia de Massachusetts, Escola de Sloan de Gestão, 2010. Catalogado de uma versão em PDF da tese. Inclui referências bibliográficas (p.59). Palavras-chave: Sloan School of Management. Minha Conta Como puramente um cientista da computação você está na posição perfeita para começar no comércio algorítmico. Isso é algo que eu testemunhei em primeira mão em Quantiacs1. Onde cientistas e engenheiros são capazes de saltar para a direita em negociação automatizada sem qualquer experiência anterior. Em outras palavras, as costeletas de programação são o ingrediente principal necessário para começar. Para obter uma compreensão geral de quais desafios esperam por você após a criação de um sistema de negociação algorítmica, confira este post Quora. Construir um sistema comercial a partir do zero vai exigir algum conhecimento de fundo, uma plataforma de negociação, dados de mercado e acesso ao mercado. Embora não seja um requisito, a escolha de uma única plataforma de negociação que fornece a maior parte destes recursos irá ajudá-lo a acelerar rapidamente. Dito isto, as habilidades que você desenvolver será transferível para qualquer linguagem de programação e praticamente qualquer plataforma. Acredite ou não, construindo estratégias de negociação automatizado isnt predicado em ser um especialista do mercado. No entanto, aprender mecânica de mercado básica irá ajudá-lo a descobrir estratégias de negociação rentável. Opções, Futuros e Outros Derivados por John C. Hull - Grande primeiro livro para entrar em finanças quantitativas, e abordá-lo do lado da matemática. Negociação quantitativa por Ernie Chan - Ernie Chan fornece o melhor livro introdutório para negociação quantitativa e orienta você através do processo de criação de algoritmos de negociação em MATLAB e Excel. Negociação Algorítmica de Futuros através da Aprendizagem de Máquinas - Uma desagregação de 5 páginas da aplicação de um modelo de aprendizagem simples de máquina aos indicadores de análise técnica comumente usados. Heres uma lista de leitura agregada PDF com uma repartição completa de livros, vídeos, cursos e fóruns de negociação. A melhor maneira de aprender é fazendo, e no caso de negociação automatizada que se resume a gráficos e codificação. Um bom ponto de partida é exemplos existentes de sistemas de negociação e exposições existentes de técnicas técnicas de análise. Além disso, um cientista de computador qualificado tem a vantagem adicional de ser capaz de aplicar o aprendizado da máquina à negociação algorítmica. Aqui estão alguns desses recursos: TradingView - Uma fantástica plataforma de gráficos visuais por conta própria, TradingView é um grande playground para ficar confortável com a análise técnica. Ele tem o benefício adicional de permitir que você script estratégias de negociação e navegar outras pessoas comércio idéias. Fórum de Negociação Automatizado - Grande comunidade on-line para postar perguntas para iniciantes e encontrar respostas para problemas comuns de quant quando apenas começando. Quant fóruns são um ótimo lugar para se tornar imerso em estratégias, ferramentas e técnicas. Seminário do YouTube sobre ideias comerciais com exemplos de código de trabalho no Github. Aprendizado de Máquinas: Mais apresentações sobre negociação automatizada podem ser encontradas no Quantiacs Quant Club. A maioria das pessoas de um fundo científico (se isso é ciência da computação ou engenharia) tiveram exposição a Python ou MATLAB, que passam a ser linguagens populares para finanças quantitativas. A Quantiacs criou uma caixa de ferramentas de código aberto que fornece backtesting e 15 anos de dados históricos de mercado gratuitamente. A melhor parte é tudo é construído em ambos Python e MATLAB dando-lhe a escolha do que para desenvolver o seu sistema com. Heres um exemplo de tendência de seguir a estratégia comercial em MATLAB. Este é todo o código necessário para executar um sistema de negociação automatizado, apresentando tanto o poder de MATLAB e da Caixa de ferramentas Quantiacs. O Quantiacs permite que você negocie 44 futuros e todos os estoques do SampP 500. Além disso, uma variedade de bibliotecas adicionais como TensorFlow são suportadas. (Limitação de responsabilidade: Eu trabalho na Quantiacs) Uma vez que você está pronto para ganhar dinheiro como um quant, você pode participar do último concurso de negociação Quantiacs automatizado, com um total de 2,250,000 em investimentos disponíveis: Você pode competir com os melhores quants Esta resposta foi completamente re Aqui estão 6 base de conhecimento principal para a construção de sistemas de negociação algorítmica. Você deve estar familiarizado com todos eles, a fim de construir sistemas de negociação eficaz. Alguns dos termos usados podem ser ligeiramente técnicos, mas você deve ser capaz de entendê-los por Googling. Nota: (A maioria de) estes não se aplicam se você quiser fazer negociação de alta freqüência 1. Teorias de mercado Você precisa entender como funciona o mercado. Mais especificamente, você deve compreender as ineficiências do mercado, as relações entre os diferentes produtos ativos e o comportamento dos preços. Idéias de negociação resultam de ineficiências de mercado. Você precisará saber como avaliar ineficiências de mercado que lhe dão uma vantagem de negociação versus aqueles que não. Projetar robôs eficazes implica entender como os sistemas de negociação automatizados funcionam. Essencialmente, uma estratégia de negociação algorítmica consiste em 3 componentes principais: 1) Entradas, 2) Saídas e 3) Posição de dimensionamento. Você precisará projetar esses 3 componentes em relação à ineficiência do mercado que você está captando (e não, este não é um processo direto). Você não precisa saber a matemática avançada (embora ajudará se você aponta construir estratégias mais complexas). Boas habilidades de pensamento crítico e uma compreensão decente sobre estatísticas irão levá-lo muito longe. O design envolve backtesting (teste de borda de negociação e robustez) e otimização (maximizando o desempenho com ajuste de curva mínimo). Você precisará saber como gerenciar um portfólio de estratégias de negociação algorítmica também. As estratégias podem ser complementares ou conflitantes, o que pode levar a aumentos não planejados da exposição ao risco ou cobertura não desejada. Alocação de capital é importante também você dividir capital igualmente durante intervalos regulares ou recompensar os vencedores com mais capital Se você sabe que produtos você deseja negociar, encontrar plataformas de negociação adequadas para esses produtos. Em seguida, aprender a linguagem de programação API deste platformbacktesters. Se você começar, eu recomendaria Quantopian (ações somente), Quantconnect (ações e FX) ou Metatrader 4 (FX e CFDs em índices de ações, ações e commodities). As linguagens de programação utilizadas são Python, C e MQL4, respectivamente. 4. Gestão de Dados Lixo no lixo para fora. Dados imprecisos levam a resultados de teste imprecisos. Precisamos de dados razoavelmente limpos para testes precisos. Dados de limpeza é um trade-off entre custo e precisão. Se você quiser dados mais precisos, você precisa gastar mais tempo (tempo dinheiro) limpá-lo. Alguns problemas que causam dados sujos incluem dados em falta, dados duplicados, dados errados (carrapatos ruins). Outras questões que levam a dados enganosos incluem dividendos, desdobramentos de ações e rolagens de futuros, etc. 5. Gerenciamento de Risco Existem dois tipos principais de risco: Risco de Mercado e Risco Operacional. O risco de mercado envolve risco relacionado à sua estratégia de negociação. Considera os cenários de pior cenário E se acontecer um evento de cisne negro como a 3ª Guerra Mundial Você tem protegido o risco indesejado Sua posição é muito alta Além de gerenciar o risco de mercado, você precisa examinar o risco operacional. Falha no sistema, perda de ligação à Internet, fraco algoritmo de execução (levando a preços mal executados, ou negociações perdidas devido à incapacidade de lidar com requotshigh derrapagem) e roubo por hackers são questões muito reais. 6. Live Execution Backtesting e live trading são muito diferentes. Você precisará selecionar corretores adequados (MM vs STP vs ECN). Forex Market News com Forex Trading Fóruns amp Corretores de Forex opiniões é o seu melhor amigo, leia opiniões corretor lá. Você precisa de infra-estrutura adequada (VPN seguro e tempo de inatividade, etc) e procedimentos de avaliação (monitorar o desempenho de seus robôs e analisá-los em relação à ineficiência do mercado) para gerenciar seu robô durante toda a sua vida útil. Você precisa saber quando intervir (modifyupdateshutdownturn em seus robôs) e quando não. Avaliação e otimização de estratégias de negociação Pardo (Grande insights sobre métodos de construção e estratégias de negociação de teste) Comércio seu caminho para a liberdade financeira Van K Tharp (Ridiculous-Click isca título de lado, este livro é uma ótima visão geral de sistemas de negociação mecânica) A microestrutura do mercado é a ciência de como funcionam as trocas e o que realmente acontece quando um comércio é colocado. É importante conhecer essas informações Mesmo que você esteja apenas começando) Algorithmic Trading amp DMA Barry Johnson (Lançamento de luz sobre os algoritmos de execução de bancos. Este não é diretamente aplicável o seu negócio algo, mas é bom saber) The Quants Scott Patterson (War histórias de alguns quants top. Como uma hora de deitar lida) Quantopian (Código, pesquisa e discute idéias com a comunidade. Usa Python) Fundamentos de Algo Trading Algo Trading101 (Disclaimer: Eu possuo este sitecourse. Aprenda teorias do projeto do robô, teorias do mercado e codificação. Usos MQL4) - Junte-se ao desafio (aprender conceitos de negociação e backtesting teorias. Eles recentemente desenvolveram o seu próprio backtesting e plataforma de negociação para esta parte ainda é novo para mim. Mas sua base de conhecimento sobre os conceitos de negociação são bons.) Recommended BlogsForums (estes inclui finanças , Negociação e fóruns de troca de algo): Linguagens de programação recomendadas: Se você sabe quais produtos você deseja negociar, encontrar plataformas de negociação adequadas para esses produtos. Em seguida, aprender a linguagem de programação API deste platformbacktesters. Se você começar, eu recomendaria Quantopian (ações somente), Quantconnect (ações e FX) ou Metatrader 4 (FX e CFDs em índices de ações, ações e commodities). As linguagens de programação utilizadas são Python, C e MQL4, respectivamente. Eu tenho um fundo como um programador e criação de equipes agilescrum antes de eu começar a olhar para negociação algorítmica. O mundo da negociação algorítmica me fascina, no entanto, pode ser um pouco esmagadora. Eu comecei a ter alguma perspectiva, mergulhando na plataforma Quantopian, assistindo a série de palestras quant e executando o meu e adaptação comunidade baseada em sistemas de negociação algo em seu ambiente. Como o seguinte: eu então percebi para entrar em mais profundo mais rápido, eu tenho que conhecer pessoas que gostam de criar estratégias de negociação, mas não pode programar - para corresponder-me como um gerente de equipe ágil e programador de sistemas de negociação. Então eu escrevi um livro sobre como criar uma equipe para implementar seus algoritmos de negociação. Construção de sistemas de negociação A maneira ágil: Como construir sistemas de negociação algorítmica vencedora como uma equipe. Na comunidade de Quantopian eu vi pessoas experientes financeiros procurando pessoas para implementar suas estratégias de negociação, mas onde medo de pedir aos programadores para implementar suas idéias. Uma vez que potencialmente pode começar a executar suas idéias de negociação sem eles. Eu abordar esta questão no meu livro. Para evitar programadores para fugir com suas idéias: criar uma especificação para a sua idéia de negociação que usa uma estrutura de codificação que é adaptada para o tipo de estratégia que você deseja desenvolver. Isso pode soar difícil, mas quando você conhece todos os passos do bebê e como eles se encaixam, é bastante simples e divertido de gerenciar Se você gostou desta resposta, por favor vote e siga. Embora este seja um tópico muito amplo com referências a construir algoritmos, configuração de infra-estrutura, alocação de ativos e gerenciamento de riscos, mas vou apenas focar a primeira parte de como deve ser o trabalho na construção de nosso próprio algoritmo, e fazer as coisas certas. 1. Estratégia de construção. Alguns dos pontos-chave a observar aqui são: Catch Big Trends - Uma boa estratégia deve, em todos os casos, ganhar dinheiro quando o mercado está tendendo. Mercados ir com uma boa tendência que dura apenas 15-20 do tempo, mas este é o momento em que todos os gatos e cães (comerciantes de todos os time-frame, intraday, diário, semanal, longo prazo) estão fora de compras e todos eles Têm um tema comum. Um monte de comerciantes também construir estratégias de reversão média em que eles tentam julgar as condições quando o preço se afastaram da média, e ter um comércio contra a tendência, mas eles devem ser construídos quando você tem sucesso construir e negociado alguns bons sistemas de tendência . As probabilidades de empilhamento acima - as pessoas trabalham frequentemente para tentar construir um sistema que tem uma relação de winloss excelente mas that039s não a abordagem certa. Por exemplo um algo com um vencedor de 70 com um lucro médio de 100 por comércio e uma perda média de 200 por comércio só fará 100 por 10 negócios (rede 10trade). Mas um algo com um vencedor de 30 com lucro médio de 500 por comércio e perda de 100 por comércio fará um lucro líquido de 800 para 10 negócios (80trade). Portanto, não é necessário que a proporção de winloss deve ser bom, mas sim as probabilidades de empilhamento que deve ser melhor. Isto vai dizer quotKeep perdas pequenas, mas deixe seus vencedores runquot. Em investimentos, o que é confortável raramente é rentável. Robert Arnott Drawdown - Drawdown é inevitável, se você estiver seguindo qualquer tipo de estratégia. Então, ao projetar um algo don039t tentar reduzir o drawdown ou fazer alguma condição personalizada específica para cuidar desse abaixamento. Esta condição específica pode no futuro pode agir como um obstáculo na captura de uma grande tendência e seu algo pode executar mal. Gestão de Risco - Ao construir uma estratégia, você deve sempre ter um portão de saída, o que o mercado optar por fazer. O mercado é um lugar de probabilidades e você deve projetar um algo para começá-lo fora de um comércio o mais rapidamente possível se ele doesn039t caber seu apetite de risco. Normalmente, argumenta-se que você deve arriscar 1-2 de capital em cada comércio, e é ideal em muitas maneiras como mesmo se você começar arnd 10 negócios falsos em sucessão o seu capital vai cair por apenas 20. Mas este não é o Cenário de mercado real. Alguns comércios perdidos estarão entre 0-1, enquanto alguns podem ir para 3-4, então é melhor definir o capital de perda médio por comércio eo capital máximo que você pode perder em um comércio, como os mercados são completamente aleatórios e não podem ser julgados . De vez em quando, o mercado faz algo tão estúpido que tira o fôlego. - Jim Cramer 2. Testando e otimizando um Deslizamento de Estratégia. Quando estamos testando uma estratégia em dados históricos, estamos sob a suposição de que a ordem será executada ao preço predefinido chegado pelo algo. Mas isso nunca será o caso, como temos de lidar com os criadores de mercado e HFT algo039s agora. Sua ordem no mundo today039s nunca será executado no preço desejado, e não haverá derrapagem. Isso deve ser incluído no teste. Impacto no Mercado: O volume negociado pelo algo é outro fator importante a ser considerado ao fazer back-testing e coletar os resultados históricos. À medida que o volume aumenta, as encomendas feitas por algo terão um impacto considerável no mercado e o preço médio da encomenda cheia será muito diferente. Seu algo pode produzir resultados completos diferentes em condições de mercado reais, se você não vai estudar a dinâmica de volume seu algo tem. Otimização: A maioria dos comerciantes sugerem que você não faça ajuste de curva e otimização e eles estão corretos como os mercados são uma função de variáveis aleatórias e nenhuma situação dois será sempre o mesmo. Portanto, otimizar parâmetros para situações particulares é uma má idéia. Eu sugiro que você vá para Zonal Optimization. É uma técnica que eu sigo, comprar zonas de identificação que têm características semelhantes em termos de volatilidade e volume. Otimize essas áreas separadamente, em vez de otimizar para todo o período. O acima são algumas das etapas mais básicas e mais importantes que eu sigo, ao converter um pensamento básico em um algoritmo e verificar a validade de it039s. Quot Todo mundo tem a capacidade de seguir o mercado de ações. Se você conseguiu passar por matemática de quinto grau, pode fazê-lo. QuotPeter Lynch Resposta curta: Aprenda matemática aplicada à negociação, a estrutura de mercados e, opcionalmente, ser um programador de sistemas networkdistributed superior. Há três faixas potencialmente paralelas que podem ser tomadas para aprender algoritmo negociação a partir do zero, dependendo do objetivo final de por que você deseja aprender. Aqui eles estão em ordem crescente de dificuldade, que também se correlaciona com o quanto ela se torna a sua parte de sua subsistência. Os anteriores abrirão as oportunidades para os seguintes. Você pode parar em qualquer etapa ao longo do caminho, uma vez que você aprendeu o suficiente ou conseguiu um emprego fazendo isso. Se você quer ser um quant, a maioria usa software de matemática e não realmente ser um programador de um sistema de algo, então a resposta curta é obter um PhD em Matemática, Física ou algum tópico de engenharia matemática pesada relacionada. Tente obter estágios nos melhores fundos de hedge, lojas de apoio ou bancos de investimento. Se você pode obter empregado por uma empresa de sucesso, então você será ensinado lá de outra forma, ele simplesmente won039t acontecer. Mas em qualquer caso, você ainda deve terminar a seção 039Self Study039 abaixo para ter certeza que você realmente quer passar pelo esforço de obter um PhD. A menos que você seja um gênio, se você não tiver um PhD você won039t ser capaz de competir com aqueles que fazem a menos que você se especializar na programação de sistemas de negociação. Se você deseja ser mais do lado da programação, tente aplicar para o emprego após cada etapa, mas não muitas vezes do que uma vez por ano por empresa. Self Study O primeiro passo é entender o que algoritmos trading é realmente e quais sistemas são necessários para apoiá-lo. I039d recomendo a leitura através de quotAlgorithmic Trading amp DMAquot (Johnson, 2010), algo que eu pessoalmente fiz e posso recomendar. Isso permitirá que você entenda em um nível básico. Em seguida, você deve programar o seu próprio livro de encomendas, um simples simulador de dados de mercado e uma implementação de algoritmo no seu computador com Java ou CC. Para crédito extra que ajudaria com a obtenção de emprego que você deve escrever sua própria camada de comunicação em rede do zero também. Neste ponto, você pode terminar de responder a pergunta por conta própria. Mas para completar e curiosidade, sinta-se livre para continuar: O próximo livro a abordar é quotTrading amp Intercâmbios: Market Microstructure for Practitionersquot (Harris, 2003). Isso vai entrar em detalhes mais finos de como os mercados funcionam. É outro livro que li, mas não completamente estudado porque eu era um programador de sistemas e não um quant nem um gerente do lado do negócio. Finalmente, se você quiser começar a aprender a matemática sobre como os mercados funcionam, trabalhe com o texto e os problemas em quotOptions, Futures e Other Derivativesquot (Hull, 2003). Eu fiz isso através de cerca de metade desse livro, quer em preparação ou como parte do treinamento interno em um dos meus antigos empregadores. Eu acredito que eu originalmente descobri sobre esse livro, porque foi sugerido ou leitura obrigatória para um dos bem considerados MS Financial Mathematics programas. Para potencialmente ter uma melhor chance de emprego através de um programa de alimentador new-grad, completar um programa de Matemática Financeiro MS se você deseja ser um programador de uma plataforma de negociação ou uma equipe de quants. Se você quer ser o único a projetar o algos, então você precisa fazer o percurso PhD explicado anteriormente. Se você ainda não terminou a faculdade, então por todos os meios, tentar obter um estágio no mesmo tipo de lugares. Emprego Não importa o quanto você aprende em livros e na escola, nada vai comparar com os pequenos detalhes que você aprende enquanto trabalhava para uma empresa. Se você não sabe todos os casos de borda e sabe quando seu modelo deixa de funcionar, você vai perder dinheiro. Espero que responda a sua pergunta e que ao longo do caminho de aprender você descobrir se você realmente deseja a transição do estudo para o trabalho do dia-a-dia real.
Comments
Post a Comment