вторник, 1 мая 2018 г.

Como construir um sistema de comércio algorítmico


Como criar um sistema de comércio algorítmico
Título - Como construir um sistema de negociação algorítmica.
Negociação algorítmica em mercados simétricos.
Você perdeu o ponto de entrada e os horários de fechamento quando você está negociando?
As ferramentas de negociação automática podem ajudá-lo a executar sua estratégia comercial com o preço e a hora corretos. No entanto, o sistema de negociação algorítmica oferece mais benefícios do que um sistema automático. É por isso que não chamamos isso de sistema de troca automática, um sistema de negociação algorítmica está além de uma ferramenta de troca automática.
Este webinar fornece idéias básicas para iniciantes para construir um sistema de negociação algorítmica, além de entender as 3 habilidades básicas necessárias para esse tipo de sistema, os procedimentos impecáveis ​​por trás de um sistema comercial e como gerenciá-los.
O líder da equipe de negociação algorítmica no Blueprint Capital Ltd. Ele é PhD em Física Teórica e trabalhou como Analista Quantitativo / Trader em várias casas comerciais antes de se juntar à equipe.
"Desde que entrei no capital da Blueprint, nossa equipe ainda obteve alto percentual de retorno no mercado FX e Futuros. Estamos ansiosos para ampliar nosso sistema para outras classes de ativos. Ainda há muitas possibilidades e oportunidades na área. O comércio algorítmico já é um padrão, não uma tendência. '

Fundamentos do comércio algorítmico: conceitos e exemplos.
Um algoritmo é um conjunto específico de instruções claramente definidas destinadas a realizar uma tarefa ou processo.
O comércio algorítmico (negociação automatizada, negociação em caixa preta ou simplesmente algo-trading) é o processo de uso de 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. (Para mais, consulte Picking the Right Algorithmic Trading Software.)
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 excede 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 negociação algorítmica automaticamente faz isso para ele, identificando corretamente a oportunidade comercial. (Para mais informações sobre as médias móveis, consulte Médias móveis simples, faça as tendências se destacarem.)
[Se você quiser saber mais sobre as estratégias comprovadas e pontuais que podem eventualmente ser trabalhadas em um sistema de comércio alorítico, confira o Curso de Torneio de Dia de Torneio da Invastopedia Academy. ]
Benefícios da negociação algorítmica.
A Algo-trading oferece os seguintes benefícios:
Negociações executadas com os melhores preços Posicionamento instantâneo e preciso da ordem comercial (com altas chances de execução nos níveis desejados) Negociações cronometradas 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últiplos condições de mercado Reduziu o 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 a possibilidade de erros 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 múltiplos parâmetros de decisão, com base em instruções pré-programadas. (Para obter mais informações sobre o comércio de alta freqüência, consulte Estratégias e Segredos de Empresas de Negociação de Alta Freqüência (HFT).)
O Algo-trading é usado em muitas formas de atividades de comércio 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 adquirem ações em grandes quantidades, mas não querem influenciar os preços das ações com investimentos discretos e de grande porte. Os comerciantes de curto prazo e os participantes do lado da venda (fabricantes de mercado, especuladores e arbitragentes) se beneficiam da execução comercial automatizada; Além disso, ajudas de algo-trading na criação de 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 comerciais 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 na intuição ou instinto do comerciante humano.
Estratégias de negociação algorítmica.
Qualquer estratégia de 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 em médias móveis, fuga de canais, movimentos no nível 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. Os negócios são iniciados 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, consulte: Estratégias simples para capitalizar as tendências.)
Comprar um estoque cotado duplo 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 ou arbitragem sem risco. 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 do delta, que permitem a negociação de combinações de opções e sua segurança subjacente, onde os negócios são colocados para compensar deltas positivos e negativos, de modo que o portfólio delta seja mantido em zero.
A estratégia de reversão média baseia-se na ideia 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 pedaços menores determinados dinamicamente da ordem para o mercado usando perfis de volume histórico específicos de estoque. O objetivo é executar a ordem perto do preço médio ponderado do 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 o início e o fim do tempo. 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, este 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" relacionada envia ordens a uma porcentagem definida pelo usuário de volumes de 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 market maker market market 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 os pedidos a um preço mais alto. 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:
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 colocar pedidos A capacidade e infra-estrutura para voltar a 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 na Amsterdam Stock Exchange (AEX) e London Stock Exchange (LSE). Vamos construir um algoritmo para identificar oportunidades de arbitragem. Aqui estão algumas observações interessantes:
AEX negocia em Euros, enquanto a LSE negocia em libras esterlinas. Devido à 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 de negociar apenas na LSE durante a última hora à medida que o AEX fecha .
Podemos explorar a possibilidade de negociação de arbitragem nas ações da 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 feeds de preços de LSE e AEX A taxa de câmbio para a taxa de câmbio GBP-EUR Capacidade de colocação de pedidos que podem rotear a ordem para a troca correta do recurso Back-testing em feeds históricos de preços.
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, converta o preço de uma moeda para outra. Se houver uma discrepância de preço suficientemente grande (descontando os custos de corretagem) levando a uma oportunidade rentável, então coloque a compra ordem em troca de preços mais baixos e ordem de venda em troca de preços mais elevados Se as ordens forem executadas conforme desejado, o lucro de arbitragem seguirá.
Simples e fácil! No entanto, a prática de negociação algorítmica nã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 o comércio de vendas não acontece à medida que os preços de venda mudam quando o seu pedido atinge 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 de tudo, algoritmos imperfeitos. O algoritmo mais complexo é o backtesting mais rigoroso antes de ser posto em ação.
The Bottom Line.
A análise quantitativa do desempenho de um algoritmo desempenha um papel importante e deve ser examinada criticamente. É excitante 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 a aprendizagem de sistemas de programação e construção por conta própria, ter confiança em implementar as estratégias certas de forma infalível. O uso cauteloso eo teste completo de algo-trading podem criar oportunidades rentáveis. (Para mais informações, consulte Como codificar seu próprio robô Algo Trading.)

