Construindo sistemas de negociação
Sistemas de Negociação: Construindo um Sistema de Negociação.
Agora você deve estar familiarizado com alguns elementos comuns que compõem um sistema de negociação, as vantagens e desvantagens de usá-los, alguns dos diferentes mercados e estratégias que podem ser usados para construí-los e os componentes básicos de um sistema de negociação.
Vamos agora ver como construir um sistema básico de negociação do zero. Embora esse sistema de negociação não seja otimizado para o lucro, você aprenderá como todos os diferentes componentes se encaixam para criar um sistema de negociação funcional.
Escolhendo um mercado, estratégia e Tecnologia.
Visaremos o mercado cambial (forex), já que os dados estão disponíveis gratuitamente na GainCapital e em outras fontes. Para a estratégia, estaremos empregando uma estratégia de crossover de média móvel muito básica, segundo a qual ficamos longos se uma média móvel de curto prazo cruzar acima de uma média móvel de longo prazo. E, finalmente, estaremos usando a linguagem de programação Python e as populares bibliotecas NumPy, pandas e matplotlib para ler os dados e executar a estratégia.
Vamos supor que você esteja familiarizado com a linguagem de programação Python e a tenha instalado corretamente em seu computador. Se você não for, visite o site do Python para obter recursos de aprendizado ou implemente a mesma funcionalidade em outros idiomas e plataformas.
Configurando o Script.
O primeiro passo é criar um arquivo, chamado ma_cross. py, que abrigará a estratégia. No arquivo, começaremos importando todas as bibliotecas que precisaremos.
import matplotlib. pyplot como plt.
import numpy como np.
importar pandas como pd.
de pandas. io. data import DataReader.
A biblioteca pandas inclui uma função "rolling_mean" que cria médias móveis com base no preço de compra ou venda para cada tick no mercado forex. Quando as médias móveis estiverem concluídas, construiremos uma série de sinais ao definir a coluna igual a 1,0 quando a média móvel curta for maior que a média móvel longa ou 0,0. Podemos então usar as `posições` para gerar sinais de negociação que podem ser enviados para outro lugar.
Escrevendo a estratégia.
A estratégia pode ser implementada em Python.
def __init __ (self, pair, ticks, short_window = 100, long_window = 400):
sinais ['short_ma'] = pd. rolling_mean (ticks ['ask'], self. short_window, min_periods = 1)
sinais ['long_ma'] = pd. rolling_mean (ticks ['ask'], self. long_window, min_periods = 1)
sinais ['signal'] [self. short_window:] = np. where (sinais ['short_ma'] [self. short_window:] & gt; sinais ['long_ma'] [self. short_window:], 1,0, 0,0)
Esse código gera uma série de sinais sempre que ocorre um cruzamento de média móvel, em que 1.0 sinaliza que uma ordem de compra está sendo feita.
Colocando o código para uso.
O próximo passo é pegar esse código e usá-lo em conjunto com uma estratégia de backtesting para ver como ele seria executado no passado.
A maioria dos traders prefere usar ferramentas de backtesting online, como o Quantopian, onde você pode fazer upload de código e ver automaticamente os resultados. Usando essas ferramentas, o backtesting é tão fácil quanto importar as bibliotecas do Quantopian para o Python e colar seu script. Em seguida, você pode executar um backtest completo usando datas simuladas, valores de conta e até mercados. Você pode ver retornos, alfa, beta, taxas de Sharpe e rebotes máximos para ter uma ideia de como a estratégia seria executada.
O próximo passo seria integrar a estratégia em um ambiente de negociação ao vivo. Muitas corretoras que oferecem negociações automatizadas incluirão APIs com as quais você pode interagir para fazer negócios. Por exemplo, o InteractiveBrokers tem uma API completa com bibliotecas para Python, Java e outras tecnologias. Usando essas bibliotecas, você pode facilmente transformar os sinais gerados em negociações que são executadas através da plataforma.
Na próxima seção, veremos algumas outras considerações importantes a serem lembradas.
Sistemas de Negociação: Diferentes Mercados e Tipos.
Agora você deve estar familiarizado com alguns elementos comuns que compõem um sistema de negociação, bem como as vantagens e desvantagens de usá-los. Vamos basear-nos nesse conhecimento nesta seção para examinar quais mercados são adequados para sistemas de negociação e, em seguida, examinar mais detalhadamente os diferentes gêneros de sistemas de negociação.
Quais mercados funcionam melhor?
Os sistemas de negociação funcionam melhor em mercados estatisticamente previsíveis, com altos níveis de liquidez e baixos custos. Enquanto muitos comerciantes estão cientes do primeiro requisito, relativamente poucos apreciam que os custos desempenham um papel importante no sucesso. Custos baixos - incluindo comissões, spreads e derrapagens - geram mais oportunidades e maiores lucros.
O mercado acionário é o mais conhecido entre os investidores de varejo familiarizados com empresas de primeira linha. Enquanto os preços de longo prazo são impulsionados por investidores institucionais, a ação de preço de curto prazo é dominada por negociações automatizadas e day traders.
Existem vários fatores importantes a serem lembrados:
Diversidade Existem muitos tipos diferentes de ações com características muito diferentes, desde ações blue-chip estáveis a ações voláteis no mercado de balcão. Isso gera muitas oportunidades para os comerciantes usando estratégias como arbitragem estatística. Comissões As comissões são relativamente baixas para a maioria das grandes ações, mas elas podem gerar rentabilidade ao longo do tempo. Os comerciantes devem estar cientes dos efeitos das comissões, desvios, spreads e outros fatores ao criar sistemas de negociação. Foco. Muitos sistemas de negociação de ações estão focados em parâmetros baseados em valor, como aqueles que identificam títulos subvalorizados em comparação com seu desempenho passado, seus pares ou o mercado em geral, bem como a arbitragem estatística.
O mercado de câmbio ou forex é o maior e mais líquido mercado do mundo. Entre governos, bancos e investidores institucionais, trilhões de dólares são negociados no mercado forex todos os dias, o que é uma grande atração para os comerciantes que usam sistemas de negociação.
Existem vários fatores importantes a serem lembrados:
Liquidez O mercado cambial tem maior liquidez do que qualquer outro mercado importante devido ao grande volume de transações. Isso torna o mercado muito atraente para os traders, já que eles podem facilmente escalar seus sistemas de negociação para quantias maiores em dólar. Custos Comerciantes forex não precisam pagar uma comissão, na maioria dos casos, mas há spreads a serem considerados. Os comerciantes devem considerar os spreads em vários pares de moedas e considerar negociar aqueles com spreads mais reduzidos para minimizar o custo. Opções limitadas. Há menos pares de moedas do que ações, o que significa que pode haver menos oportunidades para os operadores. Pares de moedas exóticas fornecem opções adicionais, mas eles tendem a ser muito mais arriscados do que os pares estabelecidos.
Os mercados de futuros são populares entre os traders devido aos seus altos níveis de liquidez e número de opções. Além disso, os mercados futuros permitem níveis mais altos de margem, ou alavancagem, do que muitos outros mercados, o que abre as portas para um maior potencial de ganhos.
Existem vários fatores importantes a serem lembrados:
Custos Os custos e spreads de comissão tendem a ser menores para os futuros do que para as ações, o que se traduz em maior lucratividade para os investidores que desenvolvem sistemas de negociação. Opções Existem mais contratos futuros do que pares de moedas, o que significa mais oportunidades para os traders, mas as ações ainda são as mais diversificadas. Alavancagem Alavancagem pode ser usada para amplificar ganhos, mas os comerciantes devem ter em mente que é uma faca de dois gumes que também pode amplificar as perdas.
Qual mercado é o melhor?
O melhor mercado depende do seu estilo de negociação e preferências individuais. Por exemplo, os comerciantes focados nos seguintes sistemas de tendência podem querer considerar o mercado forex, uma vez que ele tende a tender muito mais do que outros mercados; os interessados em alavancar análises fundamentais em seus sistemas de negociação podem estar limitados a ações; e aqueles que buscam a maior alavancagem podem querer considerar o mercado futuro.
Tipos de Sistemas de Negociação.
Existem muitos tipos diferentes de sistemas de negociação e decidir sobre o tipo certo de sistema depende muito das suas próprias preferências.
Sistemas de negociação de arbitragem estatística estão entre os mais populares entre os comerciantes quantitativos. Esses sistemas de negociação são frequentemente construídos usando linguagens de programação como MATLAB®, R ou Python e plataformas de alavancagem como Quantopian ou QuantConnect para gerenciar a atividade de negociação. Mas, eles podem ser tão simples quanto o Microsoft Excel com dados históricos ou tão complexos quanto um aplicativo personalizado que faz interface com trocas.
Os sistemas de negociação orientados por análises técnicas são populares entre os investidores de varejo que buscam automatizar suas estratégias existentes. Muitas vezes, esses sistemas de negociação são construídos usando software fornecido por corretores, como MetaTrader ou TradeStation. Essas plataformas têm suas próprias linguagens de programação proprietárias que podem ser usadas para construir estratégias, mas essas estratégias são geralmente limitadas a indicadores técnicos.
As estratégias técnicas podem ser divididas em duas categorias:
Sistemas de Acompanhamento de Tendências. Os sistemas de negociação técnica mais comuns utilizam métodos de acompanhamento de tendência. Em sua forma mais fundamental, esse sistema simplesmente espera por um movimento significativo de preços e depois compra ou vende nessa direção. A desvantagem desses sistemas de negociação é que a tomada de decisões empíricas é necessária, os indicadores de atraso são necessários, pode haver efeitos inesperados e os mercados laterais podem eliminar quaisquer oportunidades por um período prolongado de tempo. Sistemas de tendência contrária. Os sistemas de tendência de venda são projetados para comprar na mínima mais baixa e vender na máxima alta. A maior diferença entre os sistemas de tendência de contração e de tendência é que os sistemas de tendência contrária não são autocorretores. Em outras palavras, não há tempo definido para sair de posições e há um potencial de queda ilimitado.
Outros sistemas de negociação.
Existem também muitos outros tipos de sistemas de negociação focados em estratégias mais avançadas, como redes neurais ou aprendizado de máquina. Embora esses sistemas de negociação estejam além do escopo deste tutorial, há muitas novas tecnologias de software livre sendo desenvolvidas que democratizaram esses conceitos avançados, como o TensorFlow do Google. Mas as redes neurais e os aprendizados de máquina não são de forma alguma uma bala de prata para a lucratividade.
Na próxima seção, vamos dar uma olhada nos principais componentes de um sistema de negociação.
KJ Trading Systems.
CONSTRUIR ESTRATÉGIAS DE NEGOCIAÇÃO ALGORITÓMICA VENCEDORAS.
Aprenda o caminho certo para desenvolver estratégias de negociação algorítmica e estratégias de negociação de futuros que duram, ensinadas por um comerciante campeão verificado!
MEUS ÚLTIMOS WEBINARS LIVRES E ARTIGOS.
Chegando em março de 2018 e além.
Como os números 185 e 32 podem transformar sua negociação.
Melhores práticas para Algo Trading Por que a curva de capital é importante.
& # 8203; Olá! Meu nome é Kevin Davey. Eu sou um comerciante premiado em tempo integral, com mais de 25 anos de experiência comercial. Embora eu me lembre dos dias de telefonar para o seu corretor, grande parte da minha experiência nesses últimos anos é em estratégias de negociação de futuros. Se você está frustrado com o fraco desempenho comercial, posso ajudá-lo a melhorar sua negociação, usando as mesmas técnicas que funcionaram para mim!
Os depoimentos exibidos são verbais, exceto para a correção de erros gramaticais ou tipográficos. Alguns foram encurtados, o que significa; não é exibida toda a mensagem recebida pelo escritor de testemunho, quando parecia longa ou o testemunho na sua totalidade parecia irrelevante para o público em geral.
(c) Copyright - KJ Trading Systems. Todos os direitos reservados no mundo inteiro.
Construindo Sistemas de Negociação Algorítmica: A Jornada do Comerciante de Data Mining para Simulação de Monte Carlo para Live Trading, + Website.
Descrição.
Na construção de sistemas de negociação algorítmica: a jornada de um comerciante da mineração de dados à Simulação de Monte Carlo até o treinamento ao vivo, o galardoado trader Kevin Davey compartilha seus segredos para o desenvolvimento de sistemas comerciais que geram retornos de três dígitos. Com explicação e demonstração, Davey o orienta passo a passo em todo o processo de geração e validação de uma ideia, estabelecendo pontos de entrada e saída, testando sistemas e implementando-os em negociação ao vivo. Você encontrará regras concretas para aumentar ou diminuir a alocação de um sistema, e regras para quando abandonar um. O site complementar inclui o simulador Monte Carlo de Davey e outras ferramentas que lhe permitirão automatizar e testar suas próprias idéias comerciais.
Uma abordagem puramente discricionária à negociação geralmente se divide no longo prazo. Com dados de mercado e estatísticas facilmente disponíveis, os investidores estão cada vez mais optando por empregar um sistema de negociação automatizado ou algorítmico - o suficiente para que as negociações algorítmicas respondam agora pela maior parte do volume de negociações de ações. Construir Algorithmic Trading Systems ensina como desenvolver seus próprios sistemas com um olho para as flutuações do mercado e a impermanência do algoritmo mais eficaz.
Aprenda os sistemas que geraram retornos de três dígitos no Campeonato de Negociação da Copa do Mundo Desenvolva uma abordagem algorítmica para qualquer ideia de negociação usando software de prateleira ou plataformas populares Teste seu novo sistema usando dados de mercado históricos e atuais Dados de mercado de mina para tendências estatísticas pode formar a base de um novo sistema.
Os padrões de mercado mudam e os resultados do sistema também. O desempenho passado não é garantia de sucesso futuro, portanto, a chave é desenvolver continuamente novos sistemas e ajustar os sistemas estabelecidos em resposta às tendências estatísticas em evolução. Para os comerciantes individuais que procuram o próximo passo em frente, a Building Algorithmic Trading Systems fornece orientação especializada e conselhos práticos.
Sobre o autor.
KEVIN J. DAVEY é um operador profissional e um desenvolvedor de sistemas de alto desempenho. Ele gerou retornos anuais de três dígitos de 148%, 107% e 112% em três campeonatos consecutivos da Copa do Mundo de Futures Trading & # 174; usando sistemas de negociação algorítmica. Seu site, kjtradingsystems, fornece sistemas de negociação, sinais de negociação e orientação. Ele escreve extensivamente em publicações do setor, como Futures Magazine e Active Trader, e foi apresentado como "Market Master" no livro Os Princípios Universais do Comércio de Sucesso, de Brent Penfold (Wiley, 2010). Um engenheiro aeroespacial e MBA por experiência, Davey é um operador independente há mais de 20 anos. Davey continua a negociar em tempo integral e a desenvolver estratégias de negociação algorítmica.
Permissões.
Solicite permissão para reutilizar o conteúdo deste site.
Começando: Construindo um Sistema de Negociação Totalmente Automatizado.
Nos últimos 6 meses, tenho focado no processo de construção da pilha completa de tecnologia de um sistema de negociação automatizado. Eu me deparei com muitos desafios e aprendi muito sobre os dois métodos diferentes de backtesting (Vectorised e Event driven). Na minha jornada para construir um backtester orientado a eventos, veio a minha surpresa que o que você iria acabar é perto de toda a pilha de tecnologia necessária para construir uma estratégia, fazer backtest e executar a execução ao vivo.
Meu maior problema ao enfrentar o problema foi a falta de conhecimento. Procurei em muitos lugares uma introdução à construção da tecnologia ou um blog que me orientasse. Eu encontrei alguns recursos que vou compartilhar com vocês hoje.
Para iniciantes:
Para os leitores novatos em negociações quantitativas, eu recomendaria o livro de Ernie P. Chan intitulado: Negociação Quantitativa: Como construir seu próprio negócio de comércio algorítmico. Este livro é o básico. Na verdade, é o primeiro livro que li sobre negociação quantitativa e mesmo assim achei muito básico, mas há algumas notas que você deve 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-automatizadas e totalmente automatizadas.
Um sistema semi-automatizado é adequado se você quiser fazer algumas transações por semana. Ernie recomenda usar o Matlab, R ou até mesmo o Excel. Eu usei todas as 3 plataformas e este é o meu conselho:
Saltar do Matlab, custou muito dinheiro e só consegui acesso aos laboratórios da universidade. Não há muito material de treinamento como blogs ou livros que ensinem como codificar uma estratégia usando o Matlab. R tem toneladas de recursos que você pode utilizar para aprender como construir uma estratégia. Meu blog favorito cobrindo o tópico é: QuantStratTradeR é executado por Ilya Kipnis. É mais provável que o Microsoft Excel inicie onde você não tem experiência em programação. Você pode usar o Excel para negociações semi-automáticas, mas isso não vai funcionar quando se trata de construir a pilha completa de tecnologias.
Estrutura semiautomática pg 81.
Sistemas de negociação totalmente automatizados são para quando você deseja colocar automaticamente as negociações com base em um feed de dados ao vivo. Eu codifiquei o meu em C #, o QuantConnect também usa o C #, o QuantStart orienta o leitor através da construção em Python, o Quantopian usa o Python, o HFT provavelmente usará o C ++. Java também é popular.
Estrutura de negociação completamente automatizada página 84.
Passo 1: Conseguir um bom começo.
Faça o Programa Executivo em Algorithmic Trading oferecido pela QuantInsti. Acabei de começar o curso e o primeiro conjunto de palestras foi na arquitetura do sistema. Teria me poupado cerca de 3 meses de pesquisa se eu tivesse começado aqui. As palestras me acompanharam através de cada componente que eu precisaria, bem como uma descrição detalhada do que cada componente precisa fazer. Abaixo está uma captura de tela de um de seus slides usados na apresentação:
Você também pode usar essa estrutura geral ao avaliar outros sistemas de negociação automáticos.
No momento em que escrevo, estou apenas na terceira semana de palestras, mas estou confiante de que um praticante será capaz de construir uma estratégia comercial totalmente automatizada que poderia, com um pouco de refinamento, ser transformada no começo de um fundo de hedge 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.
Blog de Michael Hallsmore, quantstart & amp; livro “Negociação Algorítmica Bem Sucedida”
Este livro tem seções dedicadas à construção de um robusto backtester orientado a eventos. Ele orienta o leitor através de vários capítulos que explicarão sua escolha de idioma, os diferentes tipos de backtesting, a importância do backtesting orientado a eventos e como codificar o backtester.
Michael introduz o leitor às diferentes classes necessárias em um projeto orientado a objetos. Ele também ensina o leitor a construir um banco de dados mestre de títulos. É aqui que você verá como a arquitetura do sistema da QuantInsti se encaixa.
Nota: Você precisará comprar o livro dele: “Successful Algorithmic Trading”, seu blog deixa de fora muita informação.
Passo 3: Volte para o TuringFinance.
O programa EPAT Reading “Successful Algorithmic Trading” & amp; codificando um backtester em um idioma diferente de sua escolha.
Você deve ir para um blog chamado TuringFinance e ler o artigo intitulado "Algorithmic Trading System Architecture" Por: Stuart Gordon Reid. Em seu post 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 este post muito técnico e tem algumas ótimas idéias que você deve incorporar em sua própria arquitetura.
Uma captura de tela de seu post.
Etapa 4: Estude os sistemas de negociação de código aberto.
4.1) Quantopian.
Escusado será dizer que Quantopian deve ser adicionado a esta lista e tenho vergonha de dizer que não passei muito tempo usando sua plataforma (devido à minha escolha de idioma). Quantopian tem muitas vantagens, mas as que mais se destacam 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 amo como eles hospedam a QuantCon!
Quantopian é os líderes de mercado neste campo e é amado por todos os quants! Seu projeto de código aberto está sob o nome de código Zipline e isso é um pouco sobre isso:
“O Zipline é o nosso mecanismo de código aberto que alimenta o backtester no IDE. Você pode ver o repositório de código no Github e contribuir com solicitações de pull para o projeto. Há 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 o QuantConnect, eles fornecem um mecanismo completo de negociação algorítmica de código aberto. Aqui está um link.
Você deve dar uma olhada no código deles, estudá-lo, & amp; dê-lhes louvor. Eles são competição de quantopianos.
Eu gostaria de aproveitar esta oportunidade para agradecer à equipe da QuantConnect por me deixar escolher o cérebro deles e pelo serviço brilhante que eles oferecem.
Aqui está um link para sua documentação:
Observações finais:
Espero que este guia ajude os membros da comunidade. Eu gostaria de ter essa percepção 6 meses atrás quando comecei a codificar nosso sistema.
Eu gostaria de falar com a comunidade e perguntar: “Que bons cursos de negociação algorítmica você conhece?” Eu gostaria de escrever um post que analise o tópico e forneça uma classificação. Há alguma recomendação para criar um sistema de negociação totalmente automatizado que você gostaria de adicionar a este post?
Construindo Sistemas de Negociação & # 8211; parte 4 e # 8211; Técnicas de entrada e saída e otimização do sistema.
Este é o Scott Phillips. Estou assumindo o comando da Mole por uma semana, tentando transmitir o que sei sobre projeto de sistema e comércio para ganhar a vida.
Ontem, para recapitular, falamos sobre a escolha de uma vantagem baseada em uma propriedade conhecida de mercados com os quais você tem afinidade (todo mundo tem favoritos) e descobrir em quais tipos de mercado ela trabalha e quais tipos de mercado ela não possui. Se você não sabe quais tipos de mercado seu sistema funciona da melhor maneira que você pode esperar é um desempenho medíocre, que se resume a pequenas margens, longos drawdowns e sistemas não adequados para negociação a valores de R de 2% ou acima . Se você acha que sua vantagem é universal e funciona o tempo todo, você está sendo tolo. Os mercados são difíceis de superar porque mudam constantemente de formas fractais. Ao alinhar sua abordagem com o tipo de mercado atual, você não apenas aumenta sua vantagem geral, mas sua margem se torna REPETÍVEL e CONSISTENTE. Se há uma coisa que os profissionais em qualquer campo têm, é a repetibilidade e consistência. Qualquer golfista de fim de semana pode bater em um passarinho, mas Tiger Woods pode fazer a maior parte do tempo.
Algumas outras arestas que eu esqueci de mencionar.
As lacunas de abertura são uma vantagem As quebras são uma vantagem As quebras com falha são uma vantagem Implícita A volatilidade é uma vantagem O mercado interno é uma vantagem O TICK e o TRIN são uma vantagem O indicador Zero é uma vantagem Sequências de séries ininterruptas de altos e baixos são uma vantagem borda O fechamento consecutivo para cima / baixo é uma aresta (mas uma borda fina) A forma da vela mais recente é uma aresta.
Qual das seguintes duas bordas você acha instintivamente melhor?
Edge A Negociando uma fuga do Canal Donchian em um gráfico de 60 minutos? Edge B Negociando uma fuga do Canal Donchian em um gráfico de 60 minutos apenas na direção da maior tendência de tempo em que os gráficos de 240 minutos, diários e semanais estavam em tendência E onde a volatilidade, medida como largura de banda do bollinger, tinha a menor baixa em 100 barras no 10 bares anteriores?
Qual das duas bordas você acha que será mais consistente? Qual das duas bordas você acha que terá mais faixas de negociações vencedoras? Perdendo comércios? Qual dos dois sistemas você acha que é mais provável desmoronar se o tipo de mercado mudar?
Eu vejo muitas pessoas na seção de comentários defendendo seus sistemas existentes e propondo coisas aleatórias que eles lêem na internet. O que estou mostrando aqui são verdades fundamentais sobre os sistemas de mercado & # 8211; Nenhum deles, nenhum deles, funciona o tempo todo. Nenhum deles funciona da mesma maneira, ou tão bem em mercados de tendência ou laterais, ou mercados de baixa e alta volatilidade. Você pode fazer décadas de backtesting, e por causa da inclinação dos últimos 30 anos contendo principalmente movimentos de touro, você obterá resultados de backtest que não corresponderão à realidade dos testes futuros. Também estou mostrando algumas verdades fundamentais sobre mercados em geral e comércio.
Sistemas baseados em princípios reais de mercado são muito mais propensos a trabalhar e testar melhor quando o fazem do que aqueles que não são sistemas otimizados para um tipo de mercado específico produzem resultados de magnitude melhor do que “um tamanho serve para todos”. sistemas Se você tem um sistema que funcione, funcionará DRAMENTE MELHOR uma vez que você entenda em quais tipos de mercado ele não funciona! Você pode ter 10 ideias de sistema ruins antes de ter uma boa ideia de sistema. Portanto, é melhor testar de forma mínima para separar o trigo do joio. Você não deve usar indicadores baseados no preço para confirmar indicadores baseados em preço & # 8211; É como perguntar a sua mãe se você é bonita 😉
Eu vejo na seção de comentários do post anterior pessoas reclamando que os métodos de teste de alvos são arbitrários, e sim eles são e esses não são seus parâmetros de saída final. O método de "teste rápido" & # 8221; Eu defendo o teste preliminar de uma ideia permite que você gaste uma hora em vez de um mês para testar rapidamente uma ideia e decidir se vale a pena investigar melhor. Há muitos becos sem saída na construção de sistemas e, como a natureza humana é se apegar às nossas próprias idéias, não queremos deixá-las ir depois de passarmos um mês nelas. Suponhamos que você tenha uma ideia que acha que pode ser boa, testes preliminares confirmam isso, agora temos que entrar nas ervas daninhas e gastar muito tempo criando um sistema em torno dela. Isso não é trivial, levará no mínimo algumas semanas, por isso faz sentido fazer muitos testes rápidos em papel para separar as boas idéias das idéias inúteis antes de chegar a esse estágio. Mesmo que você seja um bom programador, eu defendo inicialmente testes de lápis e papel para tudo. Ele fornece uma compreensão mais profunda da margem nos estágios iniciais e permite que a intuição do seu mercado crie tempo para insights pertinentes. O backtesting é uma técnica útil, mas a maioria dos construtores de sistemas faz muito do mesmo. Dos meus dois sistemas que a Mole fornece. Ivan louco foi desenvolvido com backtesting extensivo. Heisenberg foi construído sem nenhum backtesting. Absolutamente nenhum. Zero. Objetivamente, em qualquer medida que você queira nomear, Heisenberg é o sistema superior.
Técnicas de Entrada & # 8211; Prós e contras.
Conceitualmente, você tem 4 opções.
Técnica de Entrada 1 & # 8211; Entrando em um Stop ou StopLimit quando o mercado se move a seu favor.
A vantagem de aguardar até que o mercado se mova a seu favor é que ele aumenta ligeiramente a borda antes de você entrar. Além disso, se você puder colocar seu ponto de entrada onde outros comerciantes colocam seu ponto de saída, você pode obter um pouco de impulso do outro. cara fazendo suas paradas correrem. Esta é uma boa escolha para os traders de índices gráficos de 5 min, também uma boa escolha para os comerciantes que negociam os mercados em alta. Um bom ponto sobre o uso dessa técnica é que, se você está entrando no intervalo de uma barra alta (para ir muito tempo) de uma barra, o lugar óbvio para colocar a parada é um pouco abaixo da barra baixa. Seu sistema se beneficiará de uma parada logicamente escolhida e não arbitrária (embora você possa querer adicionar uma distância mínima de parada, paradas anormalmente pequenas são estatisticamente passíveis de serem caçadas conforme o ruído do mercado sobrecarrega o sinal. Para negociação intradiária em gráficos de 60 min. que pára em torno de 1,5 vezes os 15min ATR (14) são ótimos e têm uma expectativa melhor (Obrigado ao meu amigo Frank Bormann por uma extensa pesquisa sobre isso.) Uma coisa que eu notei é que os mercados de FX da sessão asiática contêm substancialmente mais ruído e menos sinal, embora permanecendo muito negociável (a maior parte da minha negociação é o câmbio intradiário durante o horário de mercado australiano).Eu faço o meu pára vários pips mais durante a sessão asiática, para compensar o baixo volume e spreads maiores.
Esta técnica é totalmente inadequada para a negociação de mercados com limites de banda ou agitados, você receberá sua bunda para você. A desvantagem deste método é que você está entrando depois, negociando algum lucro para maior certeza.
Veja as folhas de dicas & # 8220; & # 8221; acima para mais detalhes.
Técnica Avançada (Ivan Krastins) & # 8211; Entrando no Break of a Candle que está confirmando sua visão.
Esta é uma técnica poderosa e útil para entrar em uma negociação e filtrar muitos negócios ruins. Qualquer vela de martelo (veja a folha de fraude acima) é uma tentativa fracassada de conduzir o mercado para baixo (e vice-versa com ele inverte a estrela cadente). Em um movimento de alta, é um princípio fundamental e demonstrável dos mercados que a maioria das tentativas de derrubar o mercado irá falhar. Toda vez que os ursos tentam derrubar o mercado, eles serão forçados a cobrir seus shorts em algum momento. Um número significativo deles cobrirá uma quebra da alta anterior, elevando ainda mais o preço. Especialmente depois de horas, ainda mais traders irão acordar para o próximo dia de negociação, encontrar suas posições movidas contra eles e cobrir em pânico, elevando os preços ainda mais. Essa técnica funciona em todos os prazos, mas é particularmente potente nos gráficos diários. Esteja ciente de que tem pouco valor * exceto * em duas situações. Em primeiro lugar, uma tendência forte (veja post anterior para idéias sobre como filtrar por tendências fortes, você pode procurar múltiplos prazos, SQN alto, médias móveis em alinhamento, acima de um MA de longo prazo, fazendo altos e baixos mais altos) e em segundo lugar , no suporte, por exemplo, no suporte ao bollinger ou no suporte da linha de tendência. Essa técnica é a base para um sistema que atualmente tenho em desenvolvimento e que até agora testa muito bem. Ivan também tem configurações baseadas nessa técnica chamada Trend Trade, que eu simplifiquei e modifiquei para o sistema CrazyIvan. Veja a folha de fraude acima para uma discussão completa.
Exemplo de como você pode construir um sistema em torno deste princípio.
Este não é um sistema atual meu, apenas uma idéia aleatória que eu tenho muita confiança de que funcionaria como um sistema. Espero que todos vocês estejam entendendo o conceito de que, por estar baseando meus sistemas em coisas que sei serem verdadeiras sobre os mercados, é muito mais provável que elas funcionem como sistemas. As pessoas que constroem sistemas baseados em backtests estão, em quase todos os casos, ajustadas à curva. É simplesmente mais fácil começar com a solução e trabalhar para trás!
Idéia: Nas tendências mais fortes e mais suaves, um EMA inicial vai agir como resistência. Eu passo algumas horas olhando várias tendências fortes & # 8221; com muitos EMA's na tela (6,8,10,12,14) anotando o SQN (medida da força da tendência) de cada um e procurando padrões. Eu estabeleço a média móvel exponencial de 9 como sendo um lugar comum para que os retraces parem em tendências bearish que são SQN (100) -.5 ou menos. Depois de olhar para os resultados preliminares, vejo que cerca de metade do tempo em que o meu limite funciona, por vezes para grandes vencedores, onde a minha paragem inicial nunca é tocada. Isso parece promissor e eu olho para as negociações perdedoras de minha pequena amostra de 50 negociações e volto e vejo a direção da tendência em prazos mais altos & # 8211; Observo um padrão em que metade dos negócios perdidos vem de tempos em que a tendência diária e os 60 minutos estão em direções opostas. Ao filtrar para que eu só faça negócios com múltiplos prazos alinhados, eu aumentei minha vantagem. Se você tem uma vantagem marginal, muitas vezes você pode mudá-la para & # 8220; aceitável & # 8221; território usando esta técnica.
Exemplo & # 8211; Bollinger Breakout.
Técnica de entrada 2 & # 8211; Entrando no mercado quando os parâmetros do seu sistema estão alinhados.
Como regra geral, eu não sou a favor dessa técnica, mas pessoas muito bem compostas e emocionalmente serenas podem achar que isso lhes convém. Minha experiência é que fico um pouco ansioso tentando obter o melhor preenchimento e é melhor para o meu estado emocional entrar no limite ou parar.
Técnica de Entrada 3 & # 8211; Entrando em uma ordem limite>
Como um princípio geral para os mercados laterais, entrar em uma ordem de limite é o ideal. Eu faço disso uma regra pessoal para nunca perseguir o mercado, e se minhas ordens de limite não forem preenchidas eu tento encontrar aceitação em torno disso. Perseguindo o mercado, mesmo com um ou dois ticks, com o tempo, você acaba com a sua conta.
Técnica de entrada 4 & # 8211; Entrando na barra perto.
Isso é particularmente bom para os comerciantes que desejam basear as entradas em gráficos diários e não no comércio diário.
Concluindo Pensamentos sobre Entradas.
Não fique muito envolvido em entradas. Em sistemas para mercados de limite de faixa inclina-se para entrar em um limite. Nos sistemas para mercados de tendência, você tem uma escolha que depende da sua personalidade. Se sua borda é superficial, você pode aumentá-la adicionando um requisito adicional para uma vela bonita ou um padrão de vela antes de entrar. Uma profunda compreensão da leitura de ação de preço no contexto pode ajudar aqui, e para isso eu recomendo a série de vídeos e livros de Al Brooks (embora não seja seu primeiro livro que é incrivelmente mal escrito e recuperado em sua série posterior de 3 volumes). Também Ivan Krastins, membro desta comunidade, tem muitos insights profundos sobre a natureza da ação do preço, e seu site vale a pena uma visita.
Chuck Lebeau Concept para testes preliminares de técnicas de entrada.
Esta não é uma técnica que eu uso pessoalmente, mas outros designers de sistemas que eu conheço usam isso para testar e filtrar rapidamente se uma dada técnica de entrada é inútil ou tem validade. Sua idéia é estimar o período que você deseja negociar e testar as saídas acionadas por tempo após resultados semelhantes. Por exemplo, se você tem um sistema onde a maioria das negociações duram de 1 a 4 barras (como, por exemplo, CrazyIvan), você pode querer testar saídas de Período1 Período2 Período3 Período4 e Período5. Uma borda forte deve estar em torno de 55% nesse estado bruto e não otimizado.
Técnica de saída & # 8211; A diferença entre profissionais e amadores.
Os amadores pensam em inscrições, os profissionais pensam em saídas. Os amadores estão sempre procurando uma melhor técnica de entrada. Os profissionais sabem que nada nos mercados fica realmente certo, e a maior diferença no desempenho do sistema está nas saídas.
A maioria dos métodos que são recomendados pelo & # 8220; experts & # 8221; são paradas muito largas, que devolvem muito lucro no final do negócio. É muito doloroso ver o lucro em uma negociação vitoriosa evaporar, e isso pode afetar o estado emocional da negociação daqui para frente. Muitos dos sistemas que seguem a tendência da velha escola usam 3 vezes a média real de 7 dias como uma parada e na minha opinião isso é muito grande.
Você tem grandes decisões a tomar.
Quão larga é a sua parada inicial? Em quanto tempo você move sua parada para breakeven ou perto de breakeven para proteger os lucros? Quando você financia lucros parciais, se é que e por quê? Quão solto você trilha uma parada? Você tira proveito de um alvo ou de uma trilha?
Todas essas decisões têm muitas partes móveis e muitas permutações. A maioria de nós fica confusa. Aqui está como eu pessoalmente respondo a essas perguntas.
1) Qual a largura da sua parada inicial? Eu faço o meu teste preliminar em uma parada baseada em ATR ou uma quebra da alta ou baixa da vela de configuração. Para períodos de tempo menores, onde há mais ruído: o teste inicial da razão de sinal de 1,5 vezes o ATR de 15 minutos é um bom local para começar. Para testar sistemas de escalpelamento em mercados altamente líquidos (think bonds e eminis), as saídas padrão para teste são 4 tick stop 4 tick profit e 4 tick stop 6 tick profit.
O que eu faço é medir a MFE (máxima excursão favorável) das minhas negociações vencedoras e plotar um histograma delas usando uma planilha (o google spreadsheets é bom). Eu uso o COMMON SENSE quando faço isso, por isso não é adequado para computadores e softwares. O que eu quero dizer é que vamos dizer que eu tenho um trade que faz 3R e depois puxa para breakeven e então dispara até 5R, no mundo real eu ainda não estaria nesse trade então eu contaria isso como um 3R MFE não um 5R.
Você quer medir 3 coisas.
Excursão Máxima Favorável de negociações vitoriosas definidas como negociações que fazem mais de 1R de Retrocesso Máximo como porcentagem de Retrocesso Máximo em R (usando o bom senso)
Adicione-os a uma planilha, classifique-os e plote como um histograma. Eu fiz isso com minhas negociações vencedoras das últimas 2 semanas como um exemplo aqui. Seu tamanho de amostra deve ser de pelo menos 50 negociações vencedoras para ser estatisticamente válido. Estes são os comércios vencedores dos 18 ofícios que eu pessoalmente assumi nas últimas 2 semanas.
Aponta para Nota:
Quanto mais sua vantagem for baseada em uma propriedade real dos mercados e se não for uma besteira estúpida, mais fácil será otimizar as saídas. Quanto mais se baseia em uma única propriedade de mercados e não em um conjunto de coisas que você tenta e usa o tempo todo, mais fácil será otimizar. Você pode ver muito claramente porque eu insisti em construir sua vantagem com base nas propriedades dos mercados, em vez de estatísticas mostrando que você tem uma vantagem baseada em backtesting. Bom suave fácil de otimizar curvas? Pegue? Esta é uma tendência simples seguindo o sistema baseado em uma quebra de volatilidade que eu troco todos os dias. Mesmo com um tamanho de amostra muito pequeno, é óbvio que este é um sistema real que se comporta de maneira repreensível e previsível. REPETÁVEIS E PREVISÍVEIS equivalem a números de qualidade de sistema mais altos. Olhar aleatoriamente, mas com uma vantagem geral, equivale a citar números de qualidade do sistema.
Aqui podemos ver que dos 11 vencedores 4 deles fizeram 1.2-1.5R. Nós também vemos o bom gradiente suave após 1.2R até 6R. Algumas coisas devem ser imediatamente óbvias. Otimizando minhas saídas para tentar pegar 5 e 6 vencedores R é obviamente abaixo do ideal para este sistema. No entanto, parece bastante razoável para tentar pegar um pedaço decente dos vencedores de 4R e acima, que acontecem cerca de 36% do tempo.
Uma outra coisa a notar: Podemos ver que a mediana (o meio) da faixa de negociações vencedoras é de aproximadamente 2,5R. Isso nos diz que a PARADA INICIAL É BOM BOM. Nossa negociação vencedora normal é de 2.5R, o que significa que temos uma relação risco / recompensa superior a 2: 1.
Vamos testar algumas saídas de limite arbitrárias. Se a nossa entrada tiver potencial, a maioria das saídas (com exceção dos extremos) ficará similarmente boa com pequenas variações. Este princípio é de Eckhardt e é muito útil. Se você tem um limite de saída no teste 1.5R extremamente bem, mas todo o resto de testes negativos ou marginais é lixo e precisa ser repensado.
O que é muito claro é que sair em um limite de 2,5R maximizaria o retorno R e, portanto, a expectativa sobre os 18 negócios. No entanto, isso é um enorme erro. Nós passamos de 11 de 18 vencedores (61%) a 7 de 18 vencedores a 38%. Como uma proposição geral, a taxa de ganho é a parte menos importante de um sistema de negociação, mas um sistema com 62% de perdedores terá que suportar uma enorme série de perdas e quedas drásticas, o que significa que não será adequado para negociação com valores R mais de 0,5%. Prefiro negociar sistemas de alta qualidade com rebaixamentos muito superficiais do que sistemas de merda com rebaixamentos longos e profundos. Então você deveria.
O efeito sobre a expectativa em diferentes saídas de limite é mostrado abaixo, assumindo que todas as perdas são -1R. Você deve ser capaz de obter o melhor resultado e melhorá-lo substancialmente por meio da otimização. A título de comparação, meus sistemas de produção, otimizados, testam na faixa de 3,7 em SQN (100). Aqui vemos que uma saída limite de 1,2R vai nos levar a uma expectativa de 29 e 3,17 de SQN (100). Isso não é ruim, na verdade muito bom. No sistema de produção, a otimização leva isso para Expectativa .5 e SQN (100) de 3,7. Portanto, esses números iniciais de saída de limite nos fornecem uma referência de desempenho de linha de base e nos informam onde está o ponto ideal para lucros parciais bancários.
Isso é extremamente importante. Preste atenção.
Como o ponto ideal em termos de SQN está saindo em um limite de 1,2R, podemos suavizar a curva de patrimônio e reduzir o desvio padrão por LUCROS BANCÁRIOS NO DOCUMENTO DOCE NA CURVA DE SAÍDA DO LIMITE DE SAÍDA. Isso é crítico e precisa ser absorvido. Você pode apostar 1/4 ou 1/2 da sua posição neste ponto ideal ou, mais importante, você sabe os diferentes números que você deve testar no seu teste direto. Você pode, então, voltar aos seus últimos negócios ou continuar testando uma nova série de negociações, usando uma planilha para trabalhar a diferença em diferentes estratégias de saída no SQN geral.
Todo sistema é diferente! Depois que eu entendi objetivamente como a minha entrada se comporta, agora posso usar minha planilha para jogar com várias combinações de saídas parciais e paradas seguidas em vários pontos, dependendo do que eu quero alcançar.
Sobrevivendo Retracements.
O retrocesso máximo que você pode aguentar tem que estar intimamente relacionado à sua personalidade e ao nível de trauma psicológico que você sofreu anteriormente em sua vida comercial. Pode ser matematicamente ideal permitir que um vencedor de 3.9R evapore em uma perda de -1R, mas, no mundo real, esses tipos de oscilações de patrimônio afetam sua capacidade de negociar com alta eficiência. Há aqueles que dizem "apenas se inscrevam e sigam suas regras" # 8221; mas invariavelmente, pessoas que são dogmáticas sobre essas coisas têm regras que bancam comparativamente cedo, quando é emocionalmente confortável fazê-lo. Se você vai filmar os grandes vencedores, há vantagens emocionais e técnicas para obter lucros ao longo do caminho.
Pergunta: Baseado neste histograma & # 8211; onde você acha que eu deveria bancar alguns lucros? Por quê?
Como regra geral, se você quiser pegar o suficiente dos grandes vencedores para justificar a otimização para pegar os vencedores (que por definição serão abaixo do ideal para pequenos vencedores), você deve estar preparado para suportar pelo menos 50% de retrocesso em alguns ponto. Por causa disso, há uma enorme vantagem em seguir os sistemas para entrar ANTES de um aumento na volatilidade, ao invés de negociações de quebra de sabedoria convencional que muitas vezes o colocam atrasado. A alternativa se você deseja construir sistemas de breakout (que são bons sistemas) é filtrar os breakouts apenas para os breakouts MAIS FORTES, que por definição acontecem após EXTREMES de baixa volatilidade.
Outro conceito fundamental de mercado é que é EXTREMAMENTE COMUM para os mercados fazerem backouts de breakouts. Se você está negociando qualquer sistema que esteja contando com a continuação da tendência após uma fuga, se você mudar sua parada para o ponto de equilíbrio muito cedo, será retirado o tempo suficiente para ter um efeito adverso no desempenho. Este é o exemplo perfeito do uso de princípios de mercado que todos sabemos que são comprovadamente corretos, ao invés de intermináveis ajustes no computador.
Preste Atenção & # 8211; Esta é a chave para projetar algoritmos de saída efetivos.
Nenhum tipo de parada vai lhe dar algo como um desempenho decente em geral. A coisa correta a fazer é escolher 4 ou 5 ou mais tipos diferentes de paradas e tê-los em uma corrida para tirar o seu comércio.
Limit Sair de um alvo em mercados laterais com resistência (bollinger, linha de tendência, perfil de mercado) Multiple Fecha fora da saída da banda bollinger (sugira que 2 ou 3 feche consecutivamente fora da saída do bollinger no fechamento) Time Based Stop & # 8211; Se o seu comércio não tiver feito 1R por x barras, saia do Chandelier Stop & # 8211; Pendure no preço mais alto já alcançado no comércio ATR Stop Spike Low Stop & # 8211; Isso é muito valioso para os mercados com tendência de alta Trailing Stop & # 8211; Em carrapatos, em R ou em múltiplos de ATR Sinal de Força ou Sinal de Fraqueza. Se você ficar muito tempo em uma fuga você não quer ver uma forte barra de baixo dentro de algumas barras de entrada. Modified Spike Low Stop (Parada Baixa de Spike Modificada) (dentro do MA) Contar apenas os pontos mais baixos que são profundos o suficiente para perfurar uma Média Móvel ou regressão linear que você gosta de Saída Reversa de Tendência & # 8211; Se você tem uma técnica favorita para indicar que uma nova tendência está começando na direção oposta, você pode usar isso como um sinal para sair de uma negociação. Isso é particularmente poderoso se você estiver em, por exemplo, um gráfico diário e tiver um sinal de 4 horas na direção oposta. Porcentagem do Parabolic SAR Stop Stop Parapolic Maximum Parapolic Stop & # 8211; Welles Wilder Projetou essa parada que fica mais e mais apertada com o passar do tempo Indicator Stop & # 8211; Uma das paradas mais eficazes para os mercados de tendência (aplicada em conjunto com outras paradas) é uma parada de largura de banda de bollinger.
Isso é tão importante que vou repeti-lo. É fundamental para a construção de sistemas.
Nenhuma parada atenderá a todas as suas necessidades. Você precisa de pelo menos 4 paradas diferentes e, potencialmente, muitas mais correm juntas.
Nota: Ter um sistema não é um pacto de suicídio! Você pode criar discrição limitada em suas regras. Por exemplo, uma das minhas próprias regras é que se a parada que eu estou planejando colocar estiver dentro de alguns tiques de um ponto alto ou pico baixo que provavelmente parará aí, então eu relaxarei minha parada com alguns tiques para que eu Não seja impedido por grandes jogadores que tentem parar. Outro exemplo de uma regra de discrição apropriada é adicionar 2 ticks extras à sua parada para negociação intraday na sessão asiática para contabilizar a maior relação ruído: sinal. Outro relaxamento apropriado pode ser colocar a sua parada atrás do suporte (qualquer suporte que se encaixe em suas crenças) para proteção extra.
Princípios Gerais de Saída.
A maioria das pessoas coloca suas paradas muito apertadas no início e no meio do comércio, e muito solta no final. Faça o oposto.
Depois de chegar a um ponto em seu comércio, onde o RISCO: Recompensa é 1: 1 ou pior, você deve sair. Isso é extremamente importante.
Você deve estar apertando suas paradas ou saindo em um limite à medida que você atinge R múltiplos altos onde o risco não vale mais a pena. No exemplo abaixo, é óbvio que o ponto 4R é onde eu deveria estar planejando começar a apertar minhas paradas e ficar feliz se eu for tirado do mercado.
Para que estou otimizando, afinal? Total R, Expectativa? SQN?
Existem muitas medidas diferentes de desempenho do sistema. Expectativa, Fator Clawback, Tempo em altas de equity, Dependência (% de tempo que uma vitória é seguida por uma vitória e vice-versa), duração média de rebaixamento, rebaixamento máximo.
Minha opinião é que as estatísticas a seguir me dizem tudo o que preciso saber.
Taxa de vitória (embora seja a coisa menos importante) Expectativa & # 8211; Total R / Número de Expectivas de Negociação (oportunidade x expectativa) de modo que .2 expectativa x 100 negócios por ano @ 1% R é esperado 20% ao ano Número de Qualidade do Sistema (100)
Nota sobre SQN & # 8211; calcular SQN como alguns sugerem usando a raiz quadrada do número de negociações dá um falso positivo para sistemas prolíficos, mas pobres. Limite o valor máximo para 100. Então, na verdade, a fórmula é.
10 x expectativa / desvio padrão.
Um SQN de 2 é um sistema negociável, mas médio, mas se os seus resultados preliminares de backtest estiverem nos 2s baixos por muitos motivos, os backtests não funcionam como realidade, você provavelmente precisará jogá-lo fora. A razão entre a expectativa e o desvio padrão é a chave aqui. Depois de entender o desvio padrão, você pode descobrir como otimizá-lo. Em vez de repetir, basta ir aqui.
Se você otimizar suas saídas para maximizar o SQN, terá rebaixamentos menores e será capaz de negociar seu sistema com valores de R mais altos, até 2,5%. Quando falamos em otimização para o SQN, estamos realmente falando sobre otimização para desvio padrão, já que a expectativa não muda muito. Entenda em um nível profundo e você pode melhorar seus sistemas dramaticamente.
Conclusão.
Para otimizar a tendência seguindo o sistema que descrevi acima, é óbvio que preciso de 3 saídas diferentes.
Комментарии
Отправить комментарий