Filtro de correlação - Análise personalizada
Especialmente ao usar a Evolução Genética e/ou ao usar tarefas de otimização em seu fluxo de trabalho, as estratégias podem, às vezes, ser altamente correlacionadas, não apenas como resultado da tarefa de compilação, mas por causa de outras tarefas.
Esse filtro pode ser adicionado a um projeto 1TP9 personalizado como uma tarefa em qualquer estágio de seu fluxo de trabalho para que as estratégias correlacionadas sejam removidas.
Essa análise personalizada aceita um argumento de entrada que corresponde ao limite de correlação que será aplicado. Quando houver uma correlação entre duas estratégias maior que o limite, a estratégia com a maior pontuação de adequação das duas será mantida e a outra não será incluída no banco de dados de destino.
A correlação é calculada com base nos lucros e perdas diários.
Se você especificar bancos de dados de origem e de destino diferentes, somente as estratégias não correlacionadas serão copiadas para o banco de dados de destino.
Se quiser que a análise remova estratégias correlacionadas de um banco de dados, você pode definir o mesmo banco de dados como origem e destino e ativar a opção "Filter by results of custom analysis" (Filtrar por resultados de análise personalizada). Se verdadeira, as estratégias que não forem aprovadas serão removidas".
Isso foi inspirado no exemplo do plug-in Filter by Correlation, cf. https://strategyquant.com/doc/programming-for-sq/filter-by-correlation-plugin-example/
e notando que no SQX discord e no fórum muitos estavam procurando por essa funcionalidade (inclusive eu).
Para qual pasta devo copiar esse snippet e compilar?
Ele precisa ser colocado em SQX\user\extend\Plugins
Informação: O arquivo .sxp deve ser importado pela ferramenta Importar extensão no editor de código e compilado. É necessário o SQX build 140 ou superior.
Acho que esse é um bom filtro. Acho que esse filtro deve ser integrado ao produto.
Concordo com você
Olá, Kevin, primeiramente, obrigado por seu compartilhamento na base de código sobre o CorrelationFilter na análise personalizada.
Tentei usá-lo, mas sempre tenho algumas estratégias duplicadas, no máximo 2 ou 3 estratégias únicas após vários ciclos em meu costume. Veja o exemplo. É possível que isso seja um erro no CorrelationFilter? Agradeço antecipadamente Jean
Olá! Não consegui reproduzir esse erro.
Para a implementação do próprio cálculo de correlação, a análise personalizada está usando funções já fornecidas pelo código principal do SQX.
Obrigado, Kevin!