Como codificar seu próprio robô Algo Trading.
Já quis tornar-se um comerciante algorítmico com a capacidade de codificar seu próprio robô comercial? E ainda, você está frustrado com a quantidade de informações desorganizadas, enganosas e falsas promessas de prosperidade durante a noite? Bem, Lucas Liew, criador do curso de negociação algorítmica on-line AlgoTrading101, pode ter a solução para você. Tendo excelentes revisões e recebendo mais de 8.000 estudantes desde o primeiro lançamento em outubro de 2014, o curso de Liew - destinado a apresentar os fundamentos da negociação algorítmica de forma organizada - está sendo bastante popular. Ele é inflexível sobre o fato de que a negociação algorítmica é "não um esquema rápido e rápido". Com base em idéias de Liew e seu curso, delineadas abaixo estão os fundamentos do que é preciso para projetar, construir e manter seu próprio robô de negociação algorítmica .
O que é um Robô de Negociação Algorítmico.
No nível mais básico, um robô de negociação algorítmica é um código de computador que tem a capacidade de gerar e executar sinais de compra e venda nos mercados financeiros. Os principais componentes desse robô incluem regras de entrada que indicam quando comprar ou vender, regras de saída indicando quando fechar a posição atual e regras de dimensionamento de posição que definem as quantidades para comprar ou vender. (Para mais, veja: Noções básicas de negociação algorítmica: conceitos e exemplos.)
As principais ferramentas.
Obviamente, você vai precisar de um computador e uma conexão com a Internet. Depois disso, será necessário um sistema operacional Windows ou Mac para executar o MetaTrader 4 (MT4), uma plataforma de negociação eletrônica que usa o MetaQuotes Language 4 (MQL4) para codificar as estratégias de negociação. Embora o MT4 não seja o único software que se possa usar para construir um robô, ele possui uma série de benefícios significativos.
Enquanto a principal classe de ativos da MT4 é câmbio (FX), a plataforma pode ser usada para negociar ações, índices de ações, commodities e Bitcoins usando CFDs. Outros benefícios de usar o MT4 em oposição a outras plataformas incluem ser fácil de aprender, tem inúmeras fontes de dados FX disponíveis e é grátis. Infelizmente, o MT4 não permite a negociação direta em mercados de ações e futuros e a realização de análises estatísticas pode ser onerosa; no entanto, o MS Excel pode ser usado como uma ferramenta estatística suplementar.
Estratégias de negociação algorítmica.
É importante começar por refletir sobre alguns traços essenciais que toda estratégia de negociação algorítmica deve ter. A estratégia deve ser prudente no mercado em que é fundamentalmente sólida do ponto de vista do mercado e econômico. Além disso, o modelo matemático utilizado no desenvolvimento da estratégia deve basear-se em métodos estatísticos sólidos.
Em seguida, é crucial determinar quais informações o seu robô pretende capturar. Para ter uma estratégia automatizada, seu robô precisa ser capaz de capturar ineficiências de mercado identificáveis ​​e persistentes. As estratégias de negociação algorítmica seguem um conjunto rígido de regras que aproveitam o comportamento do mercado e, portanto, a ocorrência de uma ineficiência única do mercado não é suficiente para construir uma estratégia. Além disso, se a causa da ineficiência do mercado não for identificável, não haverá maneira de saber se o sucesso ou o fracasso da estratégia foi devido ao acaso ou não.
Com o acima em mente, existem vários tipos de estratégia para informar o design do seu robô de negociação algorítmica. Estes incluem estratégias que aproveitam (i) notícias macroeconômicas (por exemplo, mudanças na folha de pagamento ou na taxa de juros não agrícolas); (ii) análise fundamental (por exemplo, usando dados de receita ou notas de versão de resultados); (iii) análise estatística (por exemplo, correlação ou co-integração); (iv) análise técnica (por exemplo, médias móveis); (v) a microestrutura do mercado (por exemplo, infração de arbitragem ou comercial); ou (vi) qualquer combinação do acima. (Para leitura relacionada, veja: O que é a eficiência do mercado?)
Projetando e testando seu robô.
Existem essencialmente quatro etapas necessárias para construir e gerenciar um robô comercial:
Pesquisa preliminar: esta etapa se concentra no desenvolvimento de uma estratégia que se adapte às suas próprias características pessoais. Fatores como perfil de risco pessoal, compromisso de tempo e capital comercial são importantes para pensar quando desenvolver uma estratégia. Você pode então começar a identificar as persistentes ineficiências do mercado mencionadas acima. Tendo identificado uma ineficiência do mercado, você pode começar a codificar um robô comercial adequado às suas próprias características pessoais.
Backtesting: Esta etapa se concentra em validar seu robô comercial. Isso inclui verificar o código para se certificar de que está fazendo o que deseja e entender como ele se realiza em diferentes intervalos de tempo, aulas de ativos ou diferentes condições de mercado, especialmente em eventos tipo cisne preto, como a crise financeira global de 2008.
Otimização: Então, agora você codificou um robô que funciona e, nesta fase, você deseja maximizar seu desempenho ao mesmo tempo em que minimiza o viés de superposição. Para maximizar o desempenho, primeiro você precisa selecionar uma boa medida de desempenho que capture elementos de risco e recompensa, bem como consistência (por exemplo, taxa Sharpe). O desvio excessivo ocorre quando o robô está muito próximo com dados anteriores; Esse robô vai dar a ilusão de alto desempenho, mas como o futuro nunca se assemelha completamente ao passado, ele pode realmente falhar.
Execução ao vivo: agora você está pronto para começar a usar dinheiro real. No entanto, além de estar preparado para os altos e baixos emocionais que você pode experimentar, existem alguns problemas técnicos que precisam ser abordados. Essas questões incluem selecionar um intermediário apropriado e implementar mecanismos para gerenciar riscos de mercado e riscos operacionais, como potenciais hackers e tempo de inatividade tecnológico. Também é importante nesta etapa verificar se o desempenho do robô é semelhante ao experimentado na fase de teste. Finalmente, o monitoramento contínuo é necessário para garantir que a eficiência do mercado que o robô foi projetado ainda existe. (Para mais, consulte: Como os Algoritmos de Negociação foram Criados.)
The Bottom Line.
Considerando que Richard Dennis, o lendário comerciante de commodities, ensinou a um grupo de estudantes suas estratégias de negociação pessoal que, em seguida, ganhou mais de US $ 175 milhões em apenas cinco anos, é completamente possível que os comerciantes inexperientes sejam ensinados com um conjunto rigoroso de diretrizes e se tornem comerciantes bem-sucedidos. No entanto, este é um exemplo extraordinário e os iniciantes definitivamente devem se lembrar de ter expectativas modestas.
Para ser bem sucedido, é importante não apenas seguir um conjunto de diretrizes, mas também entender como essas diretrizes estão funcionando. Liew enfatiza que a parte mais importante da negociação algorítmica é "entender em que tipos de condições de mercado o seu robô funcionará e quando vai quebrar" e "entender quando intervir". O comércio algorítmico pode ser gratificante, mas a chave para o sucesso é compreensão. Qualquer curso ou professor que prometa altas recompensas com mínima compreensão deve ser um sinal de alerta importante.

Como construir sua própria estratégia de negociação algorítmica.
Estratégia de negociação algorítmica.
Toda semana, recebemos inúmeros e-mails nos perguntando como criamos nossa lucrativa estratégia de negociação algorítmica.
Em vez de tentar explicar nosso processo e raciocínio repetidamente através de e-mails e chamadas telefônicas, decidimos criar um vídeo detalhado sobre os 4 maiores obstáculos que os comerciantes ficam presos e como você pode construir sua própria estratégia de negociação algorítmica rentável.
Seu objetivo como comerciante é criar ou pelo menos usar uma estratégia de negociação vencedora. Não importa se você trocar manualmente, ou se é uma estratégia de negociação automatizada. Mas se você criar algo que ganha dinheiro, é natural que você se concentre em automatizá-lo para que você tenha sua própria estratégia de negociação algorítmica executando e trabalhando para você, enquanto você constrói sua próxima estratégia de negociação e # 8230;
Ao longo dos anos, eu gastei 10 milhares de dólares tentando descobrir quais são as chaves para uma estratégia comercial bem-sucedida. Eu quero compartilhar com você como eu crio estratégias de negociação algorítmicas lucrativas que funcionam em mercados em ascensão, queda e paralelos.
Como eu construí uma estratégia de negociação rentável e algorítmica; Como você também pode.
Deixe-me compartilhar com você minha jornada como comerciante na ordem em que as coisas me acontecem e como eu me tornei um usuário de estratégia de negociação algorítmica em tempo integral. Assista ao vídeo abaixo para obter detalhes e a oferta especial.
A Estratégia de Negociação Algorítmica atinge a Nova Marca de Água Alta de 30,7% ROI & # 8211; Comunicado de imprensa.
Compartilhe essa entrada.
Melhore sua negociação e aumente lucros.
A Technical Traders Ltd. ajuda você a identificar e tirar proveito de mais de sua negociação. Como? Ao fornecer-lhe configurações de comércio verificado e notificações em tempo real.
Chris Vermeulen em Benzinga PreMarket TV Show & # 8211; Negociação automatizada.
Algorithmic Trading Strategies Performance & # 038; Educação para investidores.

