Sunday, 8 April 2018

Estratégia de negociação sistemática


Estratégia de negociação sistemática
Os dez principais métodos de negociação sistemática.
por Michael R. Bryant.
Os métodos sistemáticos de negociação são a base para sistemas de negociação e estratégias de negociação automatizadas. Eles consistem em indicadores técnicos ou outros métodos matemáticos usados ​​para gerar sinais objetivos de compra e venda nos mercados financeiros. Alguns dos métodos mais populares estão em uso desde antes do advento dos computadores, enquanto outros métodos são mais recentes. Este artigo lista dez dos métodos sistemáticos mais populares encontrados em sistemas de negociação.
Movendo crossovers médios. Sistemas de negociação baseados no cruzamento de duas médias móveis de diferentes comprimentos é talvez o método de negociação sistemático mais comum. Este método também inclui crossovers médios móveis triplos, bem como o indicador de divergência de convergência da média móvel (MACD), que é a diferença entre duas médias móveis exponenciais. As médias móveis podem ser calculadas de várias maneiras, como simples, exponencial, ponderada, etc.
Quebras do canal. Nesse método, um canal de preço é definido pelo mais alto e o mais baixo mais baixo de um número anterior de barras. Uma negociação é sinalizada quando o mercado irrompe acima ou abaixo do canal. Isso também é conhecido como canal Donchian, que tradicionalmente usa um período de lookback de 20 dias. O famoso sistema de “tartaruga” foi supostamente baseado em fugas de canal.
Fugas de volatilidade. Estes são similares em alguns aspectos às fugas de canal exceto que em vez de usar o mais alto e mais baixo mais baixo, a fuga é baseada na assim chamada volatilidade. A volatilidade é tipicamente representada pelo intervalo médio verdadeiro (ATR), que é essencialmente uma média dos intervalos das barras, ajustada para intervalos de abertura, ao longo de um número passado de barras. O ATR é adicionado ou subtraído do preço atual da barra para determinar o preço inicial.
Suporte / Resistência Este método baseia-se na ideia de que, se o mercado estiver abaixo de um nível de resistência, terá dificuldade em ultrapassar esse preço, ao passo que, se estiver acima de um nível de suporte, terá dificuldade em ficar abaixo desse preço. É considerado significativo quando o mercado ultrapassa um nível de suporte ou resistência. Além disso, quando o mercado rompe um nível de resistência, esse preço se torna o novo nível de suporte. Da mesma forma, quando o mercado cai através de um nível de suporte, esse preço se torna o novo nível de resistência. Os níveis de suporte e resistência são tipicamente baseados em preços recentes e significativos, como altos e baixos recentes ou pontos de reversão.
Osciladores e ciclos Osciladores são indicadores técnicos que se movem dentro de um intervalo definido, como zero a 100, e representam a extensão em que o mercado está sobrecomprado ou sobrevendido. Os osciladores típicos incluem o stochastics, o Williams% R, o Rate of Change (ROC) e o Indicador de Força Relativa (RSI). Os osciladores também revelam a natureza cíclica dos mercados. Métodos mais diretos de análise de ciclo também são possíveis, como o cálculo do comprimento do ciclo dominante. O comprimento do ciclo pode ser usado como uma entrada para outros indicadores ou como parte de um método de previsão de preço.
Padrões de preço. Um padrão de preço pode ser tão simples quanto um preço de fechamento mais alto ou tão complicado quanto um padrão de cabeça e ombros. Numerosos livros foram escritos sobre o uso de padrões de preços na negociação. O tema das velas japonesas é essencialmente uma maneira de categorizar diferentes padrões de preço e vinculá-los ao comportamento do mercado.
Envelopes de preço. Neste método, as bandas são construídas acima e abaixo do mercado, de modo que o mercado normalmente permanece dentro das bandas. Bandas de Bollinger, que calculam a largura do envelope a partir do desvio padrão de preço, são provavelmente o tipo de envelope de preço mais comumente usado. Os sinais de negociação são normalmente gerados quando o mercado toca ou passa pela banda superior ou inferior.
Hora do dia / dia da semana. Os métodos de negociação baseados no tempo, baseados na hora do dia ou no dia da semana, são bastante comuns. Um sistema de negociação bem conhecido para os futuros do S & P 500 comprados em aberto às segundas-feiras e encerrado no fechamento. Aproveitou-se de uma tendência que o mercado tinha na época para negociar às segundas-feiras. Outras abordagens sistemáticas restringem os negócios a determinados momentos do dia que tendem a favorecer certos padrões, como tendências, reversões ou alta liquidez.
Volume. Muitos métodos sistemáticos de negociação são baseados unicamente em preços (aberto, alto, baixo e próximo). No entanto, o volume é um dos componentes básicos dos dados de mercado. Como tal, os métodos baseados no volume, embora menos comuns do que os métodos baseados no preço, são dignos de nota. Muitas vezes, os comerciantes usam o volume para confirmar ou validar uma mudança de mercado. Alguns dos métodos sistemáticos mais comuns baseados no volume são os indicadores baseados em volume, como o volume no balanço (OBV), a linha de acumulação / distribuição e o oscilador Chaiken.
Previsão. A previsão de mercado usa métodos matemáticos para prever o preço do mercado em algum momento no futuro. A previsão é qualitativamente diferente dos métodos listados acima, que são projetados para identificar tendências ou padrões de mercado comercializáveis. Em contraste, um sistema de negociação baseado na previsão pode, por exemplo, comprar o mercado hoje, se a previsão é de que o mercado seja maior a uma semana a partir de hoje.
Por favor, tenha em mente que esta lista é baseada na popularidade, o que não é necessariamente o mesmo que rentabilidade. Sistemas comerciais bem-sucedidos geralmente empregam uma combinação de métodos e muitas vezes de maneiras não convencionais. Além disso, é possível que outros métodos menos populares sejam mais lucrativos em alguns casos.
Se você gostaria de ser informado sobre novos desenvolvimentos, novidades e ofertas especiais da Adaptrade Software, por favor, junte-se à nossa lista de e-mail. Obrigado.

