Documentazione

Applicazioni

Ultimo aggiornamento il 1. 3. 2019 da Kornel Mazur

Ottimizzazione semplice

L'idea alla base di un'ottimizzazione è semplice. Innanzitutto è necessario disporre di un sistema di trading, ad esempio un semplice incrocio di medie mobili.

In quasi tutti i sistemi ci sono alcuni parametri (periodi dell'indicatore, costanti comparative, ecc.) che decidono il comportamento del sistema. L'ottimizzazione significa testare il sistema con diversi valori dei parametri.

per trovare i valori ottimali di questi parametri (che danno il massimo profitto o il miglior rapporto rendimento/DD).

Esempio di ottimizzazione

Fase 1: caricare una strategia di ottimizzazione

Per prima cosa, è necessario passare alla finestra Optimizer e caricare la strategia che si desidera ottimizzare.

Per questo esempio utilizzeremo una semplice strategia EMA Cross che va long quando l'EMA più veloce incrocia l'EMA più lenta e va short quando l'EMA più veloce incrocia l'EMA più lenta.

Dopo aver caricato la strategia, questa viene aggiunta come strategia originale alla banca dati dei risultati dell'ottimizzazione.

È possibile fare doppio clic sulla strategia Originale e poi andare su Risultati -> Codice sorgente per vedere le sue regole.

Assicurarsi di controllare il Assegnare valori alle variabili in modo da vedere che le variabili LongEMAPeriod, LongEMAPeriod2, ShortEMAPeriod, ShortEMAPeriod2 sono utilizzate per memorizzare i parametri dell'indicatore.

Nella nostra ottimizzazione cercheremo di trovare i valori ottimali di questi parametri.

C'è ancora un piccolo problema. Possiamo notare che la strategia utilizza parametri diversi per la direzione long e short.

Possiamo usarlo in questo modo se vogliamo trovare i valori ottimali indipendentemente per il lato lungo e per quello corto, ma per il nostro esempio vorremmo usare lo stesso parametro per il lato lungo e per quello corto.

Possiamo farlo utilizzando l'altra casella di controllo Generare variabili simmetriche

Se si seleziona la casella di controllo, verranno utilizzati gli stessi parametri per la direzione lunga e corta (a condizione che le regole siano le stesse).

Ora si può notare che la strategia contiene solo i parametri EMAPeriod, EMAPeriod2 che vengono utilizzati per entrambe le direzioni.

Fase 2: Impostazione dei valori di ottimizzazione

Per impostare i valori che saranno ottimizzati dobbiamo andare in Impostazioni -> Parametri

Parametri - automatici

Una volta selezionata questa opzione, tutti i parametri avranno l'intervallo di valori generato automaticamente utilizzando un processo di distribuzione definito da Distribuzione del valore (%). Questo valore definisce la fluttuazione del valore del parametro con incrementi di %. Passi massimi definisce il numero di incrementi di % per il valore del parametro.

Parametri - manuale

Qui è possibile visualizzare l'elenco di tutti i parametri della strategia disponibili per l'ottimizzazione e la modifica manuale.
Ottimizzare significa semplicemente provare diversi valori dei parametri di ingresso.

Per ogni parametro che si vuole ottimizzare è necessario controllo la riga del parametro e scegliere Inizio, Fermarsi e Passo valori. L'ottimizzatore itererà il valore da Start a Stop, prendendo i passi.

Il valore originale è anch'esso configurabile e verrà utilizzato per testare nuovamente la strategia originale. È possibile utilizzare questo valore per confrontare le prestazioni dei nuovi risultati con le impostazioni "originali".

Il Totale combinazioni indica quanti test devono essere eseguiti per verificare tutte le combinazioni di valori. Questo valore può essere limitato utilizzando Ottimizzazioni massime.

Nota!

È possibile che la tabella dei parametri contenga un numero maggiore di parametri; potrebbe avere un aspetto simile a questo:

Questa è un'altra potente caratteristica di StrategyQuant. Consente di ottimizzare non solo i parametri della strategia, ma anche altre opzioni di trading, come ad esempio il numero di operazioni da effettuare al giorno, l'intervallo di tempo in cui effettuare il trading o persino gli spostamenti degli indicatori.

Queste impostazioni fanno normalmente parte delle Opzioni strategia, ma è anche possibile ottimizzarne i valori.

L'ultima cosa da configurare sono i dati da utilizzare per i test. Per questo esempio, possiamo scegliere EURUSD sul timeframe H1 nella sezione Dati scheda.

Fase 3: esecuzione dell'ottimizzazione

Prima di iniziare il processo di ottimizzazione, dobbiamo decidere come StrategyQuant memorizzerà i risultati. Esistono due opzioni. StrategyQuant può Memorizzare tutte le ottimizzazioni nella banca dati o Conservare solo i migliori ottimizzazione che mantiene nella banca dati solo la modifica più performante della strategia.

Ora siamo pronti a eseguire l'ottimizzazione. Facciamo clic su Inizio pulsante.

Il motore di ottimizzazione verifica tutte le possibili combinazioni dei parametri di input selezionati e memorizza i risultati per ogni combinazione nella banca dati in basso.

Possiamo ordinare la banca dati in base al profitto netto e possiamo vedere che i migliori valori di input in termini di profitto massimo sono EMAPeriod = 9 ed EMAPeriod2 = 40.

Nota!

Alcuni risultati sono contrassegnati da un punto esclamativo accanto al titolo della strategia. Ciò significa che per determinati parametri impostati l'ottimizzatore ha riscontrato un comportamento strano della strategia, che deve essere rivista manualmente in modo più dettagliato.

 

Interpretare i risultati

Ora abbiamo parametri di input ottimizzati per il nostro simbolo e il nostro timeframe.

Quello che abbiamo fatto è stato scoprire cosa ha funzionato meglio in passato. Dobbiamo fare molta attenzione perché i parametri potrebbero essere ideali per i dati storici,

ma non c'è garanzia che ciò che ha funzionato meglio sui dati storici funzionerà anche in futuro.

Si tratta del cosiddetto "curve fitting": di solito, più parametri ha la strategia, maggiore è il rischio di curve fitting.

Esistono due approcci all'adattamento delle curve:

  • assicurarsi che la strategia sia robusta e non ottimizzi affatto i suoi valori
  • assicurarsi che la strategia benefici di una riottimizzazione periodica

Quindi la domanda è: la riottimizzazione periodica migliorerà i risultati della mia strategia?

Se sì, con quale frequenza devo farlo?

 

StrategyQuant può fornire risposte a queste domande utilizzando un'altra delle sue funzionalità avanzate. Ottimizzazione Walk-Forward e la matrice Walk-Forward.

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

Abbonarsi
Notificami
0 Commenti
Feedback in linea
Visualizza tutti i commenti