Negociação Algorítmica.
Desenvolva sistemas de negociação com MATLAB.
A negociação algorítmica é uma estratégia comercial que usa algoritmos computacionais para gerar decisões comerciais, geralmente nos mercados financeiros eletrônicos. Aplicado em instituições de compra e venda, a negociação algorítmica é a base da negociação de alta freqüência, da negociação FOREX e da análise de riscos e execução associada.
Construtores e usuários de aplicativos de negociação algorítmica precisam desenvolver, testar e implementar modelos matemáticos que detectem e explorem os movimentos do mercado. Um fluxo de trabalho efetivo envolve:
Desenvolvimento de estratégias de negociação, utilizando métodos temporais técnicos, métodos de aprendizagem mecânica e métodos de séries temporais não-lineares Aplicação de computação paralela e de GPU para teste de tempo eficiente e identificação de parâmetros Cálculo de lucro e perda e realização de análise de risco Execução de análise de execução, como modelagem de impacto de mercado, análise de custos de transações e detecção de iceberg Incorporando estratégias e análises em ambientes de negociação de produção.
Exemplos e como fazer.
Análise Walk-Forward: Usando MATLAB para Backtest Sua Estratégia de Negociação (35:15) - Webinar Começando com o Trading Toolbox, Parte 1: Conecte-se a Interactive Brokers (7:22) - Cointegration de Vídeo e Pairs Trading with Econometrics Toolbox (1:01 : 27) - Webinar Backtesting Estratégias de Negociação em Apenas 8 Linhas de Código (4:13) - Video CalPERS Analisa Dinâmicas de Mercado de Moedas para Identificar Oportunidades de Negociação Intraday - História do Usuário Negociação Quantitativa: Como Construir Seu Próprio Negócio de Negociação Algorímetro, por Ernest Chan - Book Algorithmic Trading Code e outros recursos - Arquivo de troca.
Referência de Software.
Funções da Caixa de Ferramentas de Negociação - Aplicação de Aprendizagem de Classificação de Documentação: Estatística e Ferramenta de Aprendizagem de Máquina Aplicação de movimentos: Gráfico de médias móveis e de atraso avançado - Caixa de ferramentas financeiras Função sharpe: Calcular taxa de Sharpe - Caixa de ferramentas financeiras Função gaoptimset: Criar estrutura de opções de algoritmo genético - Otimização global Toolbox Function Cointegration Testing - Econometria Toolbox Functions Neural Network Time Series Tool - Neural Network Toolbox Documentação.
Escolha o seu país.
Escolha o seu país para obter conteúdo traduzido, quando disponível, e veja eventos e ofertas locais. Com base na sua localização, recomendamos que você selecione:.
Você também pode selecionar um local da seguinte lista:
América Latina (Español) Canadá (Inglês) Estados Unidos (Inglês)
Bélgica (Inglês) Dinamarca (Inglês) Deutschland (Deutsch) España (Español) Finlândia (Inglês) França (Français) Irlanda (Inglês) Italia (Italiano) Luxemburgo (Inglês)
Holanda (Inglês) Noruega (Inglês) Österreich (Deutsch) Portugal (Inglês) Suécia (English) Suíça Deutsch English Français Reino Unido (Inglês)
Ásia-Pacífico.
Austrália (Inglês) Índia (Inglês) Nova Zelândia (Inglês) 中国 (简体 中文) 日本 (日本語) 한국 (한국어)
Explore produtos.
Experimente ou compre.
Aprenda a usar.
Obter Suporte.
Sobre o MathWorks.
Acelerando o ritmo da engenharia e da ciência.
MathWorks é o principal desenvolvedor de software de computação matemática para engenheiros e cientistas.

