Resposta

Novo método de construção de estratégias

2 respostas

kainc301

Cliente, bbp_participante, comunidade, 54 respostas.

Perfil da visita

4 anos atrás #254665

Olá a todos, eu estava pensando em novas abordagens para criar algoritmos e tive uma ideia sobre a qual gostaria de receber feedback. Qualquer implementação dessa ideia levará algum tempo para ser desenvolvida, portanto, não estou esperando que isso se torne um recurso tão cedo.

Atualmente, a forma como o SQX constrói estratégias é aditiva. Em outras palavras, cada estratégia começa com uma quantidade mínima de blocos de indicadores e os blocos são adicionados ou modificados nas gerações subsequentes durante a construção.

Acho que também devemos considerar a integração de um método subtrativo. Em vez de começar com um pequeno conjunto de blocos de indicadores e construir em cima dessa base, você pode simular negociações de compra/venda para todos os blocos de indicadores selecionados e, em seguida, retirar os blocos menos lucrativos em cada geração sucessiva.

Nesse método, todos os blocos de indicadores seriam carregados na memória de uma só vez, com negociações de compra e venda realizadas aleatoriamente para cada bloco de indicadores. Em seguida, os blocos são agrupados em estratégias com base em quais blocos simulados estavam lucrando simultaneamente. Os blocos de indicadores são removidos nas gerações subsequentes com base nos blocos de indicadores que tiveram menos lucro (ou com base na otimização da aptidão personalizada). Uma distância máxima móvel de lucro (X ATR ou X pips) pode ser obtida para cada bloco e calculada a média entre os blocos para sugerir um valor de TP e vice-versa dos valores de SL com perdas. Se a simetria for selecionada, as estratégias serão criadas com blocos de indicadores simétricos e removerão os respectivos blocos de indicadores de ambos os lados. Se estiver usando um bloco indicador para TP/SL, um conjunto de blocos deve ser selecionado para possíveis TP/SL, e eles são simulados simultaneamente com as estratégias geradas.

A teoria por trás disso se baseia no aprendizado em conjunto; no entanto, como estamos usando uma versão de uma floresta aleatória, trata-se essencialmente de uma floresta aleatória invertida, em que todos os indicadores são testados de uma só vez e depois reduzidos à medida que as gerações continuam. As desvantagens disso são que pode ser complexo simular todos esses dados simultaneamente e seria mais lento do que o método atual. Ele deve ficar mais rápido à medida que as gerações progridem, pois os indicadores estão sendo removidos nas gerações subsequentes. Também pode haver espaço para computação paralela para acelerar esse processo, pois todos os blocos de indicadores são simulados simultaneamente.

Listei a solicitação de recurso para isso aqui:

https://roadmap.strategyquant.com/tasks/sq4_5741

É claro que, no momento, há questões muito mais importantes com as quais se preocupar. Eu só queria saber se alguém mais acha que vale a pena dar uma olhada nisso.

0

ivan

Assinante, bbp_participant, comunidade, 236 respostas.

Perfil da visita

4 anos atrás #254713

  Nesse método, todos os blocos de indicadores seriam carregados na memória de uma só vez 

Suspeito que você precisará de um hardware muito potente, do tipo que somente as grandes empresas ou órgãos estatais têm. Isso seria como um SXQ corporativo

Timisoara, Romênia
3900X 3,8 Ghz 12 núcleos, 64GB RAM DDR4 3000Mhz, Samsung 970 EVO Plus M.2 NVMe

0

kainc301

Cliente, bbp_participante, comunidade, 54 respostas.

Perfil da visita

4 anos atrás #254731

Suspeito que você precisará de um hardware muito potente, do tipo que somente as grandes empresas ou órgãos estatais têm. Isso seria como um SXQ corporativo

Acho que gerenciar os cálculos é o maior obstáculo para uma ideia como essa, devido à quantidade de operações paralelas. Só não sei até que ponto isso aconteceria. Se for feito da maneira que estou sugerindo, será necessário fazer apenas uma operação paralela por geração em vez de por estratégia. Portanto, esse pode ser apenas um pequeno obstáculo se for feito corretamente. Nesse caso, poderíamos usar o hardware que temos agora ao custo de um processo de construção um pouco mais lento em vez de um processo de construção exponencialmente mais lento. Carregar todos os blocos de indicadores na memória também pode ser um desafio.

0

Visualizando 2 respostas - 1 até 2 (de um total de 2)