Académique Documents
Professionnel Documents
Culture Documents
Flávio Schotgues
2
ADVERTÊNCIA: Este é um estudo teórico com um exemplo que consiste em um EA ou “robô” e sua
descrição. Não estou recomendando que esta teoria ou este EA sejam utilizados em operações
reais no mercado financeiro, ou que sejam feitas operações de qualquer natureza. Não posso me
responsabilizar pelo uso que venha a ser dado deste material. Aqueles que forem operar no
mercado financeiro devem estar cientes dos riscos, que envolvem a possibilidade de perdas
financeiras que podem ser superiores ao capital investido.
2
estaremos sujeitos às dificuldades da detecção das tendências e aos prejuízos
causados pelas tendências de curta duração.
Outro problema de operar a favor da tendência é o mecanismo de entrada nas
operações. Como na tendência o preço está se deslocando rapidamente em uma
direção e queremos colocar a ordem na direção que reforça a tendência, teremos que
fazer isso rápido para não perdermos o ponto de entrada. Assim, qualquer atraso no
caminho entre colocar a ordem e esta efetivamente ser executada nos prejudica, e o
costume é colocar ordens de entrada a mercado para não perder a oportunidade, o
que pode custar spread e slippage caros.
Sem dúvida podem ser encontradas soluções que permitam que os lucros superem
os prejuízos no longo prazo, mas à custa de grandes e indesejáveis flutuações no
saldo que limitam o volume operado e trazem insegurança quanto ao sucesso do
método.
Formalizo este raciocínio no que chamo de “o paradoxo de Schotgues” a seguir.
3
O paradoxo de Schotgues
Onde R > 0 representa lucro bruto e R < 0 representa prejuízo bruto. Em qualquer
caso ainda há custos operacionais a serem descontados, que dependerão de
diversos fatores. Para fins deste estudo, desprezaremos os custos operacionais.
O paradoxo consiste na impossibilidade de, após a detecção, prever a duração
restante B da tendência, e da necessidade de um prejuízo C para estabelecer seu
término e, mesmo assim, tentar seguir tendências. Como B é indeterminado, uma
operação que tenha C > B resultará em prejuízo, e não se pode saber, prever ou
sequer estimar com que frequência e com que intensidade isso acontecerá.
4
Interromper a operação sem detectar reversão e portanto eliminando o prejuízo C traz
o problema adicional de necessitar arbitrar a duração da operação através da
colocação de um target ou stop temporal sem haver qualquer critério para isso além
de estatísticas que, dada a aleatoriedade da duração das tendências, apresentarão
dados inúteis. Como se não bastasse, continua imperiosa a necessidade de haver
um stop loss.
Desta forma, e apresentado este paradoxo, só resta afirmar que, tanto na técnica de
detecção de final de tendência como na de utilização de target e stop, tentativas de
seguir tendências não passarão de meros sorteios, onde tendência longa significa
sorte ou lucro, e tendência curta significa azar ou prejuízo. Considerados ainda custos
operacionais e fatores emocionais e falhas humanas e de sistemas, este se torna um
mecanismo perverso que explica o grande número de fracassos na Bolsa de Valores.
5
Operando contra a tendência: a tensão de retorno e o fator de aceleração
6
típico cujo valor pode ser encontrado através de otimização. Neste caso pode-se
ignorar a tensão de retorno atual durante o andamento da operação ou combinar esta
técnica com a anterior, terminando a operação quando o alvo for atingido ou a tensão
de retorno atingir um valor mínimo, o que ocorrer primeiro.
Finalmente, a operação pode ser encerrada através de um limite temporal, podendo
ser um prazo fixo ou uma data ou, no caso de operações na modalidade day trade,
um horário. No caso do horário, minhas observações indicam que o mini-índice é mais
volátil e portando mais propício às operações contra a tendência na parte da manhã,
e portanto no caso de day trade estas operações devem ser encerradas no máximo
às 13h.
Encerrada a operação, é válido continuar monitorando a tensão de retorno existente
para avaliar a possibilidade de nova entrada.
Como sempre, é indispensável estabelecer um ponto de stop loss para o caso de o
preço não ter o comportamento previsto e desejado. O ponto onde o stop loss deve
ser colocado em uma estratégia é um assunto controverso, envolvendo discussões
sobre gerenciamento de risco, sobre táticas para evitar certos pontos óbvios e até
sobre fatores emocionais, o que realmente não vem ao caso aqui. Uma estratégia
contra a tendência que usa esta teoria é diferente das estratégias tradicionais, e seu
stop loss também é diferente. Neste caso, colocar um stop loss curto demais vai
interromper uma operação que ainda poderia ser boa, porque o que estamos
esperando é justamente que o preço volte, aliviando a tensão de retorno. É
compreensível e até desejável que o preço caminhe um pouco contra a operação, o
que assegurará a completa execução da ordem limitada de entrada.
O que se faz aqui é utilizar um stop fixo e muito grande, que raramente será acionado,
para o caso de uma situação catastrófica que poderá ser causada por algo como uma
notícia importante. Chamo isso de stop preventivo, em oposição ao stop
tradicionalmente usado nas operações a favor da tendência que chamo de stop
operacional. Naquele queremos interromper operações que fracassaram, aqui
queremos apenas ter uma segurança contra raras catástrofes.
Ao acontecer o acionamento do stop preventivo provavelmente estaremos diante de
uma situação onde a tensão de retorno estará elevada o suficiente para causar a
colocação de uma nova ordem. Por isso, o acionamento do stop preventivo deverá
interromper as operações do dia. Isto é imprescindível, porque de outra forma o efeito
prático poderá ser o de não ter stop algum, pela colocação de novas ordens de
entrada sucessivas cada vez que o stop loss ocorrer.
7
O robô Xeque Mate: um exemplo de aplicação prática
8
Nesta outra figura o preço subiu fortemente e tocou o limite superior, e então foi
colocada uma ordem limitada de venda.
O preço subiu mais e executou a ordem, e então foi iniciada uma operação vendida.
Durante todo esse processo de colocação e execução da ordem não foi procurado
nenhum sinal de reversão do preço, em uma legítima operação contra a tendência. A
estratégia vendeu porque o preço estava subindo muito, e só isso. Vendeu enquanto
ainda subia, e neste caso na máxima do dia.
9
O preço subiu mais um pouco e depois desceu, e a operação foi encerrada quando o
preço tocou a média móvel.
10
correspondendo ao toque do preço na média móvel e 1000 pontos de stop preventivo,
aceitando a colocação de ordens de entrada entre 9h30 min e 12h, e encerrando
todas as operações às 13h. Foram considerados custos operacionais totais de R$
1,25 por contrato por ordem executada. Este setup de exemplo adota, portanto, uma
tensão de retorno de 800 pontos e um fator de aceleração de 3,3 pontos/minuto.
11
A função de otimização embutida
12
e portanto para que se produzisse um ponto de partida para ajustes mais refinados,
foi incluir no robô uma função de otimização customizada conforme por mim
especificada.
Chamo esta função de “fator de recuperação líquido”, na medida em que se trata de
um fator de recuperação, que é o quociente entre o ganho de capital e o drawdown
máximo, em que foram subtraídos do numerador os custos operacionais. Com isso,
estes custos são levados em consideração nas otimizações e nos backtests, o que
automaticamente tende a procurar um equilíbrio entre o número de operações e sua
rentabilidade. Para aproveitar este valioso recurso a otimização deverá ser feita para
“Custom Max”, e a função de otimização a ser selecionada é “Lucro Líq/ Máx
Drawdown”, que é justamente o fator de recuperação líquido. É fundamental também
preencher o campo relativo ao custo operacional, para que este seja computado.
Arbitrando um fator de segurança SF que será um coeficiente aplicado dobre o
drawdown máximo ou rebaixamento máximo do saldo durante um backtest longo,
como uma suposição do maior drawdown possível no futuro, a função de teste influi
na rentabilidade conforme o seguinte cálculo:
13
Definições:
Rm% = rentabilidade mensal em %
L = lucro líquido obtido no teste
C= custo operacional total no teste
n = duração do teste em meses
SF = fator de segurança
M = margem exigida pela corretora para o volume utilizado no teste
DDmax = drawdown (rebaixamento do saldo) máximo durante o teste em dinheiro,
não em %
RFL = Fator de recuperação líquido, que é o critério de teste
.
Rm% = 100 *(L-C) /(n *(SF * DDmax + M))
Rm% = (100*RFL)/(n*SF)
onde
RFL = (L-C)/DDmax
14
A otimização do stop loss
Conforme o exposto no texto da teoria, o stop loss tem uma função de prevenção
contra catástrofes, e não uma função operacional. Isto faz com que os valores de stop
possam parecer enormes e até assustadores mas, como pode ser facilmente
constatado através de backtests, é muito raro o acionamento de um stop loss
corretamente dimensionado usando a técnica aqui descrita.
Para ilustrar a importância de se usar um stop grande nas estratégias que seguem
esta minha teoria das operações contra a tendência, abaixo está uma tabela
mostrando o efeito da variação do stop loss no desempenho do Xeque Mate.
Aumentar o stop de 100 até 1000 pontos causou uma melhoria no resultado da função
de teste, no lucro, no fator de lucro, no pagamento esperado e no índice de Sharpe.
Acima dos 1000 pontos não houve melhoria nestes números mas houve um aumento
no risco no caso de uma catástrofe, portanto 1000 é o valor a ser adotado: o menor
stop que não prejudica o resultado.
15
A distância à média
16
O ponto exato a ser escolhido dependerá até da personalidade da pessoa que irá
usar o robô. Alguns preferirão menos operações e mais certeiras, enquanto outros
poderão ficar impacientes com muito poucas operações e preferirão tê-las em maior
número, ainda que com desempenho pior.
Digo que o ponto de partida para encontrar o valor deste parâmetro é fazer uma
otimização que produza o maior resultado possível na função de teste. É bastante
provável que o resultado seja um número diminuto de operações excelentes, com
fator de lucro, fator de recuperação, pagamento esperado e índice de Sharpe que
seriam muito difíceis de se obter com outras estratégias. A partir daí, pode-se escolher
uma distância à média que tenha gerado operações consideradas suficientes, com
resultados ainda satisfatórios.
Tendo escolhido uma distância à média, é interessante fazer uma otimização
completa para o target e a distância da ordem, e finalmente encontrar o stop loss.
Optar por uma distância à média menor do que aquela que teria produzido o melhor
resultado na otimização, com o objetivo de aumentar o número de operações, é algo
que deve ser feito com muito critério. A tentação de aumentar o número de operações
para vencer a ansiedade e para ver o robô funcionando mais frequentemente pode
ter um custo alto. Aumentar o número de operações tende a piorar importantes
indicadores de desempenho como o fator de lucro, o fator de recuperação, o
pagamento esperado e o índice de Sharpe, além de evidentemente aumentar os
custos operacionais. O pior efeito de todos, contudo, será imediatamente notado
justamente na função de teste, com as consequências para a rentabilidade já
anteriormente explicadas.
Um outro efeito facilmente perceptível da escolha de uma distância à média menor é
o aumento do stop loss encontrado, o que aumenta o risco e exige um capital maior
por contrato, anulando a vantagem de um eventual aumento no número de pontos
ganhos. Essa é a beleza de usar o fator de recuperação líquido como critério de teste:
a melhor relação entre o ganho e o risco é automaticamente encontrada.
Insisto em reforçar a importância da distância à média. Embora em algumas ocasiões
a otimização possa mostrar uma descontinuidade na relação entre a distância à
média e o resultado da função de teste, é importante saber que esse efeito pode ser
gerado por uma amostra de dados que não é suficientemente representativa e até
pela distorção gerada na troca de séries, ao usar séries contínuas conforme
comentado anteriormente. A continuidade na relação entre a distância à média , o
número e a qualidade das operações é indiscutível e não deve ser menosprezada.
Esta característica da estratégia será explorada mais adiante quando for exposto o
sistema de gerenciamento de risco que adoto.
17
Gerenciamento de risco
Criei e uso um sistema de séries, que funciona da maneira que descrevo a seguir.
A partir de um momento inicial, vamos começar a operar. Começa então uma aposta,
estamos apostando que vamos vencer o mercado, que vamos ter lucro. É normal e
esperado perder às vezes, e então é bem possível que tenhamos algum prejuízo
antes de ter lucro. No momento em que tivermos recuperado o prejuízo que estejamos
tendo, ou até mesmo se já tivermos lucro na primeira operação, então vencemos esta
aposta e ela terminou. A partir daí, podemos começar uma outra aposta. Chamo cada
uma dessas apostas de série.
Surgem então duas questões: a primeira delas é quanto usar de reserva de capital, e
a outra é o que fazer se as coisas não saírem conforme o esperado e o prejuízo for
aumentando.
Utilizar uma estratégia como o Xeque Mate com um esquema de séries como este
traz uma vantagem adicional. No caso de um drawdown crescente e preocupante,
resta o recurso de aumentar a distância à média se a reserva atingir um nível crítico
pré-estabelecido, como por exemplo 50%. Isto reduzirá o numero de operações e as
tornarão mais seguras, afastando a necessidade de reduzir o volume operado ou até
interromper as operações.
18
O efeito do aumento do número de contratos sobre a curva de capital
Ainda sobre o sistema de séries, reforço que cada uma das séries é uma aposta
independente e sem relação com as anteriores. Portanto, nada impede que o
drawdown de uma série em curso possa temporariamente consumir o lucro auferido
em séries anteriores já encerradas, principalmente quando o volume operado for
maior na série atual do que nas anteriores. Ter ciência disso é parte do gerenciamento
de risco.
O aumento do volume operado deve sempre levar em consideração que se deve ter
uma reserva de capital adequada no inicio de cada série. O aumento progressivo e
rápido do número de contratos operados produz movimentos na curva de capital com
amplitude proporcionalmente crescente e, da mesma forma que os ganhos podem
subir de forma extraordinariamente mais rápida, uma única perda poderá consumir o
lucro de semanas ou meses.
19
A máquina de fazer dinheiro e a espiral do lucro
Desta forma, tendo sido retirado o investimento inicial, o risco sobre o investimento
inicial relativo às operações subsequentes cai a zero, porque aquele capital inicial já
sacado não mais estará exposto aos riscos do mercado. Entendido este conceito de
risco zero, vamos aplicá-lo a um contexto de volume crescente conforme o sistema
de séries anteriormente proposto.
A ideia por trás da “máquina de fazer dinheiro” é montar um esquema em que o capital
inicial de uma série gera excedentes que podem ser sacados sem comprometer a
continuidade das operações, ao mesmo tempo em que protege o investimento inicial.
20
Data Pontos Resultado financeiro Saldo em Pontos Saldo financeiro
21
Se o trader tiver recursos externos disponíveis já poderá, por exemplo, no dia 12 de
setembro, quando completou sua primeira série, depositar mais R$ 648,04 na conta,
perfazendo R$ 1680,00 e então operar dois contratos a partir da próxima série.
A “espiral do lucro” se estabelece quando os ganhos são suficientes para manter um
certo crescimento em progressão aritmética do volume sem novos aportes de
capital, ao mesmo tempo em que gera um excedente que pode ser sacado como
uma renda. Por exemplo, a cada 10 séries completadas aumentar 1 contrato e sacar
da conta o excedente do capital necessário para operar o novo volume. Neste
exemplo a razão da PA será 1.
O mesmo raciocínio pode ser expandido para uma progressão geométrica, quando
o crescimento será feito através de reinvestimentos que deixam de ser fixos e se
tornam um coeficiente aplicado ao lucro, coeficiente este que adicionado da unidade
será a razão da PG. Por exemplo, a cada 10 séries completadas aumentar em 10%
o número de contratos e sacar da conta o excedente do capital necessário para
operar o novo volume. Neste exemplo a razão da PG será 1,1.
22
Conclusão
Mais outros testes poderão ser feitos com esta estratégia de exemplo, assim como
muitas outras estratégias podem ser implementadas utilizando os mesmos princípios.
Espero com isso estar contribuindo com a educação e o desenvolvimento das
pessoas interessadas em conhecer esta maneira de operar.
Para que leitores possam fazer testes e simulações com este EA, deixo aqui um link
para o site do programador Marcos Rafael que gentilmente implementou uma versão
do Xeque Mate para que possam baixá-lo juntamente com o setup para o mini-índice
que foi usado no backtest, lembrando mais uma vez que não recomendo e não posso
me responsabilizar por operações em conta real.
http://codetrading.com.br/robo-xeque-mate/
23