Ottimizzazione e test fuori campione. - pagina 5

 

Candido, non è così semplice con la redditività. Se prendiamo gli stessi insiemi A, B, C in NS, allora la redditività della strategia dopo l'allenamento normale sarà la seguente: sulla parte A è massima, sulla parte B è significativamente inferiore, e sulla parte C è ancora peggio. Ed è così che è con noi: grandi risultati sulla storia, ma al di fuori di essa - perdite... Il problema è scegliere una strategia in cui l'area C è quasi certamente peggiore in termini di redditività, ma ancora paragonabile all'area A.

Basta, finiamola con le reti neurali.

Non ho intenzione di promuoverli qui. Ma i principi dei test che ho imparato quando li facevo sono abbastanza ragionevoli. E qui, in contrasto con il metaquote fitting, possiamo almeno contare sulla capacità di generalizzazione (la principale proprietà grazie alla quale un Expert Advisor può rimanere redditizio in futuro; il nostro ottimizzatore è completamente privo di questa proprietà).

 
lna01:
Vita:

Volevo dire che il vero tester di MetaTrader permette di ottenere gli stessi risultati quando si ottimizza una popolazione campione+campione come quando si ottimizza un campione seguito da un test fuori campione. Nel tester, il pulsante "Proprietà dell'esperto", poi le schede "Test" e "Ottimizzazione" permettono di eliminare le perdite di qualsiasi lunghezza e profondità che si desidera.

Tutto dipende dalla definizione del compito. Se trascuriamo il grado di uniformità della distribuzione dei profitti sul tempo di test, le capacità standard del tester MT sono davvero sufficienti e il tempo impiegato sarà comparabile. Vale la pena trascurarlo? Ognuno ha la sua esperienza e il suo punto di vista. Il processo può effettivamente essere chiamato adattamento, ma penso che il termine approssimazione sarebbe più accurato. Non tutte le approssimazioni possono essere estrapolate nel futuro e il criterio dell'uniformità del profitto permette solo di rifiutare consapevolmente le varianti inadatte all'estrapolazione. IMHO, naturalmente.


Questo si riferisce all'applicabilità del tester a un problema di ottimizzazione su un campione con un successivo test fuori campione. Gli stessi risultati, ma bisogna avvicinarsi dall'altro lato - per ridurre il numero di perdite consecutive e i valori delle perdite. Questo è tutto.
 
Mathemat:

Candido, non è così semplice con la redditività. Se prendiamo gli stessi insiemi A, B, C in NS, allora la redditività della strategia dopo l'allenamento normale sarà la seguente: sulla parte A è massima, sulla parte B è significativamente inferiore, e sulla parte C è ancora peggio. Ed è così che è con noi: grandi risultati sulla storia, ma al di fuori di essa - perdite... Il problema è trovare una strategia che sia quasi certamente peggiore in termini di redditività nell'area C, ma ancora paragonabile all'area A.


Penso che l'analogia con l'approssimazione dia la risposta: sappiamo che migliore è l'approssimazione, meno è adatta all'estrapolazione (naturalmente rifiutiamo il caso del grafico di funzione analitica con le sue congetture). Quindi una buona soluzione molto probabilmente non è quella che dà più profitto su A, ma quella che dà più profitto uniforme su A+B. Ora iniziamo l'estrapolazione e, di nuovo naturalmente, l'errore aumenta al crescere dell'orizzonte di previsione.
 
Mathemat:

Categoricamente non sono d'accordo, Vita. Altrimenti nelle reti neurali non ci sarebbe la divisione di tutti i dati in tre parti, fondamentalmente diverse: l'ottimizzazione reale - solo sulla prima parte; la seconda serve solo a determinare il momento della fine dell'addestramento, e la terza - solo per i singoli test. Cioè, il vero raccordo va solo sul primo, e sul terzo, è qualunque cosa si riveli... E la scelta - "rasoio di Occam" o perdita di fiducia nel sistema - è lasciata al creatore del sistema.

Grosso modo, ottimizzare su A+B+C non è affatto la stessa cosa dell'elaborazione descritta sopra.


Per chiarezza, non si sa mai.

A - set di parametri ottenuti durante l'ottimizzazione sul campione

B - insieme di parametri ottenuti dopo aver testato A al di fuori del campione.

Il processo per ottenere B è il processo di ottimizzazione on-sample seguito da un test out-of-sample. È in questo processo che ci si dovrebbe sbarazzare del curve fitting?

