Direto ao ponto. Quarenta e cinco dias de teste em conta simulada, e o portfólio de 54 robôs está 92,89 dólares acima do saldo com que começou, 0,94%. A nota que decide esse teste é o tamanho do tombo, e o pior tombo dos 45 dias foi de 207,48 dólares contra uma banda de 439. Eu tinha anotado 156. O número mudou porque eu li o painel no fim da tarde, e o pior instante daquele dia tinha acontecido ao meio-dia.
O portfólio entrou no ar em 14 de julho com 9.866,82 dólares e hoje marca 9.959,71. São 92,89 dólares de resultado em 45 dias, ou 0,94%. Desses, 69,10 já estão fechados no saldo e 29,80 são posição aberta, que pode virar qualquer coisa até fechar. Esse pedaço ainda não é meu. Nenhum robô saiu, nenhum entrou. É a mesma carteira que eu registrei antes de ligar, como o capítulo 9 prometeu.
Esse retorno não decide nada, e eu escrevi isso antes de começar, porque dois meses de resultado são ruído para uma estratégia com Sharpe esperado perto de 0,5, e uma leitura de desempenho nesse prazo diz mais sobre o pedaço de mercado que calhou de acontecer do que sobre a carteira. O que decide é o tombo. E foi aí que eu tropecei. No capítulo 14 e no seguinte eu venho repetindo o número do pior tombo da era como se fosse um fato estabelecido. O valor real era 32% maior. Erro meu, de leitura.
O saldo de hoje, com a conta fechando
A conta simulada é da Tickmill e ela me mostra o número de duas formas: o saldo, que só conta operação encerrada, e o patrimônio, que soma o que ainda está na mão. A diferença entre os dois é o que me interessa desde o capítulo 6. Ela é o risco que ainda não virou resultado.
| Medida | Valor |
|---|---|
| Saldo (só o que fechou) | 9.929,91 |
| Patrimônio (com posição aberta) | 9.959,71 |
| Saldo com que a era começou | 9.866,82 |
| Resultado fechado dos 45 dias | +69,10 |
| Resultado ainda em aberto | +29,80 |
| Resultado da era | +92,89 (0,94%) |
| Posições abertas agora | 51 |
| Robôs no ar | 54 de 54 |
A conta fecha. Eu faço questão de mostrar a aritmética, porque já publiquei número que não fechava e apanhei por isso. São 69,10 de fechado mais 29,80 de aberto, menos os 6,01 que já estavam abertos no dia em que a era começou. O total dá 92,89 dólares.
A nota que decide o teste em 14 de setembro
Antes de ligar o portfólio eu escrevi as bandas, e elas são sobre o tombo. A métrica se chama binding no meu painel e é simples de dizer em português: a maior queda do patrimônio desde o topo anterior, contando o que está aberto. Rodei essa mesma medida em 122 janelas de dois meses do backtest do portfólio de 54 robôs, e guardei os três números que ficaram valendo como régua antes de qualquer operação acontecer. Eles não mudam mais.
| Referência | Valor em dólares | Onde o portfólio está |
|---|---|---|
| Mediana das janelas de dois meses | 258 | 80,4% |
| Percentil 95, a banda de aprovação | 439 | 47,3% |
| Pior janela que o backtest produziu | 603 | 34,4% |
| Linha de reprovação | 768 | 27,0% |
O portfólio está longe das quatro linhas. O pior tombo real dos 45 dias foi 207,48 dólares, e o pior prejuízo em aberto num único instante foi 126,31, contra uma banda de 476 para essa segunda medida. Para reprovar nos 16 dias que faltam, o portfólio teria que produzir um tombo 3,7 vezes maior do que o pior que produziu até aqui. Seria outro animal.
Falta uma ressalva. Essas bandas saíram do mesmo período em que os robôs foram escolhidos, então são in sample e otimistas por construção, o que significa que o backtest teve a chance de encaixar naquele pedaço de mercado e a demo não tem. O ajuste que eu meço para isso no walk-forward é de 1,75 vez. Esse ajuste foi medido, não estimado. É dele que sai a linha de 768, que são os 439 multiplicados por 1,75. A régua que mede e a régua que reprova são a mesma, corrigida pelo tanto que o mundo real costuma piorar o backtest.
O tombo que eu anotei menor do que foi
Em 21 de agosto eu escrevi que o pior tombo da era tinha sido de 156,73 dólares, naquele mesmo dia. O dia estava certo. O valor, não.
Quando fui montar este balanço, varri a série inteira que o monitor grava, 1.233 leituras desde 14 de julho, e o pior instante apareceu às 12h daquele dia, com 207,48. Fui atrás da diferença. Ela estava no relógio.
| Hora (UTC) | Fechado | Em aberto | Tombo desde o topo |
|---|---|---|---|
| 09:08 | +34,17 | −123,33 | 206,45 |
| 12:00 | +36,12 | −126,31 | 207,48 |
| 13:00 | +36,12 | −104,30 | 185,47 |
| 16:00 | +38,07 | −76,96 | 156,18 |
| 17:00 | +38,07 | −77,24 | 156,46 |
As duas últimas linhas são a explicação inteira. Os 156,73 que eu anotei são a leitura de 16h ou 17h, que é quando eu estava escrevendo o capítulo. O painel responde uma pergunta legítima, que é quanto eu estou caindo agora, e essa é a pergunta de quem opera durante o dia e precisa decidir se mexe em alguma coisa. O teste faz outra pergunta: qual foi o pior momento de dois meses inteiros. Só a série responde essa. Eu usei a resposta errada por uma semana.
Tem um detalhe que torna isso pior, e eu prefiro declarar. O 207,48 é um piso. A série guarda o oscilar da posição aberta a cada cinco minutos nas últimas 24 horas e a cada uma hora antes disso, então entre duas leituras horárias o tombo pode ter passado mais fundo sem ninguém gravar nada. O veredito não muda com isso, porque o número está a 27% da linha de reprovação. O que eu publico é o menor valor compatível com o que eu medi.
A literatura conhece esse problema e ele tem nome. Magdon-Ismail e coautores (2004) mostraram que a queda máxima esperada de um processo aleatório cresce com o tempo de observação e com a frequência com que você olha. Olhar mais vezes acha mais fundo. Comparar dois tombos medidos com cadências diferentes é comparar coisas distintas, e eu fiz exatamente isso comigo mesmo, com uma semana de diferença.
O que a série mostra dos 45 dias
Com a série na mão, dá para contar o período em vez de descrever a sensação dele. O portfólio teve algum instante no vermelho em 14 dos 47 dias de calendário desde que ligou, e esses 14 vêm em dois blocos bem separados. Sete são os primeiros dias, de 14 a 20 de julho, com a carteira ainda montando posição. Os outros sete são de 19 a 25 de agosto, que foi a semana ruim de verdade. Foi a única ruim.
| Momento | Resultado da era |
|---|---|
| Topo, em 7 de agosto às 11h | +117,29 |
| Fundo, em 21 de agosto às 12h | −90,19 |
| Fechamento de 25 de agosto | −2,30 |
| Fechamento de 28 de agosto | +108,51 |
| Hoje | +100,37 |
Entre 26 e 28 de agosto o resultado voltou 110 dólares em três dias, e quase tudo veio da posição aberta se recuperando, de 44,87 negativos para 37,94 positivos. É o capítulo 6 de novo. O que balança essa carteira é o que ainda está na mão, e quem olha só o extrato de operações fechadas está lendo metade da história com a cara de que é a história inteira.
Os dois motores continuam de sinal invertido
A carteira tem dois tipos de robô. São dois motores. Eles não se parecem em nada quando você abre o extrato de cada um deles lado a lado.
| Medida (45 dias) | Grid (15 robôs) | SQX (39 robôs) |
|---|---|---|
| Operações encerradas | 141 | 276 |
| Taxa de acerto, líquida | 95,7% | 36,6% |
| Resultado fechado | +248,36 | −177,79 |
| Posição aberta hoje | −116,41 | +146,21 |
Os grids acertam quase sempre e ganham pouco de cada vez. Os robôs de tendência erram duas em cada três e vivem do tamanho dos acertos. É o desenho deles. Repare na última linha, que é onde mora a ressalva: 96% de acerto é a assinatura de quem fecha ganho cedo e segura o prejuízo em aberto. Os grids estão com 116 dólares de perda aberta agora, e parte do que eles já realizaram ainda pode voltar para o mercado, o que é exatamente o motivo de existir um teto de aumentos dentro de cada um deles.
Uma nota de método, porque os números vêm de dois lugares. O resultado por grupo sai do meu painel, filtrado pela data em que a era começou. A contagem de operações, a taxa de acerto e o motivo de saída saem do extrato do próprio terminal. As duas contagens batem exatamente, 141 e 276, e a taxa de acerto usa o valor líquido, com swap e comissão, contando só os lançamentos de encerramento. Bateu nas duas fontes. Contar o lançamento de abertura junto corta a taxa pela metade, e esse erro já quase entrou num capítulo desta série.
Execução: nenhum robô parado, nenhum disjuntor disparado
A terceira perna do teste pergunta se os robôs estão operando na mesma frequência do backtest, e ela existe porque um robô travado, desconectado ou pendurado no gráfico errado aparece nessa conta bem antes de aparecer no resultado. Ele some do extrato primeiro. O dinheiro sente depois.
- 417 operações encerradas em 45 dias, ou 9,27 por dia. No ritmo, dá 565 nos 61 dias do teste, contra uma mediana de 587 e uma faixa de 394 a 679 no backtest. Dentro, e perto do meio.
- Saída: 315 por decisão do próprio robô, 84 por stop, 18 por alvo.
- Por par: dólar contra dólar canadense 140 operações e 43,32 positivos; libra 112 e 14,81; iene 96 e 21,72; euro 69 e 2,63. Os quatro no azul.
- Nenhum robô foi retirado pelo disjuntor de drawdown em 45 dias, contra 1,7 que eu esperava em dois meses. O protocolo trata de zero a três como normal. O robô mais perto do próprio teto de Monte Carlo está em 22,4% dele.
O monitor classifica os 54 como manter, e nenhum aparece divergindo do backtest na frequência de entrada. Nenhum está parado. Isso é o que eu queria ver aos 45 dias, e vale bem mais para mim do que os 92 dólares.
O que falta até 14 de setembro
Faltam 16 dias. O que pode virar o teste nesse tempo é uma sexta-feira de dado forte com muita posição aberta, que foi exatamente o que aconteceu no payroll de 7 de agosto, ou uma semana como a de 19 a 25, se ela vier mais funda. Para reprovar, o tombo precisa passar de 768 dólares e ficar lá. Um dia ruim não basta.
No dia 14 eu escrevo o veredito com os números do fim, e já sei duas coisas que vou fazer diferente. A primeira é medir o pior tombo lendo a série inteira, nunca o painel na hora em que estou escrevendo. A segunda é declarar que o valor é um piso, com a cadência de leitura ao lado. As duas custam dois minutos. Não prometo final feliz. Prometo continuar contando a verdade, inclusive quando a correção é de um número meu.
Perguntas frequentes
Por que o drawdown máximo do portfólio muda conforme a hora da leitura?
Porque drawdown máximo é uma propriedade de um período inteiro. O instante não mede período. O painel mostra a distância entre o topo anterior e o resultado de agora, o que faz o número encolher assim que o mercado alivia. No dia 21 de agosto o meu portfólio marcou 207,48 dólares ao meio-dia e 156,46 às 17h. Para saber o pior de dois meses é preciso varrer a série gravada, e o valor achado assim continua sendo um piso, limitado pela frequência com que a série foi amostrada.
Retorno de 0,94% em 45 dias aprova ou reprova um portfólio de robôs?
Nem uma coisa nem outra, e isso ficou escrito antes de o teste começar. Dois meses de resultado são ruído para uma estratégia com Sharpe esperado perto de 0,5, e 98% das janelas de dois meses do backtest deram positivo, o que torna o sinal fraco nos dois sentidos. O critério de aprovação é o risco: o tombo em dois meses precisa ficar dentro da faixa que o backtest produziu, e a execução precisa ter a mesma frequência. Retorno negativo seria motivo para investigar, nunca para reprovar sozinho.
Referências
- Magdon-Ismail, M.; Atiya, A.; Pratap, A.; Abu-Mostafa, Y. (2004). On the Maximum Drawdown of a Brownian Motion. Journal of Applied Probability, 41(1), 147-161. A distribuição da queda máxima e a dependência dela do tempo de observação.
- Chekhlov, A.; Uryasev, S.; Zabarankin, M. (2005). Drawdown Measure in Portfolio Optimization. International Journal of Theoretical and Applied Finance, 8(1), 13-58. A família de medidas de drawdown que eu uso no lugar do desvio padrão para decidir capital.
- Diário de um Portfólio de Robôs (18): O Recorde da Era, e a Conta que Ainda Está Abaixo de Onde Começou
- Anatomia de uma Estratégia Real: o Menor Rebaixamento da Série, e Três Anos e Meio de Saldo Negativo
- Diário de um Portfólio de Robôs (16): O Payroll Levou 92 Dólares, e 73 Estavam em Aberto
- Diário de um Portfólio de Robôs (15): O Teste de Dois Meses Rodou Sete Dias Sem Ninguém Medir a Nota
Presente para Leitores: Robô de Gradiente Linear Gratuito
Estou liberando o acesso ao meu setup pessoal de Gradiente Linear sem custo nenhum. É só clicar e me pedir o arquivo.
Quem escreve: Flávio Araújo
Trader algorítmico há mais de 13 anos, MBA em Mercado de Capitais e Derivativos. Mantém um laboratório próprio que já rodou mais de 20 milhões de backtests e analisou mais de 20 mil estratégias, e opera um portfólio de robôs acompanhado publicamente no blog. LinkedIn · Instagram · YouTube