Estratégia de negociação sistemática
Negociação Sistemática: Benefícios e Riscos.
por Michael R. Bryant.
Negociação sistemática refere-se à compra e venda de instrumentos financeiros, como ações ou forex, usando uma estratégia de negociação predefinida chamada sistema de negociação. A maioria dos sistemas de negociação é codificada em uma linguagem de script que permite que eles sejam executados na plataforma de negociação de um corretor. A alternativa à negociação sistemática é chamada de negociação discricionária, na qual o negociador toma decisões de compra e venda numa base de comércio por negócio. Costuma-se dizer que o trabalho de um operador sistemático é seguir seu sistema, enquanto o operador discricionário pode alterar sua estratégia dependendo de como o mercado evolui.
Um dos benefícios mais significativos do comércio sistemático é que ele ajuda a remover decisões emocionais do processo de negociação. Quando o dinheiro real está em risco nos mercados, as emoções do medo e da ganância podem facilmente sobrecarregar a tomada de decisão racional. Isso pode ser mitigado em grande parte por ter uma estratégia de negociação que toma as decisões por você.
Outro benefício é que a maioria dos sistemas de negociação pode ser automatizada, o que significa que as ordens de compra e venda podem ser executadas automaticamente através da plataforma de negociação da sua corretora, enquanto o sistema é executado durante a negociação ao vivo. Isso resulta em uma execução mais rápida das ordens de negociação e reduz a probabilidade de que uma negociação possa ser perdida devido a questionamentos ou hesitação. A execução automatizada de pedidos também permite negociar estratégias com curtos períodos de tempo. Por exemplo, um sistema de negociação que funciona em barras de um minuto dos futuros do E-mini S & P 500 pode ser difícil de executar manualmente, mas pode funcionar bem se automatizado.
Como as estratégias de negociação sistemática são geralmente escritas em uma linguagem de script ou programação, elas geralmente podem ser testadas em dados históricos. Essa capacidade de fazer back-teste de uma estratégia de negociação é um dos maiores benefícios da negociação sistemática. O back-testing diz o quão bem a estratégia teria feito no passado. Embora o desempenho com backtesting não garanta resultados futuros, pode ser muito útil ao avaliar estratégias em potencial. Os resultados testados novamente podem ser usados ​​para eliminar estratégias que não se adequam ao seu estilo de negociação ou que provavelmente não atendem às suas metas de desempenho.
Traders iniciantes em trading sistemático questionam frequentemente se a abordagem sistemática pode ser lucrativa. Às vezes, acreditam que somente o investimento de compra e venda é lucrativo no longo prazo. A realidade é que traders profissionais, como os corretores de hedge funds e os chamados Commodity Trading Advisors (CTAs), vêm trocando o dinheiro de seus clientes com lucro por muitos anos, usando sistemas de negociação. Esses profissionais, cujos registros comerciais são auditados, demonstraram por décadas que a negociação sistemática pode ser lucrativa.
Apesar dos benefícios da negociação sistemática, também há riscos. O principal risco é selecionar um sistema de negociação mal projetado. Um sistema de negociação pode ser mal projetado por várias razões, incluindo o excesso de adequação ao mercado, sendo baseado em hipóteses irrealistas ou usando controles de risco inadequados. Se você optar por projetar seu próprio sistema, você precisa ter conhecimento de negociação no mercado, bem como técnicas de construção de estratégia. Se você decidir comprar um sistema, o principal desafio é avaliar possíveis estratégias e selecionar a melhor com base em suas preferências comerciais e metas de desempenho.
Supondo que você tenha escolhido um sistema de negociação viável, também há riscos durante a negociação ao vivo. Esses riscos incluem riscos relacionados à tecnologia e riscos de execução. Particularmente para negociação automatizada, a velocidade de sua conexão com a Internet pode ser um fator na execução de transações. Também é necessário saber como sua plataforma de negociação responderá se você perder a conectividade. Você será capaz de fazer um pedido de saída pelo telefone, se necessário, e o sistema manterá o controle adequado de suas posições quando ele voltar? Outro risco de execução é o escorregamento, que é a diferença entre o preço no qual uma ordem de negociação é colocada e o preço no qual o pedido é preenchido. A quantidade de slippage que você recebe pode depender do seu corretor e da plataforma do corretor, bem como do mercado e do prazo. Se você não assumir escorregamentos suficientes ao avaliar uma estratégia, poderá descobrir que os resultados de desempenho durante a negociação ao vivo estão abaixo de suas expectativas.
Por fim, nenhum sistema de negociação permanece lucrativo para sempre. Mesmo a melhor estratégia de negociação pode parar de funcionar se for baseada em alguma característica do mercado que muda. Às vezes, uma pequena modificação no sistema, como alterar um valor de entrada, pode restaurar seu desempenho. No entanto, mesmo que a estratégia seja fundamentalmente sólida, é sempre prudente acompanhar seu desempenho e estar preparado para interromper a negociação caso ela pare de funcionar.
Se você gostaria de ser informado sobre novos desenvolvimentos, novidades e ofertas especiais da Adaptrade Software, por favor, junte-se à nossa lista de e-mail. Obrigado.