C è l'insieme dei parametri ottenuti ottimizzando la popolazione del campione + fuori campione.

Io sostengo che C è buono come B in termini di adattamento della curva.

C-B= l'insieme dei parametri che non sono redditizi né nel campione né fuori dal campione, ma redditizi sull'insieme della popolazione.

Il processo di ottenimento di B può essere eseguito da un tester standard.

 

Candido, non sto dicendo che una buona soluzione dà il massimo profitto ad A. L'ottimizzatore lo fa meglio: dà un massimo assoluto su A, ma niente su out-of-sample. Secondo il modello di apprendimento NS, il probabile candidato per una buona soluzione è il massimo profitto su B con un profitto già accettabile ma non massimo su A.

Sul tuo commento: quasi d'accordo, ma non A+B ma A+B+C.

2 Vita: Pensavo di aver scritto tutto chiaramente nella pagina precedente. ... Gli insiemi A, B, C non si sovrappongono. Per esempio:

A - dal 1° gennaio 2004 al 31 dicembre 2005,

B - dal 1° gennaio 2006 al 31 ottobre 2006, e

C - dal 1° novembre 2006 ad oggi.

Il rapporto usuale delle lunghezze dei dati in NS è A:B:C = 60:20:20.

 
Mathemat:

Sul tuo commento: sono quasi d'accordo, ma non A+B ma A+B+C.

Ammetto di essere molto pessimista su A+B+C :). È proprio a causa del naturale accumulo di errori che si può ottenere un profitto paragonabile ad A e B su C solo per caso.
 
Candido, anche io, hehe... Ma se funziona così, non è più il peggior candidato ad essere preso in considerazione come tagliatore di cavoli verdi. È la trama C che è la vera trama di valutazione EA, ed è per questo che l'ho inclusa tra virgolette. Ed è dove di solito si concentra quasi tutto l'errore, mentre le aree A e B tendono ad avere significativamente meno errori.
 
Mathemat:

Non ho intenzione di promuoverli qui. Ma i principi dei test, che ho imparato quando li facevo, sono abbastanza sensati. E qui, a differenza del metaquote fitting, possiamo almeno contare sulla capacità di generalizzazione (la proprietà principale grazie alla quale un Expert Advisor può rimanere redditizio in futuro; il nostro ottimizzatore manca completamente di questa proprietà).


Oh, giusto! La capacità di generalizzazione dovrebbe essere una proprietà di Expert Advisor, non dell'ottimizzatore. La legge deve essere stabilita nel Consulente Tecnico; l'idea del Consulente Tecnico deve essere la più completa e sistematica possibile. Ma non farei una tale affermazione contro l'ottimizzatore. Penso che sia assurdo, proprio come è assurdo cercare di portare assolutamente qualsiasi Expert Advisor al livello di redditività in ogni momento e in futuro con un ottimizzatore capace di generalizzare. Non è colpa di un ottimizzatore di metaquote se non c'è nessuna legge, nessuna idea redditizia e la cosiddetta capacità di generalizzazione che può ottimizzare. L'unica cosa che resta da fare è adattare la curva.
 
Vita, buona osservazione. Ma direi che la capacità di generalizzazione è una proprietà non solo dell'EA ma anche dell'algoritmo di apprendimento, che deve identificare correttamente questa capacità. L'algoritmo metaquote non rivela questa capacità, ma la distrugge con un'ottimizzazione eccessiva. Ma non è stato creato per un'ottimizzazione seria...
 
Mathemat:

Candido, non sto dicendo che una buona soluzione dà il massimo profitto ad A. L'ottimizzatore lo fa meglio: dà un massimo assoluto su A, ma niente su out-of-sample. Secondo il modello di apprendimento NS, il probabile candidato per una buona soluzione è il massimo profitto su B con un profitto già accettabile ma non massimo su A.

Sul tuo commento: quasi d'accordo, ma non A+B ma A+B+C.

2 Vita: Pensavo di essere stato chiaro nella pagina precedente. ... Gli insiemi A, B, C non si sovrappongono. Per esempio:

A - dal 1° gennaio 2004 al 31 dicembre 2005,

B - dal 1° gennaio 2006 al 31 ottobre 2006, e

C - dal 1° novembre 2006 ad oggi.

Il rapporto usuale delle lunghezze dei dati in NS è A:B:C = 60:20:20.


Dio sia con loro, A, B e C. Hanno un significato diverso nei miei post. Non sono linee temporali. Sono gli insiemi di parametri che l'ottimizzazione produce. Oh, ma dai!