2024-01-16 – A testar parâmetros (optimização) nos meus trading systems, num Terminal de Linux em C++…
Aqui podem espreitar eu a testar uma variante dos meus trading systems, num único ano de câmbios, para ver qual o parâmetro que daria mais lucro nesse ano, com alavancagem de 25/1:
E em gráficos que fiz no terminal, até um dia o fazer melhor, são rascunhos.
Agora alavancagem de 25/1, e testar parâmetros, para quê?
Em primeiro lugar, é importante verificarem no fim, que tanto um parâmetro único de 98 daria muito lucro, como o 99, 100, 101, 102…, e os 98, 97, 96, 95…
Isto é super importante. Um sistema com um único parâmetro e adaptável acaba por ser mais poderoso que um com muitos (com mais chances de ser curve-fitted), e é bom que seja um parâmetro onde tenhamos margem de tolerância também.
Pois um sistema onde pensamos que o parâmetro ideal seja 25, e afinal 25 tem -50% de lucro, e 26 teria 200%, e 24 -50% também, não é grande sistema.
Um sistema onde apostemos neste caso pelo exemplo dado, no número 98, mas afinal se falharmos e escolhermos o 99 ou 100 ou 97 ou 96 ou outros próximos tivermos bastante lucro também, será um sistema mil vezes melhor do que um sistema onde basta falharmos uma unidade no parâmetro e perdemos dinheiro.
Isto além da previsibilidade que não é abordada aqui mas será mais tarde.
Agora a alavancagem, outra lição importante.
Porquê testar com uma alavancagem de 25/1 e não de 1/1?
Só para mostrar ganhos surreais? Nada disso.
Dois sistemas podem ter performances parecidas, cada um com 30% a 1/1 (sem alavancagem), mas se subirmos a alavancagem para 10/1, o primeiro pode ter 5000% e o outro apenas 150%, o que já dá para diferenciar ambos, e a 25/1, um pode dar 54.000% e o outro rebentar e dar -99%.
É que com alavancagens altas, temos mais chances de ter margin-calls, e perdas bem maiores, do que sem alavancagem.
É com alavancagens altas que vejo quando um sistema é robusto.
Com 25/1 já dá para ver (testando nas piores condições, sem stop losses, etc), que um sistema não resiste e quebra com as margin-calls, enquanto que o outro sabe sempre sair a tempo e ainda proporciona lucro com alavancagens altas de 25/1, o que é excelente.
É por isso que irão ver sistemas meus com milhares e milhões de porcento de lucro, não é que eu seja maluquinho e ache que vá ganhar milhares de % ao ano LOL, mas sim porque dá jeito eu testá-los assim (sim porque em x anos posso).
Claro que não sou um idiota nestas coisas, e não acho que irei fazer milhões de porcento na vida real em apenas um ano com um sistema de trading (sim porque em x anos posso).
É mesmo para testar os sistemas de forma firme e nas piores condições.
São provas de fogo.
Neste caso com margin-calls a 50%, activas, mas sem qualquer uso de stop-loss ou take-profit, sem risk e money management, nada.
Mas claro, estou à procura dos melhores parâmetros, não achando que optimizando desta forma me faria ter lucro, pois isto seria curve-fitting, mas sim para ver os limites do sistema, os seus máximos numa dada circunstância.
Esta é a minha forma de testar as rotinas antes de passar isto um dia para gráfico, como faço com os videojogos no meu Game Engine.
Não me dei ao trabalho de eliminar o flickering no terminal porque acho desnecessário, pois é apenas para testes iniciais, e assim que tudo esteja pronto, passarei a meter tudo isto numa interface gráfica brutal, só minha.
Ainda vou perder tempo depois a testar os vários anos, criar auto-adaptação dos sistemas, adicionar mais I.A. a tudo, etc.
E a adicionar e melhorar os sistemas em si.
Só depois começarei a criar a minha super interface gráfica lindíssima com tudo isto, onde farei tudo com o rato.
E notem que aqui testo uns 100 parâmetros, são largos milhares de milhões de operações em segundos.
E é uma maneira linda de testar no terminal de Linux, certo?
Bem, isto é apenas o começo de um longo caminho.
Mais notícias posteriormente.
Hasta!
2024-01-16.
Publicado no mesmo dia no meu LinkedIn em:
Post seguinte referente aos meus Trading Systems, e ao meu Trading Systems’ Back-Tester:
Post anterior referente aos meus Trading Systems, e ao meu Trading Systems’ Back-Tester: