Generazione genetica e casuale
12 risposte
Toro mattutino
5 anni fa #237379
Salve, vorrei conoscere la vostra opinione e le vostre esperienze utilizzando i due diversi metodi di generazione, è vero che la generazione genetica creerà una strategia più overfitted?
Ilya
5 anni fa #237380
Ciao,
È vero, perché l'evoluzione genetica è un sistema di apprendimento automatico e questi sistemi si "allenano" su un certo insieme di dati, eseguendoli ripetutamente per migliorare, adattandosi quindi ai dati su cui sono stati addestrati.
La generazione casuale ha ovviamente un rischio molto più basso di overfitting, poiché i parametri vengono generati in modo casuale e poi il sistema viene eseguito sul vostro set di dati, senza che vi sia un "addestramento". Diventa un problema se non si controlla abbastanza bene la robustezza o se si ottimizzano i parametri della strategia in modo troppo energico.
Ma fortunatamente SQ X dispone di alcune ottime funzioni per evitare l'overfitting:
1) Ampio test di robustezza.
2) Utilizzare almeno 2 periodi OOS che siano almeno 30% dei dati (che vengono trattati come un "nuovo insieme di dati non visti" per il sistema, il modello non si sta allenando su di essi).
3) ottimizzare la strategia solo leggermente (ad esempio, solo il coefficiente SL o TP).
4) Utilizzare un set di dati di grandi dimensioni, per essere sicuri di non allenarsi sul "rumore".
- Mi piace generare una buona quantità iniziale casualmente su circa 2 anni di dati (per il trading 1H), ottenendo circa 1000 strategie, per poi utilizzarle come popolazione iniziale per genetico evoluzione con almeno 10 isole di 100 strategie ciascuna, questa volta su dati di 15 anni con alcuni anni di OOS. SQ X rende questo processo un gioco da ragazzi...
Ilya
Toro mattutino
5 anni fa #237383
Come si impostano 2 periodi di OOS, è automatico o si testano nuovamente le strategie aggiungendo il secondo periodo di OOS?
Ilya
5 anni fa #237384
In SQ X è possibile definire tutti gli OOS desiderati nella scheda dati, se si desidera integrarli nella generazione. Altrimenti si possono semplicemente escludere gli ultimi 6 mesi durante la costruzione e poi testare nuovamente i modelli su quei 6 mesi nel retester, ad esempio. È la stessa cosa... è solo una questione di comodità e di preferenze di filtraggio (Ranking). Quindi, ad esempio, è possibile definire 2 sistemi di filtro durante la costruzione, uno per IS e uno per OOS, automatizzando così il primo processo di retest... ad esempio:
Toro mattutino
5 anni fa #237386
Ah sì, ho appena trovato l'opzione per impostare più di un OOS, grazie.
tnickel
5 anni fa #237409
In sq 3.8.2 uso solo la generazione genetica.
Il motivo è chiaro. Con la generazione genetica si trovano strategie migliori.
È possibile effettuare alcuni test.
a) generare casualmente b) generare geneticamente con gli stessi elementi costitutivi
Confronto dei risultati dopo i test di robustezza
spiegazione:
Lo spazio di ricerca per trovare buone strategie è troppo alto per la generazione casuale. Bisogna aspettare milioni di anni per trovare buone strategie.
L'algoritmo genetico è più mirato. Se si dispone di una buona funzione di ricerca per l'algoritmo genetico. La funzione target contiene ad esempio (profitfaktor, stability, Retdd, maxDD)...
===============
4.115
In SQ 4.115 non sono sicuro che sia meglio il random o il genetico. Penso che in SQ 4.115 ci siano troppi bug al momento.
È possibile che anche nell'algoritmo genetico ci siano degli errori? Non lo so.
====
In generale preferisco la generazione genetica
Tommaso
https://monitortool.jimdofree.com/
scagnozzi
5 anni fa #237421
Non è una questione di cosa sia meglio o peggio, ma di un approccio totalmente diverso.
Ogni costruzione genetica inizia con la generazione casuale della popolazione di partenza e cerca di trovare una strategia migliore con alcuni metodi - dovete sapere che con questo metodo otterrete risultati molto più rapidi, ma il problema è l'overfitting - è come ha detto Ilya
ma attenzione: non vi serve un backtest migliore, ma una strategia più robusta, che abbia la probabilità di funzionare in futuro - il comportamento passato non conta. Le strategie "migliori" saranno per lo più overfitted e falliranno.
Volete diventare un algotrader redditizio? Abbiamo iniziato a utilizzare il software StrateQuant all'inizio del 2014. Ora abbiamo un grande know-how per la costruzione di EA per ogni possibile tipo di mercato. Condividiamo questo know-how, le applicazioni, gli strumenti e anche tutte le strategie finali con i trader reali. Se volete unirvi a noi, compilate il seguente modulo MODULO.
Toro mattutino
5 anni fa #237424
Supponendo di usare l'evoluzione genetica, SQ4 ha abbastanza strumenti per trovare le strategie davvero non overfitted?
Ho un po' di esperienza nell'utilizzo di un altro software simile, e dopo alcuni mesi di esecuzione di alcune strategie su un piccolo conto, le ho abbandonate perché il risultato non era lo stesso di quello mostrato nel backtest.
Naturalmente prima di eseguire queste strategie le ho testate con qualche test di robustezza manuale, ma forse questo non è stato sufficiente, e questo è il motivo per cui ho voluto iniziare questa esperienza con SQ4, ma ovviamente sono pieno di dubbi....
tnickel
5 anni fa #237425
Sì, l'overfitting è il problema principale. Il 99,9% di tutte le strategie generate sono overfitted.
Genetic Building è la macchina per l'overfitting.
Ma la generazione casuale presenta lo stesso problema di overfitting. Non è così grande ma è disponibile
https://monitortool.jimdofree.com/
Toro mattutino
5 anni fa #237426
Quindi, potrebbe essere una buona idea iniziare con la generazione casuale e, solo nel caso in cui non sia stata trovata una buona strategia, continuare a farla evolvere attraverso l'evoluzione genetica?
Ilya
5 anni fa #237427
La mia opinione su Random Gen Thomas è molto diversa, soprattutto con SQ X che è molto più veloce. Quando si genera una popolazione in modo casuale, ad esempio 200 strategie, e poi si cerca di migliorarla attraverso 20 generazioni, se non riesce a raggiungere la fitness desiderata e i filtri (cosa che per lo più accade), si sta praticamente perdendo tempo a fare il backtesting di 4000 strategie che vengono buttate via, rispetto alle 200 che si ottengono usando la random gen, quindi si perde X 20 tempo in più. Con random gen, su un sistema a 32 thread, ho bisogno di 1 giorno per generare 1000 strategie valide (PF > 1,5, Ret/DD > 2, Stabilità > 0,7, Winning%>50%, e la condizione sotto menzionata). Per me, genetic evo è un modo favoloso per generare strategie ancora migliori su dati più ampi, utilizzando una popolazione molto buona che è stata generata in modo casuale, ma l'uso di genetic from scratch, finora per la mia esperienza, è stato per lo più una perdita di tempo.
Suggerimento rapido (merito di Notch): La generazione casuale con un piccolo test di robustezza NEL PROCESSO DI COSTRUZIONE (randomizzare l'ordine degli scambi in modo casuale con un livello di confidenza 99% > 1), produrrà strategie di qualità molto più elevata nella gen...
Ilya
Toro mattutino
5 anni fa #237431
Ho un'altra domanda per voi che per me non è chiara: seguendo il corso di Zdenek Zanka ha detto che le strategie generate senza l'uso del take profit hanno prestazioni migliori nel backtest ma di solito meno nel trading reale, mentre le strategie con il take profit hanno più possibilità di riflettere le prestazioni mostrate nel backtest. Se questa affermazione è vera per voi, non riesco a capire la logica che c'è dietro.
ERP
2 anni fa #276791
Grazie mille per aver condiviso questo suggerimento. Come nuovo utente di SQX, lo trovo molto creativo ed estremamente utile! Vi farò sapere come va.
Costruire. Test. Commercio.
Stai visualizzando 12 risposte - da 1 a 12 (di 12 totali)