Monte Carlo – Degrada l'esecuzione in modo casuale
StrategyQuantPlugin
Degrada in modo casuale i prezzi di esecuzione per simulare lo slippage reale e l'allargamento dello spread. Testa la robustezza della strategia attraverso simulazioni Monte Carlo con pattern probabilistici di imperfezione nell'esecuzione.
Le imperfezioni nell'esecuzione, come lo slippage dei prezzi o spread temporaneamente più ampi, sono eventi comuni nel trading reale. Questi fattori possono far sì che il prezzo effettivo di chiusura di un trade sia meno favorevole rispetto al prezzo ideale osservato o previsto durante il backtest. Questa simulazione Monte Carlo modella l'impatto di tali problemi casuali di esecuzione.
Se applichiamo questo test Monte Carlo, una percentuale casuale di trade (Probability) durante il backtest vedrà peggiorato il risultato della propria esecuzione. Ciò avviene peggiorando il ClosePrice delle operazioni selezionate. Anche l'entità del peggioramento del ClosePrice è casuale per ciascun trade interessato, calcolata come una percentuale casuale (fino a Max Degradation Percent) del range di prezzo coperto da quello specifico trade (da OpenPrice al ClosePrice originale). Un prezzo "peggiore" significa un prezzo di chiusura più basso per le operazioni long e un prezzo di chiusura più alto per le operazioni short, riducendo così i profitti o aumentando le perdite.
In parole semplici, eseguendo 500 (o un numero diverso di) backtest, in cui ciascun backtest applica questo degrado casuale dei prezzi a un sottoinsieme diverso di trade e con diversa entità, puoi acquisire una prospettiva di analisi Monte Carlo sulla sensibilità della strategia alle variazioni della qualità di esecuzione.
In questo particolare esempio, potremmo eseguire 100 simulazioni con il degrado casuale dell'esecuzione applicato come descritto.
Questo test differisce dall'applicazione di un valore fisso di slippage a tutti i trade. In questo caso, l'effetto di degrado è probabilistico:
Quali operazioni vengono interessate è casuale (in base alla Probability).
Anche l'entità del degrado di ogni operazione interessata è casuale (fino al Max Degradation Percent del suo intervallo).
Pertanto, ogni simulazione eseguita rappresenta uno scenario di backtest unico. Una simulazione potrebbe vedere i trade #5, #23 e #58 degradati di piccole entità, mentre un'altra simulazione potrebbe interessare i trade #12, #23, #45 e #70, con il trade #23 che potrebbe subire un degrado di prezzo maggiore rispetto alla prima simulazione. Se il numero di simulazioni Monte Carlo è impostato su 500, ci saranno 500 risultati di backtest unici, ognuno dei quali riflette un diverso pattern plausibile di imperfezioni casuali nell'esecuzione. Ciò aiuta a valutare la robustezza della strategia rispetto alle variazioni imprevedibili dell'esecuzione riscontrate sui mercati reali.
Come importare snippet / indicatori personalizzati in SQX:
Mi conoscete come clonex. Sono Ivan Hudec: ho creato i blocchi gratuiti che state usando qui e scrivo della ricerca che c'è dietro su algotrading.space. Avete bisogno di sviluppare qualcosa? Lavorate con me.