É possível alguém criar um robô lucrativo que opere sem backtesting e sem nenhum parâmetro de entrada? - página 2

 

Figurelli eu visitei o tópico, e me chamou a atenção uma resposta, apesar dele responder que é possível um EA funcionar sem BT e parametros externos,  mas na minha intrepretação o cara respondeu exatamente o contrário (BT embutido), é uma idéia interessante, vc não acha?

Tradução do post no google:

"Sem parâmetros de entrada significa auto-adaptativa. 

Sem backtesting significa auto-backtesting. 
Um bot capaz de simular-se diferentes estratégias e avaliar o desempenho.

Sim, é possível. 
Eu acho que eles já existem.

Obviamente, cada sistema tem seus próprios limites." 

 
PauloBrasil:

Figurelli eu visitei o tópico, e me chamou a atenção uma resposta, apesar dele responder que é possível um EA funcionar sem BT e parametros externos,  mas na minha intrepretação o cara respondeu exatamente o contrário (BT embutido), é uma idéia interessante, vc não acha?

Tradução do post no google:

"Sem parâmetros de entrada significa auto-adaptativa. 

Sem backtesting significa auto-backtesting. 
Um bot capaz de simular-se diferentes estratégias e avaliar o desempenho.

Sim, é possível. 
Eu acho que eles já existem.

Obviamente, cada sistema tem seus próprios limites." 

Paulo, certamente, e é o no que acredito e trabalho. Na verdade esses sistemas já existem, só que não no padrão de qualidade humana.

A lógica é simples: para que backtesting e parâmetros de entrada se o robô é auto-adaptativo. No máximo para descobrir bugs, não para validar a(s) estratégia(s), que deve(m) sobreviver ao futuro.

E a multiplicidade de estratégias, principalmente testadas usando os princípios co-evolucionários, é o meu método favorito.

Na verdade, chamo isso de um trading system com a inteligência discricionária.

Mas como disse, não existe uma resposta 100% errada ou correta. E temos que saber separar a ficção da realidade. Até porque o mundo real, na área de mercado de capitais, é altamente competitivo.

E, portanto, concordo com você em vários pontos da tua resposta, pois ainda estamos muito longe disso, porque felizmente para problemas de complexidade infinita o cérebro humano ainda é soberano, principalmente na escolha das estratégias.

Mas a tecnologia e os sistemas estão evoluindo, para mim é apenas uma questão de tempo. 

 
Criar seria possível ne. Acreditar nele é que é o problema.
 
humbertobrandao:
Criar seria possível ne. Acreditar nele é que é o problema.
Talvez, mas se for lucrativo, como no enunciado da pesquisa, e principalmente se for na conta real do usuário desse robô, acreditar começa a ficar mais fácil ...
 
Sinceramente eu acho difícil. É um conceito interessante, mas eu por exemplo não me arriscaria em entrar nessa seara.
 

Acredito que sim.

O uso de redes neurais aliado a um deep learning robusto já permitiria a optimização constante dos parâmetros iniciais - que não necessariamente estariam disponíveis para input. Vários algoritmos de aprendizado e treino aprendem on going, não demandando back teste. Se eu não me engano, modelos Hebbianos de reforço e inibição - inclusive prevendo alarmes falsos - tanto quanto Boltzmann, tornariam isso plausível. O problema residiria na atribuição de crédito: dentre de todas variáveis, como saber exatamente quais reforçar, inibir e alterar de acordo com os resultados em tempo real? Quais realmente são responsáveis pelo sucesso da estratégia e quais não?

Entretanto, vejo com grande dificuldade a realização dessas etapas. O conhecimento para isso passa longe do trivial, não apenas de computação como da matemática e estatística - já que aprendizado e redes residem sobre uma complexa base de geometria analítica, estatística e controle. Penso que demandaria uma equipe eclética no mínimo. Apesar de ser o estado da arte aqui no Brasil, empresas como Renassaince, PDT e etc devem possuir ferramentas do tipo rodando há muito tempo.

Mas pelo que eu pude acompanhar em alguns eventos por ai, o senhor está empenhado nessa missão aqui no Brasil.

 
bremora10:

Acredito que sim.

O uso de redes neurais aliado a um deep learning robusto já permitiria a optimização constante dos parâmetros iniciais - que não necessariamente estariam disponíveis para input. Vários algoritmos de aprendizado e treino aprendem on going, não demandando back teste. Se eu não me engano, modelos Hebbianos de reforço e inibição - inclusive prevendo alarmes falsos - tanto quanto Boltzmann, tornariam isso plausível. O problema residiria na atribuição de crédito: dentre de todas variáveis, como saber exatamente quais reforçar, inibir e alterar de acordo com os resultados em tempo real? Quais realmente são responsáveis pelo sucesso da estratégia e quais não?

