Documentazione

Applicazioni

Ultimo aggiornamento il 1. 3. 2019 da Kornel Mazur

Manipolazione dei trade Monte Carlo

Questo controllo incrociato esegue delle simulazioni in cui in ogni simulazione manipola le operazioni esistenti - le mescola, ne perde alcune e così via.

È molto veloce, perché non richiede l'esecuzione di backtest, ma lavora su operazioni già esistenti dal backtest principale.

L'idea è quella di verificare quanto la curva dell'equity della strategia dipenda dal particolare ordine degli scambi e cosa succederebbe se alcuni scambi venissero mancati.

È possibile effettuare queste manipolazioni commerciali in ogni simulazione:

Randomizzare l'ordine delle compravendite - Questo è il test più semplice, in quanto rimescola in modo casuale l'ordine delle operazioni. Questo non cambia il profitto netto risultante, ma è molto utile per esaminare le diverse variazioni del drawdown che possono derivare da un diverso ordine delle operazioni.

Saltare a caso le compravendite - salterà casualmente le operazioni con una determinata probabilità. Nel trading reale può capitare di perdere un'operazione a causa di un guasto della piattaforma o di Internet, o semplicemente perché si è interrotto il trading per qualche tempo. Questo test vi darà un'idea di come potrebbe apparire la curva dell'equity se alcune operazioni venissero saltate a caso.

Interpretare i risultati

I test di robustezza forniscono i risultati sotto forma di una serie di grafici azionari per ogni esecuzione del test e di una tabella che mostra i risultati della simulazione Monte Carlo.

In questo esempio abbiamo eseguito 100 simulazioni, con operazioni saltate a caso.

Possiamo vedere quale sarebbe il patrimonio netto per ciascuna di queste simulazioni e la tabella a sinistra ci fornisce informazioni preziose sulle proprietà della strategia durante queste simulazioni.

Cosa significano questi valori?

La prima riga mostra i valori di Profitto netto, Drawdown massimo % ecc. della strategia originale a titolo di confronto.

Le altre righe mostrano i valori a diversi livelli di confidenza.

Questi numeri sono il risultato dell'analisi Monte Carlo applicata alle nostre 10 simulazioni casuali.

Ad esempio, valori con un livello di confidenza di 80% significano che esiste una probabilità di 20% che il Profitto netto, il Drawdown ecc. siano peggiori dei valori del livello di confidenza.

I valori con un livello di confidenza di 90% significano che esiste una probabilità di 10% che il Profitto netto, il Drawdown ecc. siano peggiori dei valori del livello di confidenza.

I valori con un livello di confidenza di 95% significano che c'è solo una probabilità di 5% che il Profitto netto, il Drawdown, ecc. siano peggiori di questi valori.

Quindi la simulazione Monte Carlo della nostra strategia ci mostra che saltando 10% di casualità il nostro Profitto netto può diminuire da $ 6990 a $ 3943, e il Drawdown massimo può aumentare da 6,97% a 11,36%.

Ciò significa che c'è solo il 5% di probabilità che il profitto netto sia inferiore a $ 3943. Osservando i livelli di confidenza più elevati, possiamo notare che nessuno dei nostri test ha ottenuto risultati peggiori di $ 3943, quindi la strategia sembra essere relativamente robusta ai cambiamenti a cui l'abbiamo esposta.

Poiché le simulazioni Monte Carlo sono generate in modo casuale, i grafici azionari e i valori della tabella differiscono leggermente ogni volta che si esegue un nuovo test della strategia. Inoltre, più simulazioni verranno eseguite, maggiore sarà la significatività statistica di questo test.

Questo articolo è stato utile? L'articolo è stato utile L'articolo non è stato utile

Abbonarsi
Notificami
2 Commenti
Il più vecchio
Più recente I più votati
Feedback in linea
Visualizza tutti i commenti
Partizanas
Partizanas
11. 1. 2020 11:48

dove posso leggere in dettaglio la differenza tra test esatti e di ricampionamento e come questi test influenzano l'intera simulazione?

tomas262
tomas262
Rispondi a  Partizanas
21. 1. 2020 8:17 pm

Salve, con il ricampionamento il programma sceglie casualmente il numero totale di operazioni dal pool di tutte le operazioni dello storico. La differenza è che in questo metodo l'elenco delle operazioni potrebbe non essere lo stesso. Può scegliere un'operazione più volte e un'altra potrebbe non essere scelta affatto.
Con il metodo esatto vengono considerate tutte le operazioni