Cosa abbiamo imparato analizzando 1,2 milioni di strategie FX

Parte 1: Complessità e numero di operazioni

Circa un anno e mezzo fa, sono giunto alla conclusione che il margine del mio flusso di lavoro per lo sviluppo della strategia si stava riducendo. . Nel 2014-15, guadagnare 40-55% all'anno su FX non era un problema. Nel 2016-2017, è diventato sempre più difficile ottenere profitti con il flusso di lavoro standard. Pertanto, ho deciso di esaminare e analizzare alcuni paradigmi di alcune procedure nel dettaglio statistico.

Abbiamo quindi generato circa 1,2 milioni di strategie utilizzando solo filtri di base come un numero minimo di operazioni e una stabilità SQ3 > 0,6. Abbiamo utilizzato il campione di dati più ampio possibile per il periodo 1987-2017 IS + OS e per il periodo 2017-2020. ( WFOS )
Come True Out-of-sample (WFOS ) abbiamo utilizzato il periodo 2019-2020 - due anni. Durante questo periodo abbiamo osservato gli effetti della selezione, dei test di robustezza e di altre analisi.

Abbiamo sviluppato strategie per un time frame di 1 ora e per un time frame di 4 ore, abbiamo utilizzato la struttura delle commissioni di Darwinex e abbiamo avuto uno slippage di 1 pip in ogni mercato.

L'obiettivo era quello di esplorare:

quali fattori nella selezione della strategia influenzano Prestazioni vere fuori dal campione ( WFOS )

Come funzionano i test di robustezza di base

  • complessità rispetto alle prestazioni di True Out-of-sample ( WFOS)
  • l'effetto del numero di operazioni sulla performance della strategia
  • analisi dello spread rispetto alle prestazioni del True Out-of-sample (WFOS)

Come funziona

  • Filtraggio Monte Carlo
  • SPP
  • Test multimercato

Nel progettare l'analisi, ho tratto ispirazione dalle interviste con i trader di Better System e da altre interviste con vari gestori di hedge fund, oltre che, naturalmente, dagli strumenti di test di robustezza disponibili in StrategyQuant X.

Ho usato lo strumento Python, almeno la libreria Pandas, e ho lavorato con l'IDE Jupyter Notebook.
Per generare un insieme così ampio di strategie sono stati necessari 3 PC Strong con circa 150 core in totale. La generazione in sé ha richiesto un mese e un altro mese e mezzo per la preparazione e i test. Ci hanno lavorato due persone. La forma iniziale di analisi è stata la verifica manuale dei fattori in Python, successivamente ho utilizzato metodi di apprendimento automatico per convalidare i miei risultati.

 

 

In questi mercati abbiamo ottenuto i seguenti riconoscimenti:

Modifica: aggiunte ulteriori informazioni:

 

  • Nel costruttore abbiamo abilitato tutti i tipi di uscita possibili, tranne l'Exit Rule. Abbiamo anche abilitato l'uscita il venerdì per evitare le lacune del fine settimana.
  • L'unico tipo di entrata utilizzato nelle nostre strategie è l'entrata allo stop.

Complessità

Inizialmente ero interessato alla complessità. Se consideriamo la strategia come un modello ottenuto tramite data mining, possiamo utilizzare il paradigma dell'apprendimento automatico e varie altre fonti su come la complessità del modello influisca sulla performance fuori campione. Nel nostro caso, possiamo ipotizzare che la complessità della strategia ottenuta tramite data mining abbia un impatto sulla performance della strategia nella sua True Out-of-sample Performance (WFOS - una porzione di dati che non è mai stata utilizzata nello sviluppo o nella selezione della strategia).