Entretanto, vejo com grande dificuldade a realização dessas etapas. O conhecimento para isso passa longe do trivial, não apenas de computação como da matemática e estatística - já que aprendizado e redes residem sobre uma complexa base de geometria analítica, estatística e controle. Penso que demandaria uma equipe eclética no mínimo. Apesar de ser o estado da arte aqui no Brasil, empresas como Renassaince, PDT e etc devem possuir ferramentas do tipo rodando há muito tempo.

Mas pelo que eu pude acompanhar em alguns eventos por ai, o senhor está empenhado nessa missão aqui no Brasil.

Boa resposta, mas o estado da arte tanto no Brasil como no resto do mundo nessa área é o HFT e suas diversas abordagens.

Fiz essa mesma pergunta desse tópico no Fórum em inglês, também no início de 2014, e a maioria das pessoas foi totalmente cética quanto a esse assunto.

Até podem existir soluções fechadas e de laboratório a muito tempo, mas abertas e de domínio público que se proponham a enfrentar o mercado sem backtesting conheço poucas e são todas muito recentes.

 

Sim, é possível sim, e modéstia parte o meu robô faz exatamente isso.

O único parâmetro que é aberto ao investidor é o Volume (quantidade de contratos). É um EA para Índices Futuros BMF.

Além disso meu EA não utiliza Indicadores externos. Os Indicadores que ele possui eu desenvolvi e embuti no próprio EA.

Se eu abrisse alguns parâmetros poderia melhorar, ou piorar a performance do robô, o que no meu ver não seria legal, pois além de dificultar a apuração da performance real ainda eu teria clientes "amando" e outros "odiando" meu robô. Então resolvi embutir todas as decisões de valores de stops, profits, se entra stop movel ou não, se entra breakeven ou não, tudo dentro do EA. Ele toma a decisão qual setup vai utilizar de acordo com a situação momentânea (se é payroll, férias, horário, etc) e já se ajusta na configuração adequada de Entrada sozinho.

Esse último Robô não coloquei em uso comercial, somente eu e minha esposa estamos utilizando em conta real, ficou pronto a pouco tempo então quero apurar os resultados em conta real para verificar se é comercialmente viável ou não. Pois existem dois tipos de robôs lucrativos: Aqueles que são viáveis apenas para uso pessoal e outros para uso comercial também.

Perdi metade dos poucos cabelos que eu tinha, e os que ficaram agora estão brancos. Foi um projeto de aproximadamente de 8 meses de testes e estudos, depois uns 60 dias de código para transformar os setups num EA automatizado. Semana passada foi quando efetivamente considerei ele pronto para uso e não mexi mais no código. Investi cerca de 2,5 mil para produzi-lo, pois cada teste que passava no backtest com bom resultado, depois eu colocava em conta-real para ver como se comportava e claro, até ficar pronto resultou em algumas perdas. Não gosto de usar conta demo em mercado aberto, pra mim Demo em mercado aberto é um igual ao "backtest" só que em tempo real, pois por mais que digam que o resultado é igual a uma conta real, não é e sempre há diferença. Não acredito e nunca consegui apurar resultado efetivo sem uso de conta real.

Enfim, resumindo, é possível sim ter um robô lucrativo sem precisar passar parâmetros manualmente, mas é bem trabalhoso, complexo.

 

Da maneira como a pergunta foi colocada. Sim, é possível. Porém para ser lucrativo aí já seria uma "aleatoriedade da sorte". Mas impossível não é.



Os parâmetros internos é a parte simples - estou pensando em fazer isso com meu robô - já que ele varia seus parâmetros dentro de um range. Só ainda não consegui pensar no algoritmo exato para fazer isso, mas me parece algo fácil de solucionar a hora que eu sentar pra fazer - -por enquanto - faço uma alteração semi-manual mesmo e tá dando tudo certo!

(Ps: NÃO colocarei comercialmente já que não quero nem chegar pertode correr o risco de dar problema pra outra pessoa - se ele falhar vai ser só comigo).

 

Muito provavelmente sim, porém é difícil encontrar a estratégia que seja realmente boa pra isso, porém, se essa estratégia for encontrada, então sim, é possível.


Além do mais, atualmente estou trabalhando em um EA novo que a ideia é que não tenha otimização, backtest apenas pra ver funcionando no passado, pois os parâmetros de entrada vão ser fixo, como por exemplo número de contratos e TP, vai ter mais algumas coisinhas que serão desnecessárias, mais que vão poder ser ajustadas na mão, ou seja, dispensando backtest.


Não sei e não posso garantir que minha estratégia vai ser tão robusta pra funcionar assim, tão bem quanto estiver pronta, mais oque esperamos é que funcione.

Razão: