Noções básicas de negociação algorítmica: conceitos e exemplos Um algoritmo é um conjunto específico de instruções claramente definidas, destinadas a realizar uma tarefa ou processo. A negociação algorítmica (negociação automatizada, negociação em caixa preta ou simplesmente algo-trading) é o processo de usar computadores programados para seguir um conjunto definido de instruções para colocar um comércio para gerar lucros a uma velocidade e freqüência impossíveis para um Comerciante humano. Os conjuntos definidos de regras são baseados em tempo, preço, quantidade ou qualquer modelo matemático. Além das oportunidades de lucro para o comerciante, o algo-trading torna os mercados mais líquidos e torna a negociação mais sistemática descartando impactos emocionais humanos nas atividades comerciais. Suponha que um comerciante siga esses critérios de comércio simples: Compre 50 ações de uma ação quando sua média móvel de 50 dias exceda a média móvel de 200 dias. Vende ações da ação quando sua média móvel de 50 dias está abaixo da média móvel de 200 dias Usando este conjunto de duas instruções simples, é fácil escrever um programa de computador que monitorará automaticamente o preço das ações (e os indicadores de média móvel) e colocará as ordens de compra e venda quando as condições definidas forem atendidas. O comerciante não precisa mais manter um relógio para preços e gráficos ao vivo, ou colocar as ordens manualmente. O sistema de comércio algorítmico automaticamente faz isso para ele, identificando corretamente a oportunidade comercial. (Para obter mais informações sobre as médias móveis, consulte: Médias móveis simples, faça as Tendências se destacarem.) A Algo-trading oferece os seguintes benefícios: Negociações executadas com os melhores preços. Posicionamento de pedidos comerciais instantâneo e preciso (com altas chances de execução nos níveis desejados) Cronometrado corretamente e instantaneamente, para evitar mudanças de preços significativas Custos de transação reduzidos (veja o exemplo de falta de implementação abaixo) Verificações automatizadas simultâneas em múltiplas condições de mercado Redução do risco de erros manuais na colocação dos negócios Backtest o algoritmo, com base nos dados históricos e em tempo real disponíveis Reduzida Possibilidade de erros cometidos por comerciantes humanos com base em fatores emocionais e psicológicos. A maior parte do dia-a-dia é a negociação de alta freqüência (HFT), que tenta capitalizar a colocação de um grande número de pedidos em velocidades muito rápidas em múltiplos mercados e decisões múltiplas Parâmetros, com base em instruções pré-programadas. (Para mais informações sobre negociação de alta frequência, consulte: Estratégias e Segredos de Empresas de Negociação de Alta Frequência (HFT)) A Algo-trading é utilizada em muitas formas de atividades de negociação e investimento, incluindo: investidores de médio a longo prazo ou empresas de compra (fundos de pensão , Fundos de investimento, companhias de seguros) que compram em ações em grandes quantidades, mas não querem influenciar os preços das ações com investimentos discretos e em grande volume. Os comerciantes de curto prazo e os participantes do lado da venda (fabricantes de mercado, especuladores e arbitragistas) também se beneficiam da execução automatizada do comércio e ajudam a criar liquidez suficiente para os vendedores no mercado. Os comerciantes sistemáticos (seguidores de tendências, comerciantes de pares, hedge funds, etc.) acham muito mais eficiente programar suas regras de negociação e permitir que o programa seja comercializado automaticamente. O comércio algorítmico proporciona uma abordagem mais sistemática ao comércio ativo do que os métodos baseados em intuição ou instinto de comerciantes humanos. Estratégias de negociação algorítmica Qualquer estratégia para negociação algorítmica exige uma oportunidade identificada que seja rentável em termos de melhoria de ganhos ou redução de custos. As seguintes são estratégias de negociação comuns usadas em algo-trading: as estratégias de negociação algorítmicas mais comuns seguem as tendências nas médias móveis. Fugas de canal. Movimentos de níveis de preços e indicadores técnicos relacionados. Estas são as estratégias mais fáceis e simples de implementar através de negociação algorítmica porque essas estratégias não envolvem fazer previsões ou previsões de preços. As negociações são iniciadas com base na ocorrência de tendências desejáveis. Que são fáceis e direitas de implementar através de algoritmos sem entrar na complexidade da análise preditiva. O exemplo acima mencionado de média móvel de 50 e 200 dias é uma tendência popular seguindo a estratégia. (Para mais informações sobre as estratégias de negociação de tendências, veja: Estratégias simples para capitalizar as tendências.) Comprar uma ação dupla cotada a um preço mais baixo em um mercado e simultaneamente vendê-lo a um preço mais alto em outro mercado oferece o diferencial de preço como lucro livre de risco Ou arbitragem. A mesma operação pode ser replicada para ações versus instrumentos de futuros, pois os diferenciais de preços existem de tempos em tempos. Implementar um algoritmo para identificar esses diferenciais de preços e colocar as ordens permite oportunidades lucrativas de forma eficiente. Os fundos do índice definiram períodos de reequilíbrio para que suas participações fossem compatíveis com seus respectivos índices de referência. Isso cria oportunidades rentáveis para comerciantes algorítmicos, que capitalizam os negócios esperados que oferecem lucros de 20 a 80 pontos base, dependendo do número de ações no fundo do índice, apenas antes do reequilíbrio do fundo do índice. Essas negociações são iniciadas através de sistemas de negociação algorítmica para execução atempada e melhores preços. Muitos modelos matemáticos comprovados, como a estratégia de negociação neutra dota, que permitem a negociação em combinação de opções e sua segurança subjacente. Onde os negócios são colocados para compensar deltas positivos e negativos para que o portfólio delta seja mantido em zero. A estratégia de reversão média baseia-se na idéia de que os preços altos e baixos de um bem são um fenômeno temporário que retorna periodicamente ao seu valor médio. Identificar e definir uma faixa de preço e implementar algoritmos com base em isso permite que os negócios sejam colocados automaticamente quando o preço do recurso entra e sai do seu alcance definido. A estratégia de preços médios ponderados por volume quebra uma grande ordem e libera dinamicamente determinados pedaços menores da ordem para o mercado usando perfis de volume histórico específicos de estoque. O objetivo é executar a ordem próxima ao preço médio ponderado por volume (VWAP), beneficiando assim o preço médio. A estratégia de preço médio ponderado no tempo quebra uma grande ordem e libera dinamicamente determinados pedaços menores da ordem para o mercado usando intervalos de tempo uniformemente divididos entre uma hora de início e fim. O objetivo é executar a ordem perto do preço médio entre os horários de início e término, minimizando assim o impacto no mercado. Até que a ordem comercial seja totalmente preenchida, esse algoritmo continua enviando ordens parciais, de acordo com o índice de participação definido e de acordo com o volume negociado nos mercados. A estratégia de etapas relacionadas envia ordens a uma porcentagem definida pelo usuário de volumes do mercado e aumenta ou diminui essa taxa de participação quando o preço da ação atinge os níveis definidos pelo usuário. A estratégia de falta de implementação visa minimizar o custo de execução de uma ordem através da negociação do mercado em tempo real, economizando assim o custo da ordem e beneficiando do custo de oportunidade da execução atrasada. A estratégia aumentará a taxa de participação direcionada quando o preço das ações se mover de forma favorável e diminuí-lo quando o preço das ações se mover de forma adversa. Existem algumas classes especiais de algoritmos que tentam identificar acontecimentos do outro lado. Esses algoritmos de sniffing, usados, por exemplo, por um fabricante de mercado de venda têm a inteligência interna para identificar a existência de qualquer algoritmo no lado da compra de uma grande ordem. Essa detecção através de algoritmos ajudará o fabricante de mercado a identificar grandes oportunidades de ordem e permitir que ele se beneficie ao preencher as ordens a um preço mais elevado. Isso às vezes é identificado como front-running de alta tecnologia. (Para obter mais informações sobre negociação de alta freqüência e práticas fraudulentas, consulte: Se você comprar ações on-line, você está envolvido em HFTs.) Requisitos técnicos para negociação algorítmica Implementar o algoritmo usando um programa de computador é a última parte, batida com backtesting. O desafio é transformar a estratégia identificada em um processo informatizado integrado que tenha acesso a uma conta de negociação para fazer pedidos. São necessários os seguintes conhecimentos: conhecimento de programação de computador para programar a estratégia de negociação necessária, programadores contratados ou software de negociação pré-fabricado. Conectividade de rede e acesso a plataformas de negociação para colocar os pedidos. Acesso a feeds de dados de mercado que serão monitorados pelo algoritmo para oportunidades de colocação Ordens A capacidade e a infra-estrutura para testar o sistema uma vez construído, antes de entrar em operação em mercados reais Dados históricos disponíveis para backtesting, dependendo da complexidade das regras implementadas no algoritmo. Aqui está um exemplo abrangente: o Royal Dutch Shell (RDS) está listado em Amsterdã Stock Exchange (AEX) e London Stock Exchange (LSE). Vamos criar um algoritmo para identificar oportunidades de arbitragem. Aqui estão algumas observações interessantes: as negociações da AEX em euros, enquanto a LSE é negociada em libras esterlinas. Por causa da diferença horária de uma hora, a AEX abre uma hora antes da LSE, seguido de ambas as trocas comerciais simultaneamente durante as próximas horas e depois da negociação somente na LSE durante A última hora com o fechamento da AEX Podemos explorar a possibilidade de negociação de arbitragem nas ações do Royal Dutch Shell listadas nesses dois mercados em duas moedas diferentes. Um programa de computador que pode ler os preços atuais do mercado. Os preços dos feeds da LSE e AEX A forex para Taxa de câmbio GBP-EUR Capacidade de colocação de pedidos que pode rotear a ordem para a troca correta. Capacidade de teste de back-up em feeds de preços históricos. O programa de computador deve executar o seguinte: Leia o preço de entrada do estoque RDS de ambas as bolsas Usando as taxas de câmbio disponíveis . Converte o preço de uma moeda para outra. Se houver uma discrepância de preços suficientemente grande (descontando os custos de corretagem), levando a uma oportunidade rentável, então coloque o pedido de compra em troca de preços mais baixos e venda em câmbio com preços mais altos Se as ordens forem executadas como Desejado, o lucro da arbitragem seguirá Simples e Fácil No entanto, a prática de negociação algorítmica não é tão simples de manter e executar. Lembre-se, se você pode colocar um comércio gerado por algo, os outros participantes do mercado podem também. Conseqüentemente, os preços flutuam em milissegundos e até mesmo em microssegundos. No exemplo acima, o que acontece se o seu comércio de compras for executado, mas vender o comércio não, à medida que os preços de venda mudam quando o seu pedido atingir o mercado Você vai acabar sentado com uma posição aberta. Tornando sua estratégia de arbitragem inútil. Existem riscos e desafios adicionais: por exemplo, riscos de falha do sistema, erros de conectividade de rede, atrasos de tempo entre ordens comerciais e execução e, o mais importante, algoritmos imperfeitos. O algoritmo mais complexo, o backtesting mais rigoroso é necessário antes de ser posto em ação. A análise quantitativa de um algoritmo de desempenho desempenha um papel importante e deve ser examinada criticamente. É emocionante ir pela automação auxiliada por computadores com a noção de ganhar dinheiro sem esforço. Mas é preciso certificar-se de que o sistema está completamente testado e os limites exigidos são definidos. Os comerciantes analíticos devem considerar aprender programação e construir sistemas por conta própria, ter confiança em implementar as estratégias certas de forma infalível. Uso cauteloso e testes completos de algo-trading podem criar oportunidades rentáveis. Design de sistemas de negociação de alta freqüência e gerenciamento de processos Design de sistemas de negociação de alta freqüência e gerenciamento de processos Assessor: Roy E. Welsch. Departamento: Programa de Design e Gestão de Sistemas. Editora: Massachusetts Institute of Technology Data de emissão: 2009 As empresas comerciais hoje em dia são altamente dependentes da mineração de dados, modelagem de computadores e desenvolvimento de software. Os analistas financeiros executam muitas tarefas semelhantes às das indústrias de software e fabricação. No entanto, o setor financeiro ainda não adotou completamente estruturas de engenharia de sistemas de alto padrão e abordagens de gerenciamento de processos que tenham sido bem sucedidas nas indústrias de software e fabricação. Muitas das metodologias tradicionais para design de produtos, controle de qualidade, inovação sistemática e melhoria contínua encontradas em disciplinas de engenharia podem ser aplicadas no campo das finanças. Esta tese mostra como o conhecimento adquirido de disciplinas de engenharia pode melhorar o gerenciamento de projetos e processos de sistemas de negociação de alta freqüência. Os sistemas de negociação de alta freqüência são baseados em computação. Esses sistemas são sistemas de software automáticos ou semi-automáticos que são inerentemente complexos e exigem um alto grau de precisão de projeto. O design de um sistema de comércio de alta frequência liga vários campos, incluindo financiamento quantitativo, 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 a uma empresa de investimento uma enorme vantagem competitiva. (Cont.) Esta tese fornece um estudo detalhado composto por design de sistema de negociação de alta freqüência, modelagem de sistemas e princípios e gerenciamento de processos Para o desenvolvimento do sistema. É dada especial ênfase ao backtesting e otimização, que são consideradas as partes mais importantes na construção de um sistema comercial. Esta pesquisa desenvolve modelos de engenharia de sistemas que orientam o processo de desenvolvimento. Ele também usa sistemas de comércio experimental para verificar e validar os princípios abordados nesta tese. Finalmente, esta tese conclui que princípios e estruturas de engenharia de sistemas podem ser a chave para o sucesso na implementação de sistemas de investimento de alta freqüência ou de investimento quantitativo. Tese (S. M.) - Instituto de Tecnologia de Massachusetts, Projeto de Sistema e Programa de Gestão, 2009. Catalogado a partir da versão em PDF da tese. Inclui referências bibliográficas (p. 78-79). Palavras-chave: Programa de Design e Gestão de Sistemas. Minha conta é puramente cientista da computação, você está na posição perfeita para começar a negociação algorítmica. Isso foi algo que testemunhamos em primeira mão na Quantiacs 1. onde cientistas e engenheiros conseguem saltar diretamente para negociação automatizada sem qualquer experiência prévia. Em outras palavras, as costeletas de programação são o principal ingrediente necessário para começar. Para obter uma compreensão geral do que os desafios esperam depois de durar a criação de um sistema de negociação algorítmico, confira esta publicação do Quora. Construir um sistema de negociação desde o início 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 forneça a maioria desses recursos o ajudará a acelerar rapidamente. Dito isto, as habilidades que você desenvolverá serão transferíveis para qualquer linguagem de programação e praticamente qualquer plataforma. Acredite ou não, construir estratégias de negociação automatizadas não se baseia em ser um especialista em mercado. No entanto, aprender mecânica de mercado básica irá ajudá-lo a descobrir estratégias comerciais lucrativas. Opções, Futuros e Outros Derivados por John C. Hull - Grande primeiro livro para entrar em financiamento quantitativo, e abordando-o 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ê no processo de criação de algoritmos de negociação em MATLAB e Excel. Comércio Algoritmo de Futuros via Aprendizado de Máquinas - Uma quebra de 5 páginas da aplicação de um modelo simples de aprendizado de máquina aos indicadores de análise técnica comumente usados. Heres uma lista de leitura agregada PDF com uma quebra total de livros, vídeos, cursos e fóruns de negociação. A melhor maneira de aprender é fazer, e no caso de negociação automatizada que se resume a gráficos e codificação. Um bom ponto de partida são exemplos existentes de sistemas de negociação e exposições existentes de técnicas de análise técnica. Além disso, um cientista informático qualificado tem a vantagem adicional de poder aplicar a aprendizagem de máquinas para negociação algorítmica. Aqui estão alguns desses recursos: TradingView - Uma fantástica plataforma de gráficos visuais por conta própria, o TradingView é um ótimo parque infantil para ficar confortável com a análise técnica. Tem o benefício adicional de permitir estratégias de negociação de scripts e navegar em outras idéias de comércio de pessoas. Fórum Automatizado de Negociação - Grande comunidade on-line para postar perguntas para iniciantes e encontrar respostas para problemas comuns quando é apenas começar. Quantos fóruns são um ótimo lugar para mergulhar em estratégias, ferramentas e técnicas. Seminário do YouTube sobre idéias 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 base científica (seja ciência da computação ou engenharia) tiveram exposição a Python ou MATLAB, que são linguagens populares para financiamento quantitativo. A Quantiacs criou uma caixa de ferramentas de código aberto que fornece backtesting e 15 anos de histórico do mercado de dados gratuitamente. A melhor parte é que tudo é construído tanto no Python quanto no MATLAB, o que lhe permite escolher o que desenvolver o seu sistema. Tem uma tendência de exemplo - estratégia de negociação seguinte no MATLAB. Este é todo o código necessário para executar um sistema de negociação automatizado, mostrando tanto o poder do MATLAB quanto o Quantiacs Toolbox. Quantiacs permite que você negocie 44 futuros e todos os estoques do SampP 500. Além disso, uma variedade de bibliotecas adicionais, como o TensorFlow, são suportadas. (Disclaimer: Eu trabalho em Quantiacs) Uma vez que você está pronto para ganhar dinheiro como um quant, você pode participar do mais recente concurso de negociação automatizado da Quantiacs, com um total de 2.250.000 em investimentos disponíveis: você pode competir com os melhores quants 22.8k Views middot View Upvotes Middot Não para reprodução Esta resposta foi completamente reescrita Aqui estão 6 bases de conhecimento principais para a construção de sistemas de negociação algorítmica. Você deve estar familiarizado com todos eles para construir sistemas de negociação eficazes. Alguns dos termos utilizados podem ser um pouco técnicos, mas você deve ser capaz de compreendê-los pelo Google. Nota: (A maior parte) estes não se aplicam se você quiser fazer negociação de alta freqüência 1. Teorias de mercado Você precisa entender como o mercado funciona. Mais especificamente, você deve entender as ineficiências do mercado, as relações entre diferentes produtos de ativos e o comportamento dos preços. As idéias comerciais decorrem de ineficiências do mercado. Você precisará saber como avaliar as ineficiências do mercado que lhe dão uma vantagem comercial versus as que não. Projetar robôs efetivos implica entender como funcionam os sistemas de negociação automatizados. Essencialmente, uma estratégia de negociação algorítmica consiste em 3 componentes principais: 1) Entradas, 2) Saídas e 3) Dimensionamento da posição. Você precisará projetar esses 3 componentes em relação à ineficiência do mercado que você está capturando (e não, este não é um processo direto). Você não precisa saber matemática avançada (embora ajude se você pretende construir estratégias mais complexas). As boas habilidades de pensamento crítico e uma compreensão decente sobre as estatísticas o levarão muito longe. O design envolve backtesting (teste de vantagem comercial e robustez) e otimização (maximizando o desempenho com ajuste de curva mínimo). Você também precisa saber como gerenciar um portfólio de estratégias de negociação algorítmica. As estratégias podem ser complementares ou conflitantes, o que pode levar a aumentos não planejados na exposição ao risco ou hedging indesejados. A alocação de capital também é importante, você divide o capital igualmente durante intervalos regulares ou recompensa os vencedores com mais capital. Se você sabe quais produtos você quer negociar, encontre plataformas de negociação adequadas para esses produtos. Então, aprenda a API de linguagem de programação desta plataforma. Se você começar, eu recomendaria a 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. Gerenciamento de dados Lixo no lixo. Dados imprecisos levam a resultados de teste imprecisos. Precisamos de dados razoavelmente limpos para testes precisos. Os dados de limpeza são um trade-off entre custo e precisão. Se quiser dados mais precisos, você precisa gastar mais tempo (dinheiro no tempo) para 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, divisões de ações e rolamentos de futuros, etc. 5. Gerenciamento de risco Existem dois principais tipos de risco: risco de mercado e risco operacional. O risco de mercado envolve riscos relacionados à sua estratégia de negociação. Considera os cenários do pior caso. E se um evento de cisne negro como a Segunda Guerra Mundial acontecer? Você já escondeu o risco indesejado? O seu tamanho de posição é muito alto. Além de gerenciar o risco de mercado, você precisa olhar para o risco operacional. Choque do sistema, perda de ligação à Internet, algoritmo de execução fraca (levando a preços mal executados ou negócios perdidos devido à incapacidade de lidar com atrasos de alta exigência) e roubo de hackers são problemas muito reais. 6. Execução ao vivo Os backtesting e as negociações ao vivo são muito diferentes. Você precisará selecionar intermediários adequados (MM vs STP vs ECN). Forex Market News com Forex Trading Forums amp Forex Brokers Reviews é o seu melhor amigo, leia comentários do corretor lá. Você precisa de infra-estrutura adequada (VPN segura e gerenciamento de tempo de inatividade, etc.) e procedimentos de avaliação (monitorar o desempenho de seus robôs e analisá-los em relação às melhorias de ineficiência do mercado) para gerenciar seu robô ao longo de sua vida útil. Você precisa saber quando intervir (modificar a atualização de seus robôs) e quando não. Avaliação e Otimização de Estratégias de Negociação Pardo (Grandes idéias sobre métodos para construir e testar estratégias de negociação) Troque seu caminho para a Liberdade Financeira Van K Tharp (Ridiculous-Click isqueiro lado a lado, este livro é uma ótima visão geral dos sistemas de negociação mecânica) Quantitative Trading Ernest Chan (Grande introdução a algo trading em um nível de varejo). Negociação e intercâmbios: Microstructure de mercado para praticantes Larry Harris (A microestrutura de mercado é a ciência de como os intercâmbios funcionam e o que realmente acontece quando um comércio é colocado. É importante conhecer esta informação Mesmo que você esteja apenas começando) Algorithmic Trading amp DMA Barry Johnson (Shed luz sobre os algoritmos de execução dos bancos. Isso não é diretamente aplicável o seu algo trading, mas é bom saber) The Quants Scott Patterson (Histórias de guerra de alguns quants superiores. Como uma hora de dormir ler) Quantopian (Código, pesquisa e discutir idéias com a comunidade. Usa Python) Fundamentos da Algo Trading Algo Trading101 (Disclaimer: Eu possuo este sitecourse. Aprenda teorias de design de robôs, teorias de mercado e codificação. Usa o MQL4) - Junte-se ao desafio (Aprenda os conceitos de negociação e as teorias de backtesting. Recentemente, desenvolveram sua própria plataforma de backtesting e trading, então esta parte ainda é novidade para mim. Mas a base de conhecimento sobre os conceitos de negociação é boa.) Blogs recomendadosForuns , Fóruns de trading e algo trading): Linguagens de programação recomendadas: se você sabe quais produtos você quer negociar, encontre plataformas de negociação adequadas para esses produtos. Então, aprenda a API de linguagem de programação desta plataforma. Se você começar, eu recomendaria a 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. 15k Visualizações middot View Upvotes middot Não para reprodução Eu tenho um plano de fundo como programador e configurando equipes agilescrum antes de começar a olhar para negociação algorítmica. O mundo do comércio algorítmico me fascina, no entanto, pode ser um tanto irresistível. Comecei a ter alguma perspectiva mergulhando na plataforma de Quantopian, observando as séries de palestras e executando meus sistemas de troca de negócios baseados em comunidades adaptadas em seu ambiente. Como o que está abaixo: então, percebi para me aprofundar mais rápido, tenho que conhecer pessoas que gostam de criar estratégias de negociação, mas não podem programar - combinar-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. Construindo Sistemas de Negociação O Caminho Ágil: Como Construir Sistemas de Negociação de Algoritmos Vencedores como Equipe. Na comunidade de Quantopian, vi pessoas com experiência financeira à procura de pessoas para implementar suas estratégias comerciais, mas onde tem medo de pedir aos programadores que implementem suas idéias. Como eles potencialmente podem começar a executar suas idéias comerciais sem elas. Eu abordo esta questão no meu livro. Para evitar que os programadores escapem com suas idéias: crie uma especificação para sua idéia comercial que use uma estrutura de codificação adaptada ao tipo de estratégia que deseja desenvolver. Isso pode parecer difícil, mas quando você conhece todos os passos do bebê e como eles se encaixam, é bastante direto e divertido de gerenciar Se você gostou dessa resposta, por favor vote e siga. 1.9k Visualizações middot View Upvotes middot Não é para reprodução Embora este seja um tópico muito amplo com referências a algoritmos de construção, configuração de infra-estrutura, alocação de ativos e gerenciamento de riscos, mas vou focar apenas na primeira parte de como deve ser o trabalho na construção de nosso próprio algoritmo , E fazendo as coisas certas. 1. Estratégia de construção. Alguns dos principais pontos a serem observados aqui são: Catch Big Trends - Uma boa estratégia deve, em todos os casos, ganhar dinheiro quando o mercado está em tendência. Os mercados vão com uma boa tendência que dura apenas 15-20 do tempo, mas esse é o momento em que todos os gatos e cachorros (comerciantes de todo o time-frame, intradiário, diário, semanal, longo prazo) estão fora de compras e todos Tem um tema comum. Muitos comerciantes também criam estratégias de reversão médias em que eles tentam julgar as condições quando o preço se afastou da média e negociar contra a tendência, mas eles devem ser construídos quando você criou e negociou com sucesso uma boa tendência seguindo os sistemas . Probabilidades de empilhamento - Muitas vezes, as pessoas trabalham na tentativa de construir um sistema que tenha um excelente índice de sucesso, mas isso não é a abordagem certa. Por exemplo, um algo com um vencedor de 70 com um lucro médio de 100 por troca e perda média de 200 por comércio apenas fará 100 por 10 transações (10trade net). Mas um algo com um vencedor de 30 com lucro médio de 500 por troca 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 o índice de ganhos seja bom, e sim as chances de empilhamento, o que deve ser melhor. Isto diz dizendo quotKeep perdas pequenas, mas deixe seus vencedores executarem. Quando investir, o que é confortável raramente é lucrativo. - Robert Arnott Drawdown - Drawdown é inevitável, se você estiver seguindo qualquer tipo de estratégia. Então, ao projetar um algo don039t, tente reduzir a redução ou faça alguma condição personalizada específica para cuidar dessa redução. Esta condição específica pode, no futuro, funcionar como um bloqueio na captura de uma grande tendência e seu algo pode apresentar um desempenho fraco. Gerenciamento de Riscos - Ao construir uma estratégia, você sempre deve ter um portão de saída, o que o mercado opte por fazer. O mercado é um lugar de probabilidades e você deve projetar um algo para tirá-lo de um comércio o mais rápido possível, se isso não corresponder ao seu apetite de risco. Normalmente, argumenta-se que você deve arriscar 1-2 de capital em cada comércio e é otimizado de muitas maneiras, mesmo que você obtenha arnd 10 negociações falsas em sucessão, seu capital irá diminuir apenas 20. Mas isso não é o Caso no cenário de mercado real. Algumas negociações em perdas serão entre 0 a 1, enquanto algumas podem chegar a 3-4, por isso é melhor definir o valor médio de perda de capital por troca e o capital máximo que você pode perder em um comércio, pois os mercados são completamente aleatórios e podem ser julgados . QuotEvery de vez em quando, o mercado faz algo tão estúpido, tira o fôlego. Jim Cramer 2. Testando e otimizando um Slippage Estratégico. Quando estamos testando uma estratégia em dados históricos, estamos sob o pressuposto de que a ordem será executada no preço predefinido chegado pelo algo. Mas isso nunca será o caso, pois temos que lidar com os criadores de mercado e os algoritmos de HFT agora. Seu pedido no mundo de hoje039 nunca será executado no preço desejado, e haverá uma derrapagem. Isso deve ser incluído no teste. Impacto do mercado: o volume negociado pelo algo é outro fator importante a ser considerado enquanto faz back-testing e coletando resultados históricos. À medida que o volume aumenta, as encomendas feitas por algo terão um considerável impacto no mercado e o preço médio da ordem preenchida será muito diferente. O seu algo pode produzir resultados diferentes completos nas condições reais do mercado, se você não estudar a dinâmica do volume que seu algo possui. Otimização: a maioria dos comerciantes sugere que você não faça ajustes de curva e sobre otimização e eles são corretos, pois os mercados são uma função de variáveis aleatórias e nenhuma das duas situações será igual. Portanto, otimizar parâmetros para situações particulares é uma má idéia. Eu sugiro que você vá para a Otimização Zonal. É uma técnica que eu acompanho, compre zonas de identificação que tenham características semelhantes em termos de volatilidade e volume. Otimize essas áreas separadamente, ao invés de otimizar todo o período. Os itens acima são alguns dos passos mais básicos e mais importantes que eu acompanho, ao converter um pensamento básico em um algoritmo e verificando a validade do mesmo. Quase todos têm a força intelectual para seguir o mercado acionário. Se você conseguiu através da matemática de quinto grau, você pode fazê-lo. QuotPeter Lynch 16.4k Views middot View Upvotes middot Não é para reprodução Para começar com o básico, apague-se de Amibroker (AmiBroker - Download). Amibroker tem uma linguagem fácil de aprender e um poderoso mecanismo de backtest onde você pode prototipar suas idéias. Também obtenha o livro Howard Bandy 039s Quantitative Trading Systems. Este livro é uma introdução muito boa aos conceitos de desenvolvimento de quant. Você também precisa de pelo menos um conhecimento básico de estatísticas. Há uma abundância de bons cursos MOOC disponíveis para isso gratuitamente. Tal como este, Statistics One - Princeton University Coursera It039s também vale a pena seguir The Whole Street. Que é um mashup de todos os quant blogs, muitos dos quais publicam código Amibroker com suas idéias. A partir daí, vale a pena aprender Python (aprender python - Pesquisa do Google), e também fazer o excelente curso de Aprendizado de Máquinas Universitárias Stanford da Andrew Ng039, que é gratuito na Coursera. Se você quiser colocar seus próprios algoritmos no teste, bons sites para isso são Quantconnect ou Quantopian. Finalmente, esse cara tem alguns bons conselhos para transformá-lo em sua carreira. Quantstart. Boa sorte com a jornada. Tomada parcialmente da resposta de Alan Clement039s. Como pode um desenvolvedor de software em finanças se tornar um desenvolvedor quântico. 15.9k Vistas middot View Upvotes middot Não para reprodução O que é Sua revisão de Algorithmic Trading O que corretor posso usar para iniciar o comércio de papel meu algoritmo de forma gratuita Como faço para iniciar uma empresa de negociação algorítmica Devo construir um sistema de negociação algorítmica usando Julia ou Scala Como posso encontrar um mentor de negociação algorítmica Como posso construir Um sistema de roteamento de pedidos para uma plataforma de negociação algorítmica Como funcionam os algoritmos de negociação Pode uma única pessoa realmente se engajar de forma rentável na negociação algorítmica Tenho uma sólida compreensão de stocksderivatives amp têm habilidades em Python. Eu quero desenvolver um sistema de negociação algorítmica automatizado. Onde eu começo é Minance com base em negociação algorítmica
Eu tenho um intervalo de datas e uma medida em cada uma dessas datas. Eu gostaria de calcular uma média móvel exponencial para cada uma das datas. Alguém sabe como fazer isso, eu sou novo no python. Não parece que as médias estejam incorporadas na biblioteca padrão do Python, o que me parece um pouco estranho. Talvez eu não esteja olhando no lugar certo. Então, dado o código a seguir, como eu poderia calcular a média ponderada em movimento de pontos de QI para datas de calendário (provavelmente há uma maneira melhor de estruturar os dados, qualquer conselho seria apreciado), perguntou Jan 28 09 às 18:01 Meu python é um Um pouco enferrujado (qualquer pessoa pode se sentir livre para editar este código para fazer correções, se Ive estragou a sintaxe de alguma forma), mas aqui vai. Esta função move-se para trás, desde o final da lista até o início, calculando a média móvel exponencial para cada valor, trabalhando para trás até que o coeficiente de peso de um elemento seja menor que o dado...
Comments
Post a Comment