Nella figura precedente, vediamo tutte le strategie suddivise per complessità e il loro effetto sulla strategia mediana in un determinato intervallo di complessità (l'intervallo 2-3 indica tutte le strategie con complessità 2, ecc.)

  • Utile netto mediano WFOS
  • Fattore di profitto mediano WFOS

Nel riquadro arancione si vedono due colonne

  • Rel. freq: frequenza relativa delle strategie in un determinato intervallo ( bucket)
  • Conteggio: numero di strategie in un determinato intervallo (bucket)

Si noti che le strategie ad alta complessità avevano valori mediani più bassi per il profitto netto e il fattore di profitto in WFOS (True Out-of-sample ). Al contrario, le strategie con una maggiore complessità avevano valori mediani peggiori.

Vediamo ora la rappresentazione grafica della tabella precedente

Complessità vs. WFOS Utile netto mediano

Nota: la linea rossa rappresenta il valore medio della complessità nel set di dati.

Nel grafico precedente, vediamo che le strategie con complessità 2 e 3 hanno ottenuto risultati mediani True Out-of-sample molto scarsi. Risultati insolitamente scarsi sono stati raggiunti anche dalle strategie con la complessità più alta, pari a 19. Tuttavia, è importante notare che si tratta di outlier, ossia di strategie numericamente molto scarse.

Complessità vs. fattore di profitto WFOS

Se ripuliamo il set di dati dai valori anomali (seleziono solo i valori di complessità in cui si riscontra il maggior numero di strategie), vediamo ancora più chiaramente le osservazioni dei grafici precedenti.

Seleziono solo le strategie la cui complessità è superiore a 3 e inferiore a 13.

Nella figura precedente, vediamo che più bassa è la complessità, migliori sono i valori mediani dell'utile netto e del fattore di profitto (complessità 4, 5, 6 e valori mediani nel riquadro verde).

Diamo uno sguardo alla rappresentazione visiva della tabella precedente

Minore è la complessità della strategia, migliore è il risultato del WFOS Median Net e del WFOS Median Profit Factor.

Nell'analisi, utilizzo anche test inferenziali parametrici e non parametrici. È stata formulata l'ipotesi nulla che non vi sia alcuna differenza statisticamente significativa tra WFOS NP e PF con complessità 4,5,6 rispetto alle strategie con complessità 7-13. I risultati del test mostrano che possiamo rifiutare l'ipotesi nulla e accettare l'ipotesi alternativa. I risultati del test mostrano che possiamo rifiutare l'ipotesi nulla e accettare l'ipotesi alternativa. Un numero elevato di strategie riduce significativamente la deviazione standard e aumenta la significatività del test.

Numero di scambi

Nell'analizzare il numero di operazioni, ho ipotizzato che più alto è il numero di operazioni (più ampio è il campione di operazioni), più significativi sono gli approfondimenti sulla qualità finale del modello. ( Strategie )

Quale risultato della strategia generata in SQX è più credibile? Quello che genera 10 operazioni in 10 anni o quello che realizza 1000 operazioni in 10 anni?

Vediamo un'analisi di base del nostro set di dati:

Distribuzione delle strategie in base al numero di operazioni nell'intero backtest

Distribuzione delle strategie in base a più operazioni suddivise in decili

Si possono notare le caratteristiche di base della distribuzione del numero di operazioni. Si noti il 1° decile e il 10° decile. Essi rappresentano gli intervalli 97-470 operazioni (1 decile) e 1598-9575 operazioni. ( 10 decile)
Cercherò di risolvere questo problema eliminando i valori anomali.

Nella figura precedente, si nota che anche dopo la pulizia del set di dati, il numero crescente di operazioni e quindi la significatività statistica non favoriscono la performance del Profitto netto mediano WFOS e del Fattore di profitto WFOS.

Nel grafico precedente, possiamo notare che un numero maggiore di operazioni non porta a risultati migliori in termini di profitto netto mediano WFOS e di fattore di profitto WFOS. In particolare, tenete presente che sto solo facendo una selezione. Non selezioniamo le strategie in base ad altri parametri.
Al contrario, i risultati mostrano che un minor numero di operazioni può significare risultati migliori nel WFOS.

Complessità + NdT

Proviamo a combinare i risultati dell'analisi della complessità precedente e a selezionare strategie con una complessità da 4 a 6 e diversi trade tra 480 e 2600.

Il cambiamento è evidente. La combinazione di strategie con minore complessità e numero di operazioni negli intervalli 1326-1708 e 1708-2599 porta a risultati significativamente migliori in termini di profitto netto mediano WFOS e fattore di profitto WFOS.

Conclusione della prima parte

Si può notare che la complessità del nostro set di dati può influire sulle strategie 1,2 vere fuori campione. Il numero di operazioni senza combinazioni non ha alcuna influenza, ma in combinazione con la complessità è un fattore forte. Ricordiamo che questa è la prima parte di una serie più ampia.

Il numero di operazioni senza combinazioni non ha alcuna influenza, ma in combinazione con la complessità è un fattore forte.

Cosa significa esattamente? Che si deve puntare a costruire strategie il più possibile semplici, pur producendo il maggior numero di operazioni possibili.
Se si vuole influire sulla complessità delle strategie in SQX, si dovrebbe mantenere basso il numero di regole di entrata e di uscita. Personalmente, preferisco che le condizioni di entrata massima siano impostate a 1-2.

Qui è possibile specificare il numero di condizioni di ingresso che influiscono direttamente sulla complessità:

Nella prossima puntata, la settimana prossima, analizzeremo la solidità della strategia a uno spread più elevato. Nelle prossime puntate, esamineremo le metriche standard consigliate, come il Profit Factor, il Rer/ DD Ratio e altre. Nelle puntate successive, esamineremo l'efficacia dei test Monte Carlo e dell'SPP.

Abbonarsi
Notificami
24 Commenti
Il più vecchio
Più recente I più votati
Feedback in linea
Visualizza tutti i commenti
Oliver
13. 10. 2021 7:19 pm

Ciao, ottima analisi! Sono curioso di sapere se le strategie analizzate sono simmetriche o solo in una direzione?

Emmanuel2
16. 10. 2021 8:52

Più di 1300 operazioni su una singola strategia, 1987-2017, sono molte!
ci deve volere molto tempo per trovare questa strategia

Qual è la differenza tra la stabilità e la stabilità SQ3? La stabilità SQ3 è migliore?

tomas262
Admin
Rispondi a  Emmanuel2
18. 10. 2021 10:14

Solo formule leggermente diverse. È possibile controllare SQ CodeEditor per vedere la differenza

Emmanuel2
16. 10. 2021 9:57

Un'altra domanda interessante sarebbe: quali sono gli indicatori più robusti?

Alcuni indicatori possono confondere il sistema, il che potrebbe spiegare perché dobbiamo evitare la complessità.

Ultima modifica 2 anni fa da Emmanuel2
Emmanuel2
16. 10. 2021 11:34

Il periodo di retrospettiva globale è al massimo di 3, forse questo porta complessità?

Emmanuel2
17. 10. 2021 15:51

Un modo per ridurre la complessità sarebbe quello di far lavorare SQX sia long che short, ma non in entrambi i modi nella stessa strategia.
La robustezza può essere rafforzata selezionando attentamente le strategie con gli indicatori più robusti.

Emmanuel2
18. 10. 2021 11:26 pm

Clonex, seguirò il tuo articolo con molta attenzione ????
Il tuo articolo sta dando molte idee !!!!
Grazie per la risposta

Emmanuel2
18. 10. 2021 11:28 pm

Grazie mille Tomas per la tua risposta !!!!
Guarderò nel codeeditor
State facendo un lavoro fantastico.

pequeno
22. 10. 2021 17:21
Ottimo lavoro!!! Ma quello che è stato, è stato. Quando farete altre analisi e altre ancora...? Non è questo il problema principale, perché si analizzano solo i parametri di processo.
pequeno
Rispondi a  clonex / Ivan Hudec
25. 11. 2021 20:26

Secondo il successo della costruzione di strategie di trading automatizzate, a mio parere, è necessario rispondere a 3 domande: 1. Quale mercato scegliere? 2. Come utilizzare il SQ? 3. Quale broker scegliere? che rappresentano anch'essi 3 fasi procedurali di base. Possiamo poi suddividere ciascuna di queste fasi in ulteriori fasi più dettagliate. Per ogni fase del processo, è necessario specificare uno o più parametri (qualche metrica), che utilizzeremo per valutare questa fase del processo. L'intero processo viene poi ripetuto e regolato nel tempo per ottenere risultati soddisfacenti. Pertanto, se analizziamo solo una parte del processo, indipendentemente da... Leggi il resto "

hannahis
27. 10. 2021 10:37

Regole di entrata minori hanno sicuramente portato a un conteggio degli scambi più elevato e, allo stesso modo, regole di entrata maggiori (strategie più complesse) avranno un conteggio degli scambi minore. Pertanto, aspettarsi che le strategie più complesse abbiano un numero maggiore di scambi è contro intuitivo. Quindi, dato lo stesso periodo di dati, le strategie con regole minori avranno più scambi rispetto a quelle con regole complesse. Ad esempio, una strategia scapler opererà più spesso di una strategia swing in un periodo di test di 1 mese. Quindi il conteggio degli scambi non è un fattore di causalità, ma piuttosto un fattore di correlazione: meno regole = più alto numero di scambi, ma questo non significa che un numero di scambi più alto sia una strategia migliore. "Il... Leggi il resto "

Ultima modifica 2 anni fa da hannahis
hannahis
Rispondi a  clonex / Ivan Hudec
27. 10. 2021 4:14 pm

Grazie Ivan per il tuo interessante articolo che offre un prezioso contributo agli utenti per applicare le implicazioni dei tuoi risultati. Attenderò con ansia il tuo aggiornamento sull'analisi della qualità delle strategie complesse rispetto a quelle semplici basate sullo stesso numero di scambi.

Salute,
Hannah

Ultima modifica 2 anni fa da hannahis
hannahis
Rispondi a  clonex / Ivan Hudec
31. 10. 2021 17:16

Grazie Ivan per gli approfondimenti e le scoperte! È un buon punto quello che hai sollevato: se le strategie complesse negoziano meno a causa delle loro complesse regole di entrata che limitano l'apertura di un trade o a causa delle loro regole di uscita che fanno sì che il trade rimanga più a lungo e quindi ci siano meno opportunità di apertura. Occorre poi esaminare la durata dell'operazione: se le regole complesse hanno una durata maggiore, può significare che operano meno a causa delle regole di uscita e non tanto a causa delle regole di entrata restrittive. Occorre poi esaminare se le regole complesse sono solo dei duplicati della stessa regola.... Leggi il resto "

Ultima modifica 2 anni fa da hannahis
hannahis
Rispondi a  hannahis
31. 10. 2021 17:47

Occorre quindi esaminare le caratteristiche delle strategie semplici rispetto a quelle complesse per sapere se il software sta veramente generando strategie complesse o se sta semplicemente generando strategie semplici con più regole (quindi pensiamo che si tratti di regole complesse, ma in realtà potrebbe trattarsi solo di regole più semplici, ridondanti e inefficaci nel filtrare il rumore del mercato). Per quantificare veramente una strategia complessa, quest'ultima deve avere le caratteristiche che una strategia complessa si prefigge, ossia ridurre le perdite commerciali potenziali riducendo il numero di operazioni/le operazioni non desiderate e quindi migliorare il PF e di conseguenza migliorare il rendimento.... Leggi il resto "

Ultima modifica 2 anni fa da hannahis
hannahis
Rispondi a  hannahis
31. 10. 2021 18:03

Tuttavia, se un utente non si preoccupa del tipo di strategie che ottiene, ma cerca solo strategie robuste che generino il massimo profitto netto entro la stessa durata del periodo di trading, allora sono più propenso a credere che un numero minore di regole renda le strategie più robuste, ma è necessario sopportare le scarse metriche di performance, come un basso pf e un possibile rapporto rischio-rendimento negativo. Perché le strategie meno complesse hanno maggiori probabilità di essere in sintonia con le condizioni di mercato rispetto alle strategie complesse. Ci sono maggiori possibilità che le strategie meno complesse si "adattino" o siano in sincronia con le condizioni di mercato rispetto a quelle complesse.... Leggi il resto "

Ultima modifica 2 anni fa da hannahis
hannahis
Rispondi a  hannahis
31. 10. 2021 19:34

Ho appena iniziato un esperimento: cambiando semplicemente le regole di uscita, ho trasformato una strategia da scalper in una strategia intraday. Lo scopo di questo esperimento è di 1) verificare quale regola di apertura della strategia è adatta a quale tipo di metodologia di trading, scalper vs intra day, 2) verificare quali strategie sono più adatte a quali coppie di valute, quali valute sono più volatili e quindi più adatte a scalper o intra day? 3) Quale regola di entrata ha una maggiore accuratezza di entrata, https://www.fxblue.com/users/hbs1ne/stats (strategie scalper) vs https://www.fxblue.com/users/hb82bene/stats Questi due portafogli hanno utilizzato le stesse strategie (regole aperte) (modello) ma hanno... Leggi il resto "

Continua a leggere