Monte Carlo - Randomização de blocos MACHR
No mundo real das negociações, as condições de mercado não seguem uma sequência previsível. Mercados em alta, mercados em baixa, períodos de alta volatilidade e fases de consolidação podem ocorrer em ordens muito diferentes em diferentes períodos de tempo ou instrumentos. Uma estratégia com bom desempenho durante uma sequência específica de regimes de mercado pode ter dificuldades se esses mesmos regimes aparecerem em uma ordem diferente. Essa simulação de Monte Carlo foi projetada especificamente para testar a robustez de sua estratégia em relação às mudanças na sequência de regimes de mercadosem destruir as características internas que definem cada período do regime.
O teste de randomização em bloco MACHR (Market Condition Historical Randomization) aborda uma questão fundamental: "E se as mesmas condições de mercado ocorressem, mas em uma ordem diferente?"
Quando aplicamos esse teste de Monte Carlo, a simulação introduz uma forma sofisticada de randomização que opera em blocos de negociações consecutivas em vez de negociações individuais:
- Criação de blocos: A sequência original de negociações é dividida em blocos de negociações consecutivas (padrão de 5 negociações por bloco, configurável de 2 a 50). Cada bloco representa um período coeso de comportamento do mercado, preservando as relações internas entre as negociações que ocorreram durante condições de mercado semelhantes.
- Amostragem por blocos de bootstrap: Em vez de simplesmente embaralhar as negociações individuais, a simulação usa amostragem bootstrap para selecionar blocos aleatoriamente com substituição. Isso significa que alguns períodos de regime de mercado (blocos) podem aparecer várias vezes em uma simulação, enquanto outros podem não aparecer, imitando como determinadas condições de mercado podem dominar alguns períodos enquanto estão ausentes em outros.
- Preservação da estrutura do regime: Em cada bloco selecionado, a sequência de negociação original e as relações de tempo são mantidas. Isso preserva a microestrutura autêntica do mercado, as relações de entrada/saída e os padrões de comportamento específicos do regime que definem o desempenho real de sua estratégia durante essas condições.
- Reconstrução de carimbo de data/hora: Após a randomização do bloco, a simulação opcionalmente reconstrói os registros cronológicos de tempo para manter o cálculo adequado da curva de patrimônio e as métricas de desempenho, garantindo que a sequência randomizada apareça como um histórico de mercado alternativo plausível.
Por exemplo, imagine que seu backtest original continha esses blocos de negociação:
- Bloco 1: 5 negociações durante uma tendência de mercado em alta
- Bloco 2: 5 negociações durante a consolidação de alta volatilidade
- Bloco 3: 5 negociações durante uma queda no mercado de baixa
- Bloco 4: 5 negociações durante a recuperação da baixa volatilidade
Uma simulação pode ser bootstrap para: Bloco 2 → Bloco 1 → Bloco 2 → Bloco 4, criando um cenário em que os períodos de volatilidade predominam, as fases de tendência são reduzidas e os mercados de baixa estão completamente ausentes. Outra simulação poderia gerar: Bloco 3 → Bloco 3 → Bloco 1 → Bloco 4, criando um cenário de mercado de baixa intenso seguido de recuperação.
Esse teste difere fundamentalmente dos testes de randomização de comércio individual ou de jitter de parâmetros. Em vez de testar a sensibilidade às variações de execução ou à instabilidade dos parâmetros, o MACHR Block Randomization avalia especificamente dependência de sequência de regime. Ele responde se o sucesso de sua estratégia foi devido a uma sequência feliz de condições de mercado ou se ela permaneceria robusta em diferentes arranjos plausíveis dos mesmos regimes de mercado.
Ao executar mais de 500 simulações, você gera uma distribuição de resultados de desempenho que reflete o desempenho de sua estratégia em diferentes "históricos de mercado" possíveis, cada um contendo os mesmos tipos de condições de mercado, mas em sequências remodeladas. Isso fornece uma visão crucial para saber se a vantagem de sua estratégia é realmente independente do regime ou se ela depende de sequências específicas de condições de mercado que podem não se repetir no futuro.
Uma estratégia que mostra um desempenho consistente em todas as simulações do MACHR demonstra a verdadeira robustez do regime. Por outro lado, a alta variação nos resultados da simulação sugere que a estratégia pode ser excessivamente dependente da sequência histórica específica dos regimes de mercado em seus dados de backtest.
Como importar snippets personalizados (como este teste Monte Carlo) para o SQX: https://strategyquant.com/doc/programming-for-sq/import-export-custom-indicators-and-other-snippets/
Excelente!!!
Não consigo baixar o arquivo. Somente o navegador Google Chrome exibe texto.