Construa uma Lógica Algorítmica Simples
Transformar regras em lógica
A conversão de ideia para lógica é sobretudo um exercício de remover palavras que não podem ser verificadas.
"Entrar quando o mercado parece pronto" é uma intenção. "Entrar quando o preço fecha de volta dentro da zona depois de a atravessar" é uma condição. A diferença é que a segunda está satisfeita ou não, e consegue saber qual em menos de um segundo.
Condições se-então
Escreva cada regra como uma condição e uma consequência. Se a estrutura no gráfico horário estiver a subir, então só são permitidos setups ascendentes. Se o preço entrou numa zona marcada e fechou de volta para fora dela, então o gatilho está cumprido. Se o limite de perda for atingido, então a sessão termina. Cada frase tem um teste dentro dela, e o teste é o que torna a regra aplicável a si mesmo.
Regras de entrada e saída
Num contrato de expiração fixa, a saída é a expiração, o que tenta as pessoas a saltar completamente a regra de saída. Ainda assim tem de ser decidida: qual a duração da expiração, escolhida com antecedência, correspondente ao tempo que a ideia demora a resolver-se. Escreva-a como uma regra e não como um hábito, porque os hábitos derivam depois de um quase-erro e as regras não.
- Regime. Leia o gráfico superior e registe uma palavra: em tendência, em range ou por resolver. Por resolver não permite nada.
- Direção. Se em tendência, registe subida ou descida. Só são permitidos para a sessão setups que apontam nesse sentido.
- Localização. Marque duas ou três zonas antes da sessão. Setups fora de uma zona não existem.
- Gatilho. Um evento de preço, definido numericamente. Um fecho para além, ou um fecho de volta para dentro, com uma proporção indicada do candle.
- Confirmação. Uma verificação independente, formulada como uma pergunta de sim ou não. Momentum do lado correto da sua linha central, ou o candle seguinte a continuar.
- Aposta. Uma fração fixa do saldo, inalterada dentro da sessão.
- Expiração. Uma duração, escolhida com antecedência e constante durante a sessão.
- Paragem. Uma contagem de operações, um limite de perda e um relógio. O primeiro a ser atingido termina a sessão.
Há uma ordem útil para escrever estas coisas pela primeira vez. Comece pela operação em que tem mais confiança, aquela que faria sem hesitar, e descreva-a condição a condição até a página a reproduzir. Isso dá-lhe um sistema construído à volta de algo em que já acredita e não à volta de uma ideia emprestada de um artigo. Depois pode alargá-lo, mas começar a partir de um sistema emprestado significa que a primeira semana perdedora chega sem convicção nenhuma por trás das regras e elas acabam abandonadas.
Um checklist escrito
Mantenha tudo numa única página e leia-a antes de cada sessão. A leitura não é uma cerimónia: uma regra que não leu há duas semanas já começou a derivar, e não vai notar porque a deriva acontece na direção de fazer mais operações. Os traders que mantêm o checklist visível na secretária relatam a mesma coisa, que é que as regras que quebram são as regras que já não conseguem ver.
Vale a pena projetar mais uma propriedade desde o início. Cada regra deve ser registável no seu diário com uma única marca, para que depois consiga dizer qual regra foi cumprida e qual foi aproximada. Um checklist que não pode ser avaliado produz o mesmo problema que um não escrito, chegando um mês depois.
Uma regra é lógica quando dois leitores concordariam se está satisfeita. Qualquer coisa menos é uma intenção.
Manter o sistema simples
A pressão ao construir um sistema é sempre para mais condições, e quase todo acréscimo torna o sistema pior de uma forma que é invisível na altura.
A razão não é estética. Cada condição adicional reduz a frequência com que o conjunto completo se alinha, o que encolhe a sua amostra, e aumenta a probabilidade de o conjunto estar a descrever a história específica em que foi construído em vez de algo duradouro.
Poucas condições claras
Quatro ou cinco condições são um sistema funcional. Para além disso, duas coisas acontecem juntas: os setups tornam-se raros o suficiente para ficar impaciente, e os setups raros que aparecem não podem ser avaliados porque há poucos demais deles. Impaciência mais uma amostra inavaliável é exatamente a combinação que produz improvisação, que é o que o sistema foi escrito para evitar.
Evitar o sobreajuste
O sobreajuste é acrescentar condições até as perdas passadas desaparecerem. Parece refinamento e está mais próximo de memorização. O indício é que cada nova condição é introduzida para excluir uma operação má específica de que se lembra, em vez de decorrer da ideia. Uma disciplina útil é exigir que cada condição possa ser justificada antes de olhar para os resultados, em termos do que diz sobre o mercado e não sobre o seu registo.
| Propriedade do sistema | Saudável | Sinal de alerta |
|---|---|---|
| Contagem de condições | Quatro ou cinco | A crescer depois de cada semana perdedora |
| Frequência de setups | Alguns por sessão | Raros o suficiente para esperar dias |
| Razão de cada condição | Explica algo sobre o mercado | Exclui uma perda específica lembrada |
| Precisão dos parâmetros | Valores redondos, sem complicações | Números estranhamente específicos obtidos por ajuste |
| Estabilidade | Inalterado durante um mês seguido | Editado a meio da semana |
Note também que a simplicidade protege a amostra. Um sistema que dispara várias vezes por sessão acumula uma centena de observações em algumas semanas; um que dispara duas vezes por semana demora quase um ano a dizer alguma coisa. Já que todo o propósito de escrever regras é tornar o seu registo legível, uma condição que reduz para metade a sua contagem de setups duplicou o tempo até aprender alguma coisa. Esse custo é real e quase nunca é pesado contra a suposta melhoria que a condição traz.
Passos reproduzíveis
A reprodutibilidade é a propriedade que torna um sistema válido de se ter. Se conseguir entregar a página a outra pessoa e ela conseguir aplicá-la, o sistema existe independentemente do seu estado de espírito, que é o objetivo inteiro. Se aplicá-la exige o seu julgamento em vários pontos, escreveu uma descrição de como opera e não um sistema, e vai derivar exatamente como o seu julgamento deriva.
Um teste prático custa dez minutos: pegue num gráfico de há uma semana, aplique as suas regras escritas da esquerda para a direita sem olhar à frente, e assinale cada entrada. Se se encontrar a precisar de fazer julgamentos que a página não cobre, essas são as lacunas. Preencha-as com condições, não com intenções.
Quatro ou cinco condições, cada uma justificável antes de ver os resultados, inalteradas durante um mês seguido.
Fazer backtest com honestidade
Testar um sistema contra o histórico é útil e fácil de fazer de forma desonesta, geralmente sem qualquer intenção de enganar.
A desonestidade é estrutural e não moral: sabe o que aconteceu a seguir, e esse conhecimento infiltra-se em cada decisão que toma ao testar, a menos que o processo o impeça.
Ajuda separar duas perguntas que o teste geralmente confunde. A primeira é se as regras descrevem algo real sobre o mercado. A segunda é se consegue aplicá-las. Um backtest só pode abordar a primeira, e aborda-a fracamente. A segunda é respondida correndo as regras para a frente na conta de prática, onde vive a espera, os quase-erros e a tentação de ajustar. Ambas as perguntas importam, e o teste para a frente é o que a maioria das pessoas salta a favor da versão que pode ser concluída numa tarde.
Tamanho de amostra adequado
Um punhado de exemplos não prova nada, porque sequências de bons e maus resultados acontecem constantemente por acaso. O que conta como adequado depende da frequência com que o seu sistema dispara, mas o princípio é que a amostra tem de ser grande o suficiente para que uma sequência de sorte não possa explicar o resultado. Se as suas regras produzem muito poucos setups, reunir uma amostra adequada demora meses, e isso é informação sobre o sistema e não um obstáculo a contornar.
Testes fora da amostra
Desenvolva as regras num período, depois congele-as e aplique-as sem alterações a um período diferente que não observou enquanto as desenvolvia. Este é o passo mais valioso de todo o exercício, e é o que quase sempre é saltado, porque o resultado é frequentemente dececionante. Um sistema que tem bom desempenho no período de desenvolvimento e não no período intocado foi ajustado em vez de descoberto, e descobrir isso não custa nada além da ilusão.
Um segundo viés que vale a pena guardar-se é a seleção do período. Testar nos três meses mais recentes é conveniente e diz-lhe sobre três meses de uma condição de mercado. Se o período escolhido continha uma tendência forte, um sistema seguidor de tendência vai parecer excelente e um sistema de range vai parecer quebrado, e nenhum resultado diz muito. Onde puder, teste ao longo de um período que visivelmente contenha mais do que uma condição, e note quais partes dele produziram quais resultados.
Premissas realistas
- Teste barra a barra, da esquerda para a direita. Nunca com o gráfico posterior visível.
- Conte os setups que teria perdido. A dormir, a trabalhar, longe do ecrã.
- Inclua a aritmética do retorno. Uma contagem de acertos não significa nada sem ela.
- Registe os casos ambíguos como tomados. Em tempo real tê-los-ia tomado.
O último ponto importa mais do que parece. O teste histórico tem uma forte tendência para resolver todos os casos limítrofes a favor do sistema, porque consegue ver como correu. Decidir com antecedência que a ambiguidade conta como uma operação remove a maior parte desse viés e geralmente remove com ele boa parte do desempenho aparente, o que é o resultado correto.
Desenvolva num período, congele as regras, corra-as sem alterações noutro. Esse único passo separa um sistema de uma memória.
Conhecer os limites de um sistema
Um sistema é uma forma de se comportar de forma consistente, não uma alegação sobre o futuro, e confundir os dois é onde os traders sistemáticos se metem em problemas.
Os limites abaixo não são defeitos a eliminar. Decorrem do facto de as regras serem escritas a partir de comportamento passado e os mercados não serem obrigados a continuar a comportar-se dessa forma.
Os mercados mudam
As condições que produziram os seus setups podem persistir durante meses e depois parar. A participação muda, os regimes de volatilidade mudam, e uma regra ajustada a um ambiente encontra menos setups válidos ou o mesmo número com resultados diferentes. Nada na sua página escrita nota isto, e é por isso que uma agenda de revisão faz parte do sistema e não é um extra opcional.
Nenhuma vantagem permanente
Mesmo um conjunto de regras bem ajustado às condições atuais está a descrever algo temporário. Isso não é pessimismo; é a razão pela qual a revisão existe e a razão pela qual um sistema deve ser simples o suficiente para ser reavaliado. Sistemas complexos são difíceis de rever, pelo que os seus proprietários tendem a mantê-los a correr muito depois de a avaliação dever ter acontecido.
As revisões também precisam de um gatilho definido para parar, não só para ajustar. Decida com antecedência o que o faria arquivar o sistema completamente: um número de sessões consecutivas sem um setup qualificado, ou um período em que as condições que as suas regras pressupõem desapareceram claramente do gráfico. Sem isso, um sistema tende a ser corrido indefinidamente a um padrão cada vez mais baixo, porque cada semana individual nunca parece má o suficiente para justificar parar.
Disciplina para segui-lo
A falha mais comum de uma abordagem sistemática não é o sistema deixar de funcionar mas deixar de ser seguido. A deriva é gradual: um setup tomado com quatro condições em cinco, depois três, depois uma operação tomada porque a sessão estava calma. O seu diário é o único instrumento que deteta isto, e deteta-o facilmente se marcar cada entrada como completa ou parcial. Pode correr o checklist ao vivo com fundos virtuais durante algumas semanas e ver a sua própria taxa de deriva antes de qualquer dinheiro estar envolvido, o que é um número mais útil do que qualquer coisa que um backtest produza.
- Reveja numa agenda. Um dia fixo, quer algo pareça errado ou não.
- Mude uma coisa de cada vez. Duas mudanças tornam o resultado ilegível.
- Date cada mudança. Para que o registo se divida claramente em antes e depois.
- Acompanhe entradas completas versus parciais. A taxa de deriva é a medida de saúde.
Os sistemas degradam-se e os traders derivam. Uma agenda de revisão datada e uma marca de completa versus parcial apanham ambos.
Conclusões da lógica algo
Escrever o sistema é todo o exercício. Tudo o resto depois disso é manutenção.
A estrutura vence o chute
Um checklist escrito não o torna certo com mais frequência. Torna as suas decisões comparáveis, o que significa que o seu registo se torna evidência em vez de uma coleção de anedotas. Essa é a diferença entre um trader que melhora ao longo de um ano e um que tem o mesmo ano várias vezes, e custa uma página e dez minutos.
A simplicidade dura
Poucas condições, parâmetros redondos, nenhuma regra acrescentada para desculpar uma perda lembrada. Sistemas simples são testáveis, revíveis e seguíveis, e cada uma dessas propriedades falha primeiro nos complicados. Se se encontrar incapaz de explicar uma condição sem se referir ao seu próprio histórico de operações, essa condição foi ajustada em vez de raciocinada.
- Cada regra tem um teste. Satisfeita ou não, num segundo.
- Quatro ou cinco condições. Suficientes para filtrar, poucas o suficiente para disparar.
- Regras congeladas, dados novos. O teste honesto.
- Revisão agendada, uma mudança de cada vez. Manutenção, não reação.
Também vale a pena nomear: um sistema não precisa de ser original. A maioria dos conjuntos de regras duradouros são combinações comuns de direção, localização e um gatilho, e o seu valor está em serem aplicados de forma consistente e não em conter uma perspicácia que mais ninguém tem. Os traders que procuram uma vantagem inédita muitas vezes saltam a consistência, que é onde a diferença real se faz. Regras comuns seguidas exatamente vencem regras engenhosas seguidas de forma vaga, e essa comparação é uma que pode correr em si mesmo dentro de um mês.
Nenhum sistema garante lucro
Nada nesta página produz certeza, e qualquer produto que alegue o contrário está descrito na página de robôs golpistas. Um sistema ultrapassa a aritmética do retorno ou não, e só o seu próprio registo ao longo de um período significativo lhe consegue dizer qual. O que um sistema escrito garante é que vai saber por que fez cada operação, o que transforma um mês perdedor em informação em vez de num motivo para recomeçar. Essa é uma promessa modesta e é a única honesta disponível.
Escreva-o, congele-o, teste-o em dados que não usou, reveja-o numa agenda. É essa a disciplina inteira.
O que os leitores perguntam sobre esta configuração
Preciso de saber programar para construir um sistema de trading?
Não, e começar com código é geralmente um erro. Um sistema é um checklist escrito preciso o suficiente para que dois leitores cheguem à mesma decisão no mesmo gráfico, e uma página de condições se-então faz esse trabalho. O código só se torna relevante depois de as regras terem sobrevivido a testes manuais, e nessa altura introduz a questão da plataforma sobre software automatizado, que a página de regras de robôs aborda.
Quantas regras deve ter um sistema simples?
Quatro ou cinco condições cobrindo regime, direção, localização, gatilho e aposta são um sistema funcional. Para além disso, os setups tornam-se raros o suficiente para perder a paciência, e a amostra torna-se pequena demais para avaliar. Sistemas que crescem depois de cada semana perdedora estão a ser ajustados à memória em vez de desenvolvidos, e o crescimento é o sintoma e não a solução.
O que é o teste fora da amostra e por que importa?
Desenvolve as regras num período, depois congela-as e aplica-as sem alterações a um período que não observou enquanto as desenvolvia. Importa porque qualquer conjunto de regras pode ser melhorado indefinidamente contra o histórico em que foi moldado. O período intocado é a única parte do teste que carrega informação, e é o passo mais frequentemente saltado porque o resultado é frequentemente dececionante.
Como evito sobreajustar as minhas regras?
Exija que cada condição possa ser justificada em termos do que diz sobre o mercado, antes de olhar para o que faz aos seus resultados. Condições acrescentadas para excluir uma perda específica lembrada são memorização. Valores de parâmetros redondos e sem complicações e uma contagem estável de condições são bons sinais; números estranhamente específicos obtidos por ajuste são o oposto.
Durante quanto tempo devo correr um sistema antes de o mudar?
Tempo suficiente para que uma sequência de sorte em qualquer direção não possa explicar o resultado, e com mudanças feitas numa agenda em vez de em reação a uma semana má. Quando mudar algo, mude uma coisa, date-a, e trate o registo como dividido nesse ponto. Duas mudanças simultâneas deixam-no incapaz de dizer depois qual delas importou.