Gamma di ottimizzazione - pagina 4

 

Il compito dell'ottimizzazione è quello di trovare tali parametri di TS, ai quali si ottiene un risultato stabile sul periodo testato... Più ampio è l'intervallo di tempo, più ci si può fidare dei risultati ottenuti nel futuro.... Durante i test, otteniamo informazioni quasi complete... Vorrei anche vedere l'equilibrio e le curve di equità a seconda del periodo di tempo... Ma probabilmente è solo un sogno...

Domanda: a cosa servono queste curve? Per disegnare su di essi delle linee spezzate, o meglio degli zigzag per determinare gli estremi.... Gli alti e bassi... Analizziamo i risultati e selezioniamo i parametri...

Oggi dopo i test conosciamo solo un estremo: il drawdown massimo che ovviamente non è sufficiente...

 
Vinsent_Vega писал(а) >>

quello che è vero è vero... quindi mi sto chiedendo se prendere Neutron in parola o no...

Ottimizzato - come? Ha solo ottimizzato il suo consulente o cosa? Pensavo che fosse stata fatta qualche ricerca seria... (Non ho letto Yezhov, quindi ho pensato che fosse la sua cifra - "4")


Vinsent, non sono un apostolo da credere. Tutto quello che ho citato nei miei post è facilmente verificabile con una banale ripetizione.

Per quanto riguarda il coefficiente, può essere determinato in due modi non sovrapposti - per deduzione diretta, che è difficile per me, e per stima. Ezhov e Shumsky hanno dimostrato la dipendenza analitica della lunghezza ottimale della storia dal numero di parametri regolabili ad una costante di precisione dell'ordine dell'unità. Questa dipendenza non ha limitazioni nel campo di applicazione, per cui è sufficiente trovare il suo valore ottimale attraverso diversi esempi e assicurarsi della sua stazionarietà, per non giocare con complicati calcoli matematici senza una grande necessità. Questo è stato fatto.

 

OK, grazie mille... :)


Perché me ne occupo così tanto - per me questa questione (gamma di ottimizzazione) è centrale al momento... Forse rider ha ragione - per molti aspetti è una questione di psicologia - voglio convincermi dell'affidabilità della mia scelta... Ma ho bisogno di avere una buona ragione (preferibilmente qualche ricerca scientifica seria) per scegliere uno o un altro schema di ottimizzazione...


ma a quanto pare, dovrò contare solo sulla mia esperienza e intuizione...

 
Vinsent_Vega писал(а) >>

perché me ne occupo così tanto - per me questo problema (gamma di ottimizzazione) è centrale al momento... forse rider ha ragione...

In realtà non è rider che ha ragione, ma piuttosto kharko:

kharko ha scritto >>.

Il compito dell'ottimizzazione è quello di trovare tali parametri di TS, quando si ottiene un risultato stabile sul tempo testato... Più ampio è l'intervallo di tempo, più ci si può fidare dei risultati ottenuti nel futuro....

Il problema è molto più ampio e delicato, paradossalmente. Infatti, se ci rivolgiamo alla formula che mostra la dipendenza dell'errore di generalizzazione del tester di strategia, vediamo che diminuisce monotonicamente con l'aumentare del numero di operazioni P: E=Eapprox+ Ecomplex=d/W+W/P, cioè più grande è il campione di addestramento e meglio è... Ma questo è vero sotto il presupposto dell'immutabilità (stazionarietà) del mercato, ma in realtà è mutevole, e a partire da alcuni P gli esempi diventano inutili, inoltre - dannosi. In queste condizioni, è importante definire il limite dopo il quale aumentare ulteriormente il numero di esempi non fa che peggiorare la situazione. Dobbiamo determinare il limite sinistro per il parametro P. Questo avverrà quando l'errore dovuto alla complessità del modello è paragonabile all'errore di approssimazione o leggermente inferiore a quest'ultimo, e non tende a zero, come sarebbe il caso proposto da kharko. Quindi, c'è un optimum delicato per il parametro P=k*W intorno a k=3-6.

Ecco da dove viene il coefficiente, è nella natura della non stazionarietà dei processi nel mercato.

 
Neutron >> :

In realtà non è rider che ha ragione, ma piuttosto kharko:

Il problema è molto più ampio e delicato, paradossalmente. Infatti, se ci riferiamo alla formula che mostra la dipendenza dell'errore di generalizzazione del tester di strategia, vediamo che diminuisce monotonicamente con l'aumento del numero di transazioni P: E=Eapprox+ Ecomplex=d/W+W/P, cioè più grande è il campione di formazione meglio è... Ma questo è vero sotto il presupposto dell'immutabilità (stazionarietà) del mercato, ma in realtà è mutevole, e a partire da alcuni P gli esempi diventano inutili, inoltre - dannosi. In queste condizioni, è importante definire il limite dopo il quale aumentare ulteriormente il numero di esempi non fa che peggiorare la situazione. Dobbiamo determinare il limite sinistro per il parametro P. Questo avverrà quando l'errore dovuto alla complessità del modello è paragonabile all'errore di approssimazione o leggermente inferiore a quest'ultimo, e non tende a zero, come sarebbe il caso proposto da kharko. Quindi, c'è un optimum delicato per il parametro P=k*W intorno a k=3-6.