Estratégia de negociação sistemática
Existem outros tipos de estratégia não cobertos pela reversão à média / tendências seguintes:
arbitragem - mantenha os ativos correlacionados próximos no preço (o índice SPX versus as 500 ações nele contidas, ou o comércio de ouro em Londres versus o comércio de ouro em Nova York)
fazer mercado - comprar em oferta, vender em perguntar, ganhar o spread.
desconto de liquidez - alguns venus pagam para colocar ordens de limite no livro. Coloque em uma ordem de limite para comprar, quando é batido tente vender ao mesmo preço que você comprou em (ou melhor) e ganhe o desconto. Funciona melhor em ativos de alto volume e baixo preço.
Negociação predatória - busque grande liquidez oculta no mercado e faça frente a ela.
negociação comportamental - quantifique o sentimento do mercado e negocie nele (analise tweets, determine o clima global / regional e use teorias psicológicas conhecidas para prever o efeito no comportamento do mercado)
negociação de eventos - analise notícias (eletrônica, papel, blogs, twits) e preveja o impacto no mercado de novos fatos relevantes (litígios, novos produtos, nova administração,.)

Backtesting Systematic Trading Strategies em Python: Considerações e Open Source Frameworks.
Backtesting Systematic Trading Strategies em Python: Considerações e Open Source Frameworks.
Neste artigo, Frank Smietana, um dos colaboradores convidados especializados da QuantStart, descreve o cenário de software de backtesting de código aberto Python e fornece conselhos sobre qual framework de backtesting é adequado para as necessidades de seu próprio projeto.
O backtesting é sem dúvida a parte mais crítica do processo de produção da SST (Estratégia de Negociação Sistemática), situada entre o desenvolvimento e a implementação da estratégia (negociação ao vivo). Se uma estratégia é falha, espera-se que um backtesting rigoroso exponha isso, impedindo que uma estratégia deficitária seja implantada.
Vários recursos relacionados se sobrepõem ao backtesting, incluindo simulação comercial e negociação ao vivo. O backtesting usa dados históricos para quantificar o desempenho do STS. Os simuladores de negociação levam o backtesting um passo adiante, visualizando o desencadeamento de negociações e o desempenho de preços em uma base barra a barra. A negociação simulada / ao vivo implanta um STS testado em tempo real: sinalizando negociações, gerando ordens, roteando ordens para corretoras e mantendo posições conforme as ordens são executadas.
A maioria dos frameworks vai além do backtesting para incluir alguns recursos de negociação ao vivo. Isso é conveniente se você quiser implantar a partir de sua estrutura de backtesting, que também funciona com seu corretor e fontes de dados preferidos. O Quantopian / Zipline dá um passo adiante, fornecendo uma solução totalmente integrada de desenvolvimento, backtesting e implementação.
A comunidade Python está bem atendida, com pelo menos seis estruturas de backtesting de código aberto disponíveis. Eles estão, no entanto, em vários estágios de desenvolvimento e documentação. Se você gosta de trabalhar em uma equipe criando uma estrutura de backtesting de código aberto, confira os repositórios do Github.
Antes de avaliar as estruturas de backtesting, vale a pena definir os requisitos do seu STS.
Qual (is) classe (s) de ativos você está negociando? Enquanto a maioria das estruturas suporta dados de Ações dos EUA via YahooFinance, se uma estratégia incorpora derivativos, ETFs ou títulos de EM, os dados precisam ser importados ou fornecidos pela estrutura. As coberturas de classes de ativos vão além dos dados. O framework pode lidar com futuros e opções de tamanho finito e gerar transações roll-over automaticamente? E quanto aos mercados sem liquidez, quão realista uma suposição deve ser feita ao executar grandes pedidos?
Qual freqüência de dados e detalhes seu STS é construído? Um sistema de negociação que exige cada tick ou lance / pedido tem um conjunto muito diferente de problemas de gerenciamento de dados que um intervalo de 5 minutos ou de hora em hora. Os fundos de hedge e as lojas HFT investiram significativamente na criação de estruturas de backtesting robustas e escalonáveis ​​para lidar com esse volume e frequência de dados. Algumas plataformas fornecem um conjunto rico e profundo de dados para várias classes de ativos, como ações da S & P, com resolução de um minuto.
Que tipo (s) de pedido exige o seu STS? No mínimo, limite, paradas e OCO devem ser suportados pelo framework.
Nível de suporte & amp; documentação necessária. Os frameworks de estágio inicial têm escassa documentação, poucos têm suporte além de conselhos comunitários.
Os componentes de um framework de backtesting.
Aquisição de dados e STS: Os componentes de aquisição consomem o arquivo de script / definição STS e fornecem os dados necessários para o teste. Se a estrutura exigir que qualquer STS seja recodificado antes do backtesting, a estrutura deverá suportar funções enlatadas para os indicadores técnicos mais populares para acelerar o teste de STS. Os usuários determinam quanto tempo um período histórico será backtest com base no que o framework fornece ou no que eles são capazes de importar.
O teste de desempenho aplica a lógica STS à janela de dados históricos solicitada e calcula uma ampla gama de riscos & amp; métricas de desempenho, incluindo redução máxima, taxas de Sharpe e Sortino. A maioria das estruturas suporta um número decente de recursos de visualização, incluindo curvas de equidade e estatísticas decifradas.
A otimização tende a exigir a maior parte dos recursos de computação no processo STS. Se o seu STS exigir otimização, concentre-se em uma estrutura que suporte o processamento distribuído / paralelo escalável.
No contexto de estratégias desenvolvidas usando indicadores técnicos, os desenvolvedores de sistemas tentam encontrar um conjunto ideal de parâmetros para cada indicador. Mais simplesmente, a otimização pode achar que um STS crossover médio de 6 e 10 dias acumulou mais lucro sobre os dados de teste históricos do que qualquer outra combinação de períodos de tempo entre 1 e 20. Já com este exemplo trivial, 20 * 20 = 400 combinações de parâmetros ser calculado & amp; classificado.
Em um contexto de portfólio, a otimização busca encontrar a ponderação ideal de todos os ativos do portfólio, incluindo instrumentos em curto e alavancados. Em uma base periódica, a carteira é reequilibrada, resultando na compra e venda de participações de carteira conforme necessário para alinhar com os pesos otimizados.
O dimensionamento de posição é um uso adicional de otimização, ajudando os desenvolvedores de sistemas a simular e analisar o impacto da alavancagem e o dimensionamento dinâmico da posição no STS e no desempenho do portfólio.
Seis Quadros de Backtesting para Python.
Os recursos padrão das plataformas de backtesting de Python de código aberto parecem incluir:
Evento orientado Licenciamento muito flexível e irrestrito Coleção decente de indicadores técnicos predefinidos Capacidades de cálculo / visualização / relatório de métricas de desempenho padrão.
PyAlgoTrade.
O PyAlgoTrade é uma estrutura de backtesting mutuamente documentada, juntamente com recursos de negociação em papel e ao vivo. O suporte de dados inclui o Yahoo! Finanças, Google Finance, NinjaTrader e qualquer tipo de série temporal baseada em CSV, como o Quandl. Tipos de pedidos suportados incluem Market, Limit, Stop e StopLimit.
O PyAlgoTrade suporta negociação Bitcoin via Bitstamp, e manipulação de eventos do Twitter em tempo real.
bt - Backtesting para Python.
bt “visa fomentar a criação de blocos facilmente testáveis, reutilizáveis ​​e flexíveis de lógica estratégica para facilitar o rápido desenvolvimento de estratégias de negociação complexas”.
A estrutura é particularmente adequada para testar o STS baseado em portfólio, com algos para ponderação de ativos e reequilíbrio de portfólio. Modificar uma estratégia para executar diferentes frequências de tempo ou pesos de ativos alternativos envolve um ajuste de código mínimo. bt é construído sobre o ffn - uma biblioteca de funções financeiras para Python.
Backtrader.
Essa plataforma é excepcionalmente bem documentada, com um blog de acompanhamento e uma comunidade on-line ativa para postar perguntas e solicitações de recursos. Backtrader suporta vários formatos de dados, incluindo arquivos CSV, Pandas DataFrames, iteradores de blaze e feeds de dados em tempo real de três corretores. Esses feeds de dados podem ser acessados ​​simultaneamente e podem até representar diferentes períodos de tempo. Corretores suportados incluem Oanda para negociação de FX e negociação de classe de múltiplos ativos via Interactive Brokers e Visual Chart.
pysystemtrade.
Rob Carver, desenvolvedor do pysystemtrade, tem um ótimo post discutindo por que ele se propôs a criar outro framework de backtesting em Python e os argumentos a favor e contra o desenvolvimento de frameworks. O framework de backtesting para o pysystemtrade é discutido no livro de Rob, "Systematic Trading".
O pysystemtrade lista vários recursos de roteiro, incluindo um testador completo completo que inclui técnicas de otimização e calibração e negociação de futuros totalmente automatizada com a Interactive Brokers. Contribuidores de código aberto são bem-vindos.
Zipline é um simulador de negociação algorítmica com capacidades de negociação em papel e ao vivo. Acessível através da interface IPython Notebook baseada em navegador, o Zipline fornece uma alternativa fácil de usar às ferramentas de linha de comando. Suportado e desenvolvido pela Quantopian, o Zipline pode ser usado como uma estrutura de backtesting autônoma ou como parte de um ambiente de desenvolvimento, teste e implementação de STS completo da Quantipian / Zipline. O Zipline fornece 10 anos de dados de estoque históricos americanos com resolução de minutos e várias opções de importação de dados.
O QSTrader é um framework de backtesting com recursos de negociação ao vivo. O Fundador da QuantStart, Michael Halls-Moore, lançou o QSTrader com o intuito de construir uma plataforma robusta e escalável o suficiente para atender às necessidades dos fundos institucionais de hedge, bem como aos traders quantificados de varejo. O QSTrader atualmente suporta dados de resolução "bar" do OHLCV em várias escalas de tempo, mas permite que dados de ticks sejam usados.
Ambos backtesting e live trading são completamente orientados a eventos, simplificando a transição de estratégias de pesquisa para testes e, finalmente, negociação ao vivo. A estratégia principal / código do portfólio é geralmente idêntica em ambas as implantações.
O principal benefício do QSTrader é a sua modularidade, permitindo uma ampla personalização de código para aqueles que possuem requisitos específicos de gerenciamento de risco ou portfólio.
Abraçando o Backtest.
É da natureza humana concentrar-se na recompensa de desenvolver um (esperançosamente lucrativo) STS, depois se apressar em implantar uma conta financiada (porque estamos esperançosos), sem gastar tempo e recursos suficientes para fazer um backtesting completo da estratégia. Mas o backtesting não é apenas um gatekeeper para nos impedir de implementar estratégias falhas e perder capital de negociação, ele também fornece uma série de diagnósticos que podem informar o processo de desenvolvimento do STS. Por exemplo, testar um STS idêntico em dois períodos de tempo diferentes, compreender o empate máximo de uma estratégia no contexto de correlações de ativos e criar portfólios mais inteligentes ao realizar backtesting de alocações de ativos em várias regiões geográficas.
Em posts futuros, cobriremos backtesting frameworks para ambientes não-Python, e o uso de várias técnicas de sampling como bootstrapping e jackknife para backtesting de modelos preditivos de trading.
A Quantcademy.
Participe do portal de associação da Quantcademy que atende à crescente comunidade de traders de quantificação de varejo e aprenda como aumentar a lucratividade de sua estratégia.
Negociação Algorítmica Bem Sucedida.
Como encontrar novas ideias de estratégia de negociação e avaliá-las objetivamente para o seu portfólio usando um mecanismo de backtesting personalizado no Python.
Comércio Algorítmico Avançado.
Como implementar estratégias de negociação avançadas usando análise de séries temporais, aprendizado de máquina e estatísticas Bayesianas com R e Python.

