Monte Carlo - Randomizzazione a blocchi MACHR
Nel mondo reale del trading, le condizioni di mercato non seguono una sequenza prevedibile. Mercati toro, mercati orso, periodi di alta volatilità e fasi di consolidamento possono verificarsi in ordini molto diversi tra i vari periodi di tempo o strumenti. Una strategia che si comporta bene durante una particolare sequenza di regimi di mercato potrebbe avere difficoltà se quegli stessi regimi si presentassero in un ordine diverso. Questa simulazione Monte Carlo è progettata specificamente per testare la solidità della vostra strategia di fronte alle variazioni del mercato. sequenza di regimi di mercatosenza distruggere le caratteristiche interne che definiscono ogni periodo di regime.
Il test di randomizzazione a blocchi MACHR (Market Condition Historical Randomization) risponde a una domanda fondamentale: "E se si verificassero le stesse condizioni di mercato, ma in un ordine diverso?".
Quando applichiamo questo test di Monte Carlo, la simulazione introduce una forma sofisticata di randomizzazione che opera su blocchi di compravendite consecutive piuttosto che le singole compravendite:
- Creazione del blocco: La sequenza di scambi originale viene suddivisa in blocchi di scambi consecutivi (default 5 scambi per blocco, configurabili da 2 a 50). Ogni blocco rappresenta un periodo coeso di comportamento del mercato, preservando le relazioni interne tra gli scambi avvenuti in condizioni di mercato simili.
- Campionamento a blocchi Bootstrap: Invece di rimescolare semplicemente le singole operazioni, la simulazione utilizza un campionamento bootstrap per selezionare casualmente i blocchi con sostituzione. Ciò significa che alcuni periodi di regime di mercato (blocchi) potrebbero comparire più volte in una simulazione, mentre altri potrebbero non comparire affatto - imitando il modo in cui determinate condizioni di mercato possono dominare alcuni periodi mentre sono assenti in altri.
- Conservazione della struttura del regime: All'interno di ciascun blocco selezionato, vengono mantenute le sequenze di negoziazione e le relazioni temporali originali. In questo modo si preserva l'autentica microstruttura del mercato, le relazioni di entrata/uscita e i modelli di comportamento specifici del regime che definiscono l'effettivo andamento della strategia in quelle condizioni.
- Ricostruzione del timestamp: Dopo la randomizzazione dei blocchi, la simulazione ricostruisce facoltativamente i timestamp cronologici per mantenere il calcolo corretto della curva di equity e le metriche di performance, garantendo che la sequenza randomizzata appaia come una storia di mercato alternativa plausibile.
Ad esempio, immaginiamo che il backtest originale contenga questi blocchi di negoziazione:
- Blocco 1: 5 operazioni durante un mercato toro in tendenza
- Blocco 2: 5 operazioni durante il consolidamento dell'alta volatilità
- Blocco 3: 5 operazioni durante un ribasso del mercato orso
- Blocco 4: 5 operazioni durante la ripresa della bassa volatilità
Una simulazione potrebbe essere bootstrap a: Blocco 2 → Blocco 1 → Blocco 2 → Blocco 4, creando uno scenario in cui dominano i periodi di volatilità, le fasi di tendenza sono ridotte e i mercati orso sono completamente assenti. Un'altra simulazione potrebbe generare: Blocco 3 → Blocco 3 → Blocco 1 → Blocco 4, creando uno scenario caratterizzato da mercati ribassisti seguiti da una ripresa.
Questo test si differenzia fondamentalmente dai test di randomizzazione delle singole operazioni o di jitter dei parametri. Piuttosto che verificare la sensibilità alle variazioni di esecuzione o all'instabilità dei parametri, la randomizzazione dei blocchi MACHR valuta specificamente dipendenza dalla sequenza del regime. Risponde se il successo della vostra strategia è dovuto a una fortunata sequenza di condizioni di mercato, o se rimarrebbe solida in diverse disposizioni plausibili degli stessi regimi di mercato.
Eseguendo più di 500 simulazioni, si genera una distribuzione dei risultati di performance che riflette il modo in cui la vostra strategia potrebbe performare in diverse possibili "storie di mercato", ciascuna contenente gli stessi tipi di condizioni di mercato ma in sequenze rimescolate. Ciò consente di capire se il vantaggio della vostra strategia è veramente indipendente dal regime o se si basa su specifiche sequenze di condizioni di mercato che potrebbero non ripetersi in futuro.
Una strategia che mostra una performance costante in tutte le simulazioni MACHR dimostra una vera robustezza del regime. Al contrario, un'elevata varianza nei risultati delle simulazioni suggerisce che la strategia potrebbe essere eccessivamente dipendente dalla particolare sequenza storica di regimi di mercato nei dati del backtest.
Come importare snippet personalizzati (come questo test Monte Carlo) in SQX: https://strategyquant.com/doc/programming-for-sq/import-export-custom-indicators-and-other-snippets/
Grande!!!
Non riesco a scaricare il file. Mostra solo il testo del browser Google Chrome.