Começando: Construindo um Sistema de Negociação Totalmente Automatizado.
Nos últimos 6 meses, fiquei focado no processo de construção da pilha de tecnologia completa de um sistema de negociação automatizado. Eu encontrei muitos desafios e aprendi muito sobre os dois métodos diferentes de backtesting (Vectorizado e Evento conduzido). Na minha jornada de construção de um backtester dirigido por um evento, surpreendi que o que você acabasse fosse perto da pilha de tecnologia completa necessária para construir uma estratégia, testá-la e executar a execução ao vivo.
O meu maior problema ao abordar o problema foi a falta de conhecimento. Olhei em muitos lugares para uma introdução à construção da tecnologia ou um blog que me guiaria. Encontrei alguns recursos que vou compartilhar com você hoje.
Para iniciantes:
Para os leitores novos para negociação quantitativa, eu recomendaria o livro de Ernie P. Chan intitulado: Negociação Quantitativa: como construir seu próprio negócio de negociação algorítmica. Este livro é o básico. Na verdade, é o primeiro livro que eu li em negociação quantitativa e, mesmo assim, achei muito básico, mas há algumas notas que você deveria tomar.
Da página 81-84 Ernie escreve sobre como no nível de varejo uma arquitetura de sistema pode ser dividida em estratégias semi-automáticas e totalmente automatizadas.
Um sistema semi-automatizado é adequado se você deseja fazer alguns negócios por semana. Ernie recomenda o uso de Matlab, R ou mesmo do Excel. Utilizei todas as 3 plataformas e este é o meu conselho:
Saltei Matlab, custou muito dinheiro e eu só consegui acesso aos laboratórios universitários. Não há muito material de treinamento como blogs ou livros que irão ensinar-lhe como codificar uma estratégia usando o Matlab. R tem toneladas de recursos que você pode usar para aprender a construir uma estratégia. Meu blog favorito abordando o tópico é: QuantStratTradeR executado por Ilya Kipnis. O Microsoft Excel é provavelmente o local onde você iniciará se você não tiver experiência de programação. Você pode usar o Excel para negociação semi-automatizada, mas não vai fazer o truque quando se trata de construir a pilha de tecnologia completa.
Quadro semi-automático pg 81.
Sistemas de negociação totalmente automatizados são para quando você deseja colocar negócios automaticamente com base em um feed de dados ao vivo. Eu codifiquei o meu em C #, QuantConnect também usa C #, QuantStart anda pelo leitor através da construção dele em Python, Quantopian usa Python, HFT provavelmente usará C ++. Java também é popular.
Estrutura de negociação totalmente automatizada pg 84.
Passo 1: Obter uma vantagem.
Faça o Programa Executivo em Negociação Algorítmica oferecido pela QuantInsti. Acabei de começar o curso e o primeiro conjunto de palestras foi na arquitetura do sistema. Isso me salvaria cerca de 3 meses de pesquisa se eu tivesse começado aqui. As palestras me acompanharam por cada componente que eu precisaria, bem como uma descrição detalhada do que cada componente precisa fazer. Abaixo está uma captura de tela de uma das suas lâminas utilizadas na apresentação:
Você também pode usar esse quadro geral ao avaliar outros sistemas de negociação automática.
No momento da escrita, estou apenas na terceira semana de palestras, mas estou confiante de que um profissional poderá construir uma estratégia de negociação totalmente automatizada que, com um pouco de polonês, possa ser transformada em um hedge fund quantitativo .
Nota: o curso não está focado na construção da pilha de tecnologia.
Etapa 2: codifique um backtester baseado em eventos básicos.
O blog de Michael Hallsmore e o quantstart & amp; livro "Negociação Algorítmica de Sucesso"
Este livro possui seções dedicadas à construção de um backtester dirigido por eventos robustos. Ele dirige o leitor através de uma série de capítulos que irão explicar sua escolha de linguagem, os diferentes tipos de backtesting, a importância do backtesting dirigido a eventos e como codificar o backtester.
Michael apresenta o leitor às diferentes classes necessárias em um design orientado a objetos. Ele também ensina o leitor a construir um banco de dados mestre de valores mobiliários. É aqui que você verá como a arquitetura do sistema da QuantInsti se encaixa.
Nota: Você precisará comprar seu livro: "Successful Algorithmic Trading", seu blog deixa para fora muita informação.
Passo 3: Vire a TuringFinance.
O programa EPAT Leitura "Successful Algorithmic Trading" & amp; codificando um backtester em um idioma diferente da sua escolha.
Você deve se mudar para um blog chamado TuringFinance e ler o artigo intitulado "Algorithmic Trading System Architecture" Por: Stuart Gordon Reid. Em sua publicação, ele descreve a arquitetura seguindo as diretrizes dos padrões ISO / IEC / IEEE 42010 e padrão de descrição de arquitetura de engenharia de software.
Eu achei esta publicação muito técnica e tem algumas ótimas idéias que você deve incorporar na sua própria arquitetura.
Uma captura de tela de sua postagem.
Passo 4: Estudar sistemas de comércio aberto.
4.1) Quantopian.
Escusado será dizer que Quantopian deve ser adicionado a esta lista e estou com vergonha de dizer que não passei muito tempo usando sua plataforma (devido à minha escolha de linguagem). Quantopian tem muitas vantagens, mas as que melhoram para mim são as seguintes:
Fácil de aprender Python Acesso gratuito a muitos conjuntos de dados Uma grande comunidade e competições Eu adoro como eles hospedam QuantCon!
Quantopian é líder de mercado neste campo e é amado por quants por toda parte! Seu projeto de código aberto está sob o nome de código Zipline e isso é um pouco sobre isso:
"Zipline é o nosso motor de código aberto que alimenta o backtester no IDE. Você pode ver o repositório de códigos no Github e contribuir com solicitações de envio para o projeto. Existe um grupo do Google disponível para procurar ajuda e facilitar discussões ".
Aqui está um link para sua documentação:
4.2) QuantConnect.
Para aqueles que não estão familiarizados com a QuantConnect, eles fornecem um mecanismo de troca algorítmica de código aberto completo. Aqui está um link.
Você deve dar uma olhada em seu código, estudá-lo, & amp; dar-lhes elogios. Eles são competição de Quantopians.
Gostaria de aproveitar esta oportunidade para agradecer a equipe da QuantConnect por me deixar escolher seu cérebro e pelo brilhante serviço que eles fornecem.
Aqui está um link para sua documentação:
Observações finais:
Espero que este guia ajude os membros da comunidade. Eu queria ter essa visão 6 meses atrás, quando comecei a codificar nosso sistema.
Gostaria de chegar à comunidade e perguntar: "Quais bons cursos de negociação algorítmica você conhece?" Eu gostaria de escrever uma publicação que analisa o tópico e fornece uma classificação. Existem recomendações para a construção de um sistema de negociação totalmente automatizado que você gostaria de adicionar a esta publicação?
Compartilhar isso:
Compartilhe essa entrada.
Você pode gostar também.
Bom artigo. Eu gostaria de ter tido cerca de 6 meses atrás. Eu uso QuantConnect porque sou um programador C #. Achei muito conveniente poder fazer o download do teste Lean e back test localmente. Rummaging através do seu código também é valioso. Além disso, eles cortaram um acordo com a Trader por negócios de US $ 1. Isso ajuda muito. Não sou tão saliente sobre spreads e execução da Trader. O IB pode ser melhor para isso.
Vou dar uma olhada no curso que você mencionou.
Você não mencionou a Quantocracy ou RBloggers. Ambos são recursos muito valiosos.
O que você usa para traçar resultados de testes de volta? Eu logro os valores do OHLC e do indicador para csv do evento OnData e estou realmente cansado de usar o Excel para traçar os resultados. Gostaria de apontar um pacote de gráficos para um arquivo de dados e simplesmente ir.
Você ainda possui um fornecedor de caixas de seleção?
Tenho um pensamento sobre os sistemas dirigidos a eventos. O problema com os eventos é que eles são assíncronos e latentes. Parece que eles são inevitáveis ​​assim que você obtém uma corretora envolvida, então eu tenho sonhado com um sistema de streaming mais seguindo os princípios da programação funcional.
& # 8211; Injeste um fluxo de tiquetaque ou barra.
& # 8211; Execute-o através de um processo de cálculo de indicadores, execução de análise ou ML, e assim por diante.
& # 8211; Retornar um sinal.
& # 8211; Envie-o para o corretor para executar.
Em seguida, em um fluxo separado.
& # 8211; Receba uma resposta do corretor.
O problema, é claro, é o estado. Tenho margem suficiente para fazer o comércio? O que está no meu portfólio? Como está funcionando? Normalmente, o corretor api pode ser consultado para descobrir essas coisas, mas leva tempo e é assíncrono. Eu também estou olhando extensões Rx. Dessa forma, o sistema pode reagir às mudanças no sistema através do padrão observável.
Os eventos são ótimos para cliques no mouse. Não é tão bom para processamento transacional de alto volume.
Esta é exatamente a abordagem que tomei com minhas próprias coisas. Essencialmente, eu tenho um & # 8216; normal & # 8217; programa que envolve uma pequena parte que é conduzida a eventos para falar com o corretor (IB API). Agora, para o problema do estado. Você tem duas escolhas; obter o estado do corretor, ou armazená-lo internamente, atualizando-o quando você receber um preenchimento. Isso significa que há momentos em que você não conhece seu estado ou quando as duas fontes de estado estão potencialmente em conflito (dados ruins ou atrasos). Parte disso depende da rapidez com que você troca. A menos que você esteja negociando com muita rapidez, então, pausando se você tiver um conflito de estado, ou você está incerto de estado, é melhor do que prosseguir sem saber o seu estado. Eu uso um banco de dados & # 8216; lock & # 8217; paradigma para lidar com isso.
Quanto a quase tudo o que você pediu, você está perto da resposta em Reactive Extension (Rx).
Com Rx indo de tiques para velas é trivial.
Passar de Velas para Indicadores é trivial.
Indicadores de composição de outros indicadores é trivial.
Escrever Posições de Indicadores é trivial.
Composição de Portfolios (como realizada ao longo do tempo) das Posições é trivial.
Simular o modelo de risco é trivial.
Back testing ou trading live é simplesmente decidir entre uma transmissão ao vivo de dados ou uma repetição simulada de dados do banco de dados.
Executar é trivial.
A implementação é possível em tudo, desde C # até F # para JavaScript para C ++ em código quase idêntico.
A otimização é feita rapidamente porque o Rx puramente funcional é massivamente paralisável ao GPU.
É certo que a otimização e a alimentação do efeito da otimização contínua de volta ao teste de back-back não é trivial, mas dado que não é trivial de qualquer maneira, eu irei deixar esse slide 😉
Puramente funcional (ou perto dela) A Rx é, na minha opinião, a única maneira de abordar a infraestrutura desse problema.
Conheço o sistema que quero negociar. Eu não quero programar ou aprender algo que alguém já conhece. Então, quem posso contratar para levar o sistema que eu quero usar e automatizá-lo. Por automatizar isso, quero dizer, eu não quero olhar para ele. Eu vou olhar os resultados uma vez por semana e os negócios serão executados sem a minha atenção. Parece estranho para mim que, em 2016, tanto esforço precisa seguir um conjunto de regras e ter essas regras executadas no meu corretor.
Eu sugeriria inscrever-se com o Quantopian e depois encontrar alguém dentro da comunidade lá para construir a estratégia para você. Eles serão capazes de construí-lo para você dentro da plataforma IB Brokers e ser totalmente automatizado.
Deixe-me dizer, porém, que acho que você deve monitorá-lo de perto, e não apenas "esqueça-o para" # 8221 ;.

Комментариев нет:

Отправить комментарий