Ecco da dove viene questo coefficiente, è nella natura della non stazionarietà dei processi nel mercato.

Dio sia con lei con la giustezza.... Non insisto, e non mi trovo autorizzato a farlo )))..... mi piacerebbe molto credere al vostro k=3-6 e fare a meno di qualsiasi forzatura...... (((..... ma qualcosa lo impedisce, e soprattutto, che le operazioni di routine non diventino meno: si potrebbe impostare nell'ottimizzatore il numero di transazioni per un certo intervallo - ben altra conversazione avrebbe luogo.....

Posso avere un link a Yezhov ecc.

 
rider писал(а) >>

e posso avere un link a Yezhov, ecc.

Catch, pagine 64-66.

File:
ts.zip  1592 kb
 
grazie
 
Neutron писал(а) >>

No, no. Aspetta!

La frequenza degli accordi da sola, e il loro numero ottimale sulla storia del test da sola. Ottimizzi i parametri del TS guardando i risultati del trading - trovi il massimo di qualche funzionalità, in questo caso, può essere il reddito comulativo o la redditività (numero di punti per transazione). Ora avete una domanda: dato il numero di parametri regolabili, è necessario trovare il numero più ottimale di transazioni, su cui il tester ottimizzerà la strategia. Nota, non il tempo, ma il numero di entrate e uscite dal mercato.

In breve, il compito include solo il numero di scambi - non devono essere più o meno del numero ottimale. Avete trovato la redditività ottimale: il commercio. Dopo un certo periodo di tempo, si inizia a sovra-ottimizzare e lo si fa continuamente. Come implementarlo nello Strategy Tester? Devi pensare...

....

Se abbiamo 5 parametri ottimizzati nel tester (per esempio, i periodi di sventolamento), allora la lunghezza ottimale della storia dovrebbe essere tale che il tester faccia 4*5=20 transazioni su di essa. Può richiedere da 1 a ...200 giorni di storia, tutto dipende dalla strategia adottata. La riduzione di questo numero porterà ad adattare il tester alla storia, e l'aumento - al deterioramento della qualità dell'approssimazione e, di conseguenza, al peggioramento della precisione della previsione.

Estratti citati dai tuoi post.... Conclusioni...

Tu sostieni che c'è un certo numero ottimale di scambi che dipende dal numero di parametri di adattamento... Ok... mettiamoci d'accordo....

Ora il nostro compito è quello di trovare per ogni esecuzione l'intervallo di tempo ottimale in cui il TS ha eseguito il numero ottimale stimato di scambi.... Cioè per alcuni parametri la storia di 1 giorno è sufficiente, e per altri anche un anno non è sufficiente... Tale variante non è adatta...

OK... Semplifichiamo il compito.... Lasciamo un intervallo di tempo costante... Consideriamo solo le corse che ci danno il numero ottimale di accordi...

Qual è il migliore? La risposta è ovvia... Quello con la più alta aspettativa matematica....

Ma che dire di quelle corse che abbiamo schermato...? Non sono utilizzabili?

Supponiamo che il numero ottimale di scambi sia N... C'è una corsa con quel numero di scambi... Ma c'è una corsa con K volte tanto le offerte...

Mentre la nostra corsa ideale farà 1 scambio, un'altra non ideale in numero di scambi, farà già K scambi....

Ora confrontiamo il profitto che otterremo dalle corse perfette e non perfette... Per fare questo, moltiplicate il numero di trade per il corrispondente valore di payoff atteso...

Se il profitto di una corsa non ideale sembra essere più grande, significa che abbiamo preso un periodo di tempo troppo grande per ottimizzare questa corsa, dato che abbiamo ottenuto una quantità di affari diversa da quella ottimale... C'è un'altra discrepanza...

Anche se prendiamo 1 corsa che soddisfa la condizione del numero ottimale di compravendite, allora se solo spostiamo l'intervallo di tempo a destra o a sinistra, otterremo risultati diversi per il numero di compravendite...

Conclusione: il metodo di ottimizzazione proposto è un'utopia.

 

al neutrone

Un'altra cosa sul numero di operazioni: nel mio EA c'è un parametro come il numero massimo di ordini e se i parametri sono scelti correttamente, l'aumento del numero di operazioni simultanee effettuate dall'EA aumenta il profitto, ma d'altra parte, si ottiene un numero non ottimale di operazioni in un dato timeframe in relazione al numero di parametri di input per l'EA, come dobbiamo affrontare questo?

 

Vorresti considerare questo tipo di ottimizzazione e backtesting:

int start()
{
   if(IsTesting()==true)
   {
      if(IsOptimization()==true && DayOfWeek()&0xE==DayOfWeek())return;
      if(IsOptimization()==false && DayOfWeek()&0xE!=DayOfWeek())return;
   }
//код советника
//код советника
}

Invece di

DayOfWeek()
si potrebbe mettere un'altra funzione, per esempio,

Month()

o al contrario, uno più piccolo.

  Hour()
Motivazione: