Documentazione

Applicazioni

Ultimo aggiornamento il 16. 11. 2018 da Mark Fric

Profilo di ottimizzazione e permutazione dei parametri di sistema in StrategyQuant

Questo articolo tratterà di due importanti novità che sono state aggiunte a StrategyQuant X Build 114.

Sono collegati tra loro ed entrambi cercano di rispondere alle domande più importanti quando si crea una nuova strategia di trading:

  • La mia nuova strategia ha un vantaggio reale?
  • Posso aspettarmi che funzioni su dati sconosciuti / in futuro?


Entrambi i metodi si basano sull'esecuzione e sulla valutazione dell'ottimizzazione della strategia: ciò significa che è necessario ottimizzare prima i parametri della strategia e poi applicare uno o entrambi i metodi per valutare i risultati di tutte le ottimizzazioni.


Profilo di ottimizzazione

è descritto nel video di Robert Pardo disponibile qui: https://www.buildingrobuststrategiesmasterclass.com/overcome-curve-fitting

Guardatelo per avere una comprensione completa di questa tecnica.

L'idea del profilo di ottimizzazione è semplice: dopo l'ottimizzazione dei parametri della strategia, creiamo e valutiamo un "profilo" di tutti i cicli di ottimizzazione.

Ci sono 5 cose fondamentali da ricercare nel profilo di ottimizzazione:

  1. Quanto è grande la porzione di tutte le corse di ottimizzazione che sono positive? - La logica alla base è che la strategia deve funzionare con un'ampia gamma di parametri.
  2. Il profitto medio di tutte le ottimizzazioni deve essere superiore a zero. - simile al punto precedente
  3. La distribuzione di tutti i profitti è il più possibile uniforme. - cioè non salta da positivo a negativo con ogni ottimizzazione
  4. L'ottimizzazione top non dovrebbe essere troppo grande (entro 1 deviazione standard) rispetto al risultato medio dell'ottimizzazione. - in modo che i risultati non siano falsati da un solo run con prestazioni eccezionali.
  5. La forma del paesaggio di ottimizzazione sul grafico 3D deve essere "stabile". - questo può essere controllato solo visivamente


Come viene implementato il profilo di ottimizzazione in StrategyQuant X

La cosa migliore è che non dovete fare nulla: il profilo di ottimizzazione viene creato e salvato per ogni ottimizzazione eseguita, quindi se state eseguendo un'ottimizzazione semplice o Walk-Forward, StrategyQuant creerà un profilo di ottimizzazione per la vostra ottimizzazione che potrete valutare.

 

Controllo del profilo di ottimizzazione nei risultati

Se la strategia contiene un profilo di ottimizzazione, nei risultati sarà visibile una nuova scheda "Profilo di ottimizzazione".
Qui si possono vedere i pannelli per tutte le proprietà che devono essere valutate in base alle regole del profilo di ottimizzazione.

 

Il primo pannello mostra i numeri e le percentuali delle ottimizzazioni redditizie e perdenti e il primo controllo che valuta il punto 1. dell'elenco precedente.

Il secondo pannello mostra l'istogramma del profitto netto per tutti i cicli di ottimizzazione. Ogni barra rappresenta il profitto netto ottenuto in questa ottimizzazione e la linea rossa mostra il profitto netto medio di tutti i cicli.
Sotto il grafico sono presenti tre controlli che valutano i punti da 2 a 4 dell'elenco precedente.

Il terzo pannello a destra visualizza il grafico di ottimizzazione 3D in uno dei quattro stili possibili. È possibile scegliere i parametri sugli assi X e Y, nonché il valore visualizzato sull'asse Z.

 

Utilizzo del profilo di ottimizzazione nel controllo incrociato

Nuovo controllo incrociato denominato Opt. Profilo / Sistema. Param. Permutazione è stato aggiunto al sistema ed è possibile attivarlo nella sezione controlli incrociati delle impostazioni.

La configurazione è semplice: si sceglie solo il tipo di parametri da ottimizzare e il numero massimo di ottimizzazioni diverse da eseguire.

Poi, in Filtraggio, si possono configurare le condizioni di FAIL/PASS, ovvero quali dovrebbero essere le condizioni dell'opzione profilo di ottimizzazione per la strategia per superare questo controllo.

È possibile attivare/disattivare il controllo specifico e impostare il limite per ogni controllo.

 

Permutazione dei parametri del sistema (SPP)

Questo metodo è stato originariamente descritto da Dave Walton di StatisTrade ed è disponibile nel documento qui: http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2423187

Anche in questo caso, si consiglia di leggere il documento originale per una comprensione completa.

L'idea alla base (in termini molto semplificati) è che dalla strategia nel suo stato attuale, con i suoi valori attuali dei parametri, non possiamo determinare se la strategia abbia un vantaggio. Se la strategia è stata creata tramite data mining (come nel caso di StrategyQuant X), i suoi parametri potrebbero essere stati selezionati casualmente in modo che i loro valori si adattino più o meno ai dati storici e rendano la strategia più o meno redditizia.

L'idea alla base della Permutazione dei parametri del sistema è quella di testare TUTTI i parametri possibili. (cioè ottimizzare la strategia con tutte le combinazioni possibili), e solo dai dati di tutti i cicli di ottimizzazione possiamo fare alcune ipotesi sulle prestazioni realistiche della strategia.

Le informazioni importanti che l'SPP calcola sono Mediano valori per ogni statistica di performance della strategia - Profitto netto, Drawdown, Drawdown %, Sharpe ratio e così via. Quindi, possiamo vedere il profitto netto mediano, il drawdown mediano e così via.

Questi valori mediani sono quelli che possiamo considerare (secondo il documento) la stima realistica delle prestazioni reali della strategia su dati dati.

L'utilizzo è semplice: al posto del profitto netto del backtest sui dati principali si deve considerare il profitto netto mediano calcolato con SPP.


Verifica della permutazione dei parametri del sistema nei risultati

Se la strategia contiene dati SPP, viene visualizzata una nuova scheda "Sys. Param. Permutazione" sarà visibile nei Risultati.

È molto semplice: a sinistra c'è una tabella che mostra i valori mediani di tutte le statistiche calcolate dal backtest applicando il metodo SPP ai risultati dell'ottimizzazione.

A destra sono presenti grafici che mostrano la frequenza e a destra grafici configurabili che visualizzano istogrammi di conteggio, con valori mediani per i valori configurati.


Utilizzo della permutazione dei parametri del sistema nel controllo incrociato

SPP è utilizzato nel nuovo controllo incrociato denominato Opt. Profilo / Sistema. Param. Permutazione.

La configurazione di questo controllo incrociato è già stata descritta nel documento Profilo di ottimizzazione sezione.

La parte di filtraggio consente di verificare i valori mediani di tutte le colonne standard, ad esempio il profitto netto mediano e il drawdown mediano.

Per utilizzare i valori mediani nei filtri è necessario prima scegliere le colonne che si desidera visualizzare, quindi modificare ciascuna di esse con un doppio clic e scegliere "Opt. Profilo / Sys. Param. Permutaiton" e selezionare come valore in Dal backtest campo.

In questo modo la colonna viene sottoposta al controllo incrociato dei parametri di sistema, che calcola il valore mediano della colonna originale.

Visualizzazione dei valori mediani nella banca dati

I valori mediani calcolati da SPP possono essere visualizzati anche nella banca dati, allo stesso modo del filtro descritto sopra. È sufficiente fare clic su Gestisci vista, aggiungere una nuova colonna, cambiare il suo Dal backtest a "Opt. Profilo / Sistema. Param. Permutazione" e si vedranno i valori mediani nella banca dati.

Si noti che questi valori verranno calcolati e visualizzati solo se il controllo incrociato era attivo e se è stato calcolato un profilo di ottimizzazione per la strategia.


Nota importante sui test massimi e sulle possibili combinazioni di parametri

Entrambi i metodi partono dal presupposto che vengano testate TUTTE le possibili combinazioni di parametri della strategia. Questo è possibile se la strategia ha solo 2 o 3 parametri configurabili.
È infatti altamente consigliato che la strategia abbia il minor numero possibile di parametri configurabili (gradi di libertà).

In realtà, però, la strategia di trading ha solitamente più parametri e il numero di tutte le loro possibili combinazioni può andare da migliaia a miliardi o addirittura trilioni.
Non è possibile né fattibile testare tutte queste combinazioni.
In StrategyQuant X abbiamo risolto questo problema limitando il numero massimo di test di ottimizzazione - questo è il 
Test massimi numero che si può impostare nelle impostazioni di ottimizzazione. Una volta raggiunto questo limite, l'ottimizzazione si interrompe.

Limitare il numero di test è l'unico approccio realistico, ma bisogna essere consapevoli di questo limite e del suo impatto.

Se il numero di tutte le possibili combinazioni di parametri è molto più grande di questo limite, si valuterà solo un piccolo sottoinsieme di tutte le possibili varianti di strategia, il che limita in qualche modo anche le informazioni che si otterranno applicando il profilo di ottimizzazione o il metodo SPP.

Esistono metodi più avanzati per affrontare questo problema e li aggiungeremo a StrategyQuant in futuro, quindi restate sintonizzati per saperne di più.

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

Abbonarsi
Notificami
4 Commenti
Il più vecchio
Più recente I più votati
Feedback in linea
Visualizza tutti i commenti
SteveChou
SteveChou
27. 5. 2020 3:07 pm

Penso che se la distribuzione delle prestazioni fosse una distribuzione normale.

L'ottimizzazione top è difficilmente più piccola del risultato medio dell'ottimizzazione + 1 stddev, giusto?

tomas262
tomas262
Rispondi a  SteveChou
3. 7. 2020 10:13 pm

Steve, puoi fornire un esempio di supporto.com
Possiamo discutere di ulteriori dettagli

Juan José Fernandez Orantes
19. 10. 2024 9:31 am

Hello, I´m making a deeper study about SPP, SQ only screens the graphical results of the SPP, It could be better to have all the sample distribution to have a deeper knowledge about the results distribution and make the optimal statistical inference.

Is it possible to export-extract the SPP results in CSV or similar format? How?

Thank you, Juanjo.

tomas262
Admin
Rispondi a  Juan José Fernandez Orantes
25. 10. 2024 9:07 pm

Unfortunately not possible to do now but we could add this feature into future versions