Idiotice de Investimento.
Negociação Sistemática, Finanças Quantitativas, Investimentos, Ativismo Financeiro, Tomada de decisão econômica.
Material de negociação sistemática.
Artigos ocasionais no meu próprio sistema de negociação.
Artigos gerais ocasionais sobre negociação sistemática.
Série: Usando dados aleatórios para projetar sistemas de negociação.
Série: Gerenciamento de risco sistemático.
Tecnologia.
Série: código Python usado no livro.
Series: Como fazer com que os APIs de API de python nativos interativos funcionem.
Obtendo dados históricos.
Obtendo dados de mercado em fluxo.
Série: Como obter API de corretores interativos e python via swigby 101.
Série: Um guia para as porcas e parafusos da implementação de um sistema sistemático de negociação de futuros.
Series: Pysystemtrade - meu mecanismo de backtesting de Python de código aberto.
Otimizando na presença de custos.
Correção de capital.
Docker e sistemas de negociação automatizados.
Outros artigos sobre tecnologia de negociação sistemática.
Docker e sistemas de negociação automatizados.
38 comentários:
oi Rob, seus sistemas estão disponíveis para compra, assinatura? Obrigado, Robin.
Não nunca. Há material suficiente no meu livro e neste site para reproduzir o sistema comercial que uso, gratuitamente.
Como sua estrutura lida com a inevitável perda de energia ou conexão com a Internet?
Por exemplo, talvez sua estrutura detecte uma condição que exija que um pedido seja feito, mas a energia seja interrompida ou a conexão com a Internet caia.
Oi Robert, ótima pergunta. Sim eu corro minhas coisas em casa & # 39 ;.
O FC escreveu esse comentário, que eu deletei acidentalmente:
A vantagem fiscal vale o problema de desenvolvimento, o risco de crédito e o pior spread bid-ask? & quot;
Não tenho um problema com as apostas propagadas, mas certamente é verdade que, se um futuro estivesse disponível nos mesmos termos (o mesmo tamanho de ticks), eu trocaria o futuro.
Excelente - já pedi seu livro. Aguardando entrega do editor.
Oi, Rob, eu li ótimas críticas sobre o seu livro e fui aconselhado por um amigo para dar uma olhada nele, no entanto, eu sou novato para negociação e investimento, você pode me aconselhar o que ler e aprender antes de começar a ler seu livro?
Essa é uma questão difícil, pois depende de em que nível você está e em que direção deseja entrar. Se você quiser negociar futuros, ler livros de Jack Schwagers seria um bom começo.
Grande livro. Eu queria que você soubesse que nos especializamos na execução de estratégias sistemáticas de negociação para clientes nos mercados de futuros e commodities. Oferecemos suporte a várias plataformas diferentes, incluindo TradeStation, TradingBlox, Mechanica, e fornecemos acesso a quase todos os produtos aprovados pela CFTC em todo o mundo. Se você conhece alguém que precisa de ajuda para colocar suas estratégias no mercado, podemos ajudar na execução e reconciliação e fazer um excelente trabalho (por mais de 20 anos).
em primeiro lugar, obrigado por escrever o livro, achei muito detalhado e útil.
Em seu livro, você menciona como é difícil superar os custos das apostas com spread. Para a maioria dos cidadãos da UE, os ganhos em apostas com spread são isentos de impostos. Isso é parte desse cálculo? Felicidades.
Não, eu não incluí imposto no cálculo. Mas as apostas de spread são cerca de 10 vezes mais caras do que os futuros de negociação. O imposto precisaria ser insanamente alto em futuros para tornar as apostas mais competitivas.
Ok, sim, isso é muito doente. Quando o novo livro está chegando?
Você já fez alguma gravação de chamada? Parece um bom ajuste para um sistema de negociação sistemático. Felicidades.
Eu não tenho, mas sim estratégias de volatilidade curta como esta são uma coisa boa.
Me deparei com seu site enquanto procurava por alguém que usa python para negociação. Felizmente eu encontrei você. Gostaria de agradecer pelas informações que você compartilha conosco.
Estou totalmente interessado em seu livro. No entanto, tenho uma dúvida sobre o conteúdo. Você explica uma estratégia que você usa para negociar futuros ou estratégias que podem ser empregadas? Porque eu nunca negocio futuros e gostaria de começar a negociar, aprendendo passo a passo a partir das diretrizes do seu livro, se for esse o caso. O que devo esperar do seu livro?
Desde já, obrigado.
Oi. Sim, explico algumas estratégias básicas para negociar futuros (também ETF's e spread bets). Mas eles já assumem alguma familiaridade com o futuro. Leia algo como amazon / Trading-Commodities-Financial-Futures-Step - / dp / 0134087186 / (primeiros quatro capítulos)
Depende do seu período de espera. Atualmente eu provavelmente atualizo demais (por hora), dado um período de espera de algumas semanas ou mais. Eu poderia facilmente atualizar tudo diariamente e, de fato, na próxima iteração do meu código, é o que planejo fazer.
Obrigado. Como minhas regras de negociação serão lentas, espero períodos de manutenção semelhantes. Uma taxa de atualização diária provavelmente será rápida o suficiente. No entanto, com várias trocas em vários fusos horários envolvidos, isso leva à pergunta: "o que é o fim do dia?" Talvez eu decida tomar uma ação no final do dia de negociação de cada troca envolvida.
Oi Rob, Acho que notei um erro na sua nova planilha de cálculo de transporte (docs. google/spreadsheets/d/1ipugeBCk_W-K4_9wnQmU6RfVvZoIRzFfKrw3ly-h8QA/edit? usp=sharing). A célula G22 tem: "= IF (AND (C22 & lt; 0, F22 & lt; 0, C22-F22), C22-F22, G21 & quot ;. Eu acho que você deve excluir o terceiro elemento no & quot; E & quot; função.
Fixo. Muito obrigado.
Fico feliz em ajudar, obrigado por todos os seus conselhos em resposta a todos os meus posts. Eu tenho negociado em papel o seu & quot; Capítulo 15 & quot; sistema por alguns dias agora. Poderia, por favor, confirmar o seguinte em relação à sua estratégia de carry: No dia 4 de novembro, o preço de fechamento do Eurodollar de dezembro de 2016 era 99,075, e o preço de fechamento do Jan 2017 Eurodollar era 99,070. Portanto, o sinal de negociação seria longo. Então, eu deveria ser o contrato de janeiro de 2017, correto? E se o spread fosse significativamente maior no contrato de janeiro de 2017? Estaria tudo bem em ir o contrato de dezembro de 2016? Haveria algum motivo para olhar para o contrato de janeiro a fevereiro de 2017, ou deveríamos estar sempre olhando os dois contratos mais próximos para determinar a previsão? Obrigado.
Qual contrato você deve negociar eu discuto mais aqui: qoppac. blogspot. co. uk/2015/05/systems-building-futures-rolling. html. Como medir carry eu discuto mais nos apêndices do meu livro.
Oi Rob, em seu livro, você menciona que é preferível medir futuros de ações usando o preço à vista. No entanto, no seu sistema python, para o EUROSTX, você usa o contrato adicional (que não é mantido) versus o contrato mais próximo (que, necessariamente, deve ser mantido). Uma segunda pergunta, se eu puder: você menciona em seu livro que você tem como alvo a volatilidade anual de 37,5% em seu próprio sistema futuro, mas o fundador do fundo reporta sua volatilidade anual em cerca de 8%. Você sabe por quê? Obrigado.
a) É preferível usar spot, mas eu pessoalmente não o faço por causa do incômodo de obter dados sincronizados.
Acabei de começar a operar o sistema do seu capítulo 15 usando seu código pysystemtrade terriffic. Por enquanto, tudo bem. Enquanto isso, eu estava interessado em um artigo recente que descrevia um sistema muito lucrativo e simples: se o preço do sp500 está acima de 200 sma, invista em 3x de alavancagem; Caso contrário, invista em Tbills. Eles receberam um CAGR de 27%, mas com um rebaixamento máximo de 92%, durante um backtest muito longo. Isso me fez pensar em adicionar um recurso de perda de tempo. Então, eu tenho backtesting um sistema semelhante com alavancagem de 4x, mas um stoploss de 4% que é redefinido diariamente. Eu devo estar fazendo algo errado no meu backtest, já que estou vendo cerca de 50% CAGR com apenas cerca de 50% de redução máxima. Isso foi backtested no emini de volta ao seu início em 1997. Eu então ampliei a alavancagem para 10X, com um stop loss de 1%, e estou vendo alguns retornos loucos, com rebaixamentos não razoáveis. Estou assumindo um custo de negociação de US $ 17 por contrato. Alguma ideia de onde um novato como eu está errado? Obrigado.
b) o seu backtest agora contém mais & # 39; & # 39; implícito & # 39; encaixe (experimentando diferentes variações de stoploss) o que provavelmente significa que sua taxa de sharpe é superestimada devido ao overfitting.
c) como um sistema único e demorado, os seus retornos são exagerados porque os retornos patrimoniais passados ​​e os retornos do faturamento são provavelmente muito menores no futuro (principalmente devido à menor inflação)
d) porque o SR realizável é provavelmente muito menor do que você pensa, executá-lo com alta alavancagem é extremamente perigoso.
e) esses tipos de sistemas (ações ou títulos do Tesouro) são tóxicos com alavancagem, pois têm baixo risco médio, mas alto risco de pico. Um choque de mercado quando você está 100% em ações e 10 vezes a alavancagem o matará antes que você possa sair da sua posição.
f) Com um stoploss de 1%, você estará negociando quase todos os dias com um período de detenção muito curto. Você precisa de dados intradiários e precisa testar o efeito de atrasar seus preenchimentos por uma hora. até um dia ou até vários dias (pense em outubro de 87 ou setembro de 2001). Você também precisa certificar-se de que seus custos de negociação estão no local. Qual% de sua conta está pagando em custos anualmente?
Obrigado pela sua resposta abrangente, Rob. Eu acho que meu erro principal foi assumir que meus stoplosses seriam preenchidos rapidamente com uma quantidade aceitável de derrapagem. Eu não percebi que eles poderiam ser adiados por várias horas ou dias.
É mais seguro assumir que você foi preenchido no mínimo do dia - cerca de 22%.
Robert, obrigado pela informação inestimável que você coletou e gastou o tempo para compartilhar.
Enquanto olha para o seu método para recuperar as informações de conta e posições do IB, uma de suas duas "& quot; Obtendo posições e informações contábeis & quot; links mostrados como quebrados.
O objetivo era verificar como seu código retorna de uma falha / falha (Python, sistema.) E tentar restaurar a posição antes da falha. Por exemplo. O código salva em uma posição de banco de dados e conta após cada negociação para recuperação de desastres e relatórios futuros?
Você pode me dizer em qual página o link está e o endereço para o qual ele está tentando se vincular.
Na negociação, vejo que a volatilidade do preço intradiário é mais do que o esperado pelo desvio padrão dos retornos diários. Eu acho que é porque apenas os preços de fechamento do dia são usados. E se eu obtiver volatilidade diária de maneira diferente, com base nos retornos, que são o movimento máximo de preço do fechamento anterior? Ou seja Eu uso High, Low do dia atual e Close do dia anterior e eu comparo abs (High / Close - 1) vs abs (Low / Close - 1) para aumentar, mas armazeno seu valor com sinal, não abs. Em seguida, EMA suavizando como de costume. Eu testei o método e, para os meus instrumentos, ele mostra uma volatilidade de cerca de 30% a mais do que o método original. Ele permite evitar grandes movimentos de capital intradiário, mas, não consigo entender, diminui os lucros ou não diminui, porque o capital usado para obter posições se torna menor.
Você não deve esperar que isso aumente ou diminua seus lucros, mas é verdade que adicionar mais informações (por exemplo, movimentos de preços durante o dia) deve fornecer uma previsão melhor de volatilidade; então, se você medir o volume esperado versus o realizado, provavelmente será um pouco melhor.

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.
O comércio algorítmico (negociação automatizada, negociação de caixa preta ou simplesmente negociação de algoritmos) é o processo de usar computadores programados para seguir um conjunto definido de instruções para fazer uma negociação, a fim de gerar lucros a uma velocidade e frequência impossíveis para uma negociação. comerciante humano. Os conjuntos de regras definidos são baseados em tempo, preço, quantidade ou qualquer modelo matemático. Para além das oportunidades de lucro para o comerciante, a negociação de algoritmos torna os mercados mais líquidos e torna o comércio mais sistemático ao excluir os impactos humanos emocionais nas atividades de negociação. (Para mais, confira Escolhendo o Software de Negociação Algorítmica Certo.)
Suponha que um comerciante siga estes critérios comerciais simples:
Compre 50 ações de uma ação quando a média móvel de 50 dias ultrapassar a média móvel de 200 dias. Venda ações da ação quando a média móvel de 50 dias ficar 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 monitore automaticamente o preço das ações (e os indicadores de média móvel) e coloque as ordens de compra e venda quando as condições definidas forem atendidas. O comerciante não precisa mais ficar de olho nos preços e gráficos ao vivo, ou colocar os pedidos manualmente. O sistema de negociação algorítmica faz isso automaticamente, identificando corretamente a oportunidade de negociação. (Para obter mais informações sobre médias móveis, consulte Médias móveis simples Faça as tendências se destacarem.)
[Se você quiser aprender mais sobre as estratégias comprovadas e no ponto que podem, eventualmente, ser trabalhadas em um sistema de negociação alorítimo, confira o curso Torne-se um Day Trader da Investopedia Academy. ]
Benefícios do comércio algorítmico.
Algo-trading fornece os seguintes benefícios:
Negociações executadas com os melhores preços Possibilidade de colocação imediata e imediata de ordens (com altas chances de execução nos níveis desejados) Negociações cronometradas correta e instantaneamente, para evitar mudanças significativas nos preços Redução dos custos de transação (veja o exemplo de déficit de implementação abaixo) Verificações automatizadas simultâneas em múltiplos condições de mercado Risco reduzido de erros manuais na colocação dos negócios Backtest o algoritmo, com base em dados históricos e em tempo real disponíveis Possibilidade de erros reduzidos por comerciantes humanos com base em fatores emocionais e psicológicos.
A maior parte da negociação de algoritmos atuais é a negociação de alta frequência (HFT), que tenta capitalizar a colocação de um grande número de pedidos em velocidades muito rápidas em vários mercados e vários parâmetros de decisão, 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).)
O comércio de algo é usado em muitas formas de atividades de negociação e investimento, incluindo:
Investidores de médio a longo prazo ou empresas compradoras (fundos de pensão, fundos mútuos, seguradoras) que compram em grandes quantidades, mas não querem influenciar os preços das ações com investimentos discretos e de grande volume. Comerciantes de curto prazo e participantes do lado da venda (formadores de mercado, especuladores e arbitradores) se beneficiam da execução automatizada do comércio; Além disso, o comércio de algo ajuda a criar liquidez suficiente para os vendedores no mercado. Comerciantes sistemáticos (seguidores de tendências, pares de traders, hedge funds, etc.) acham muito mais eficiente programar suas regras de negociação e permitir que o programa troque automaticamente.
O comércio algorítmico fornece uma abordagem mais sistemática ao comércio ativo do que métodos baseados na intuição ou instinto de um comerciante humano.
Estratégias de Negociação Algorítmica.
Qualquer estratégia para negociação algorítmica requer uma oportunidade identificada que seja lucrativa em termos de ganhos aprimorados ou redução de custos. A seguir estão as estratégias de negociação comuns usadas no comércio de algo:
As estratégias de negociação algorítmica mais comuns seguem as tendências de médias móveis, desvios de canal, movimentos de níveis de preços e indicadores técnicos relacionados. Essas são as estratégias mais fáceis e simples de implementar por meio do comércio algorítmico, porque essas estratégias não envolvem previsões nem 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 diretas de implementar por meio 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 estratégias de negociação de tendências, consulte: Estratégias simples para capitalizar tendências.)
Comprar uma ação com cotação dupla a um preço menor em um mercado e, simultaneamente, vendê-la a um preço mais alto em outro mercado oferece o diferencial de preço como lucro ou arbitragem isenta de risco. A mesma operação pode ser replicada para ações versus instrumentos futuros, já que os diferenciais de preço existem de tempos em tempos. Implementar um algoritmo para identificar esses diferenciais de preços e colocar as ordens permite oportunidades lucrativas de maneira eficiente.
Os fundos de índices definiram períodos de reequilíbrio para aproximar seus investimentos aos seus respectivos índices de referência. Isso cria oportunidades lucrativas para os traders algorítmicos, que capitalizam os negócios esperados que oferecem lucros de 20 a 80 pontos básicos, dependendo do número de ações no fundo de índice, imediatamente antes do rebalanceamento do fundo do índice. Tais 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 delta-neutral, que permitem negociar com combinação de opções e seu título subjacente, onde são feitas negociações para compensar deltas positivos e negativos, de modo que o delta do portfólio 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 ativo são um fenômeno temporário que revertem para seu valor médio periodicamente. Identificar e definir uma faixa de preço e implementar um algoritmo com base nisso permite que os negócios sejam colocados automaticamente quando o preço do ativo entra e sai de seu intervalo definido.
A estratégia de preço médio ponderado por volume divide uma ordem grande e libera pedaços menores da ordem para o mercado, determinados dinamicamente, usando perfis de volume histórico específicos do estoque. O objetivo é executar o pedido próximo ao Preço Médio Ponderado pelo Volume (VWAP), beneficiando, assim, no preço médio.
A estratégia de preço médio ponderada pelo tempo quebra uma ordem grande e libera dinamicamente pedaços menores da ordem para o mercado usando intervalos de tempo divididos uniformemente entre uma hora inicial e final. O objetivo é executar o pedido próximo ao preço médio entre os horários inicial e final, minimizando o impacto no mercado.
Até que a ordem de negociação esteja totalmente preenchida, este algoritmo continua enviando ordens parciais, de acordo com a taxa de participação definida e de acordo com o volume negociado nos mercados. A "estratégia de etapas" relacionada envia pedidos em 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 níveis definidos pelo usuário.
A estratégia de déficit de implementação visa minimizar o custo de execução de um pedido negociando o mercado em tempo real, economizando assim no custo do pedido e se beneficiando do custo de oportunidade de execução atrasada. A estratégia aumentará a taxa de participação visada quando o preço das ações se mover favoravelmente e diminuirá quando o preço das ações se mover negativamente.
Existem algumas classes especiais de algoritmos que tentam identificar “acontecimentos” do outro lado. Esses "algoritmos de farejamento", usados, por exemplo, por um criador de mercado do lado da venda, têm a inteligência incorporada para identificar a existência de quaisquer algoritmos no lado da compra de uma ordem grande. Essa detecção por meio de algoritmos ajudará o criador de mercado a identificar grandes oportunidades de pedidos e possibilitará que ele se beneficie com o preenchimento dos pedidos a um preço mais alto. Às vezes, isso é identificado como front-running de alta tecnologia. (Para mais informações sobre comércio de alta frequê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. Os seguintes são necessários:
Conhecimentos de programação de computadores para programar a estratégia de negociação necessária, programadores contratados ou software de negociação pré-fabricados. Conectividade de rede e acesso a plataformas de negociação para colocação de pedidos. Acesso a feeds de dados de mercado que serão monitorados pelo algoritmo para oportunidades de fazer pedidos. para backtest o sistema, uma vez construído, antes de ir viver em mercados reais Dados históricos disponíveis para backtesting, dependendo da complexidade das regras implementadas no algoritmo.
Aqui está um exemplo abrangente: A Royal Dutch Shell (RDS) está listada na Bolsa de Valores de Amsterdã (AEX) e na Bolsa de Valores de Londres (LSE). Vamos criar 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, seguida pelas duas bolsas negociadas simultaneamente pelas próximas horas e depois negociando apenas na LSE durante a última hora conforme a AEX fecha .
Podemos explorar a possibilidade de negociação de arbitragem sobre as ações da Royal Dutch Shell listadas nesses dois mercados em duas moedas diferentes?
Um programa de computador que pode ler os preços de mercado atuais Feeds de preços de LSE e AEX Um feed de taxa de câmbio para taxa de câmbio de GBP-EUR Capacidade de colocação de pedidos que pode encaminhar o pedido para a capacidade correta de troca.
O programa de computador deve executar o seguinte:
Leia o feed de preço recebido do estoque RDS de ambas as trocas 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 suficiente (descontando os custos de corretagem) levando a uma oportunidade lucrativa, coloque a compra ordem em troca de preço mais baixo e ordem de venda em troca de preço mais alto 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ê puder colocar uma negociação gerada por algoritmos, os outros participantes do mercado também poderão. Consequentemente, os preços flutuam em milissegundos e até microssegundos. No exemplo acima, o que acontece se a transação de compra for executada, mas o comércio de venda não é feito, pois os preços de venda mudam no momento em que seu pedido chega ao mercado? Você vai acabar sentado com uma posição aberta, fazendo com que sua estratégia de arbitragem seja inútil.
Existem riscos e desafios adicionais: por exemplo, riscos de falha do sistema, erros de conectividade de rede, atrasos entre ordens de negociação e execução e, o mais importante de tudo, algoritmos imperfeitos. Quanto mais complexo for um algoritmo, o backtesting mais rigoroso é necessário antes de ser colocado em ação.
The Bottom Line.
A análise quantitativa do desempenho de um algoritmo desempenha um papel importante e deve ser examinada criticamente. É emocionante usar a automação auxiliada por computadores com a noção de ganhar dinheiro sem esforço. Mas é preciso garantir que o sistema seja completamente testado e que os limites necessários sejam definidos. Comerciantes analíticos devem considerar aprender programação e construir sistemas por conta própria, para ter confiança em implementar as estratégias corretas de maneira infalível. Uso cauteloso e testes completos de negociação de algoritmos podem criar oportunidades lucrativas. (Para mais, veja Como codificar seu próprio robô de negociação da Algo.)

No comments:

Post a Comment