Bisogno di aiuto sul risultato dell'ottimizzazione - pagina 3

 
Invalid:

Trovo difficile decidere un'impostazione ottimale dal risultato di un'ottimizzazione.

Qualcuno potrebbe dirmi qual è il migliore da scegliere da un risultato di ottimizzazione, il drawdown più basso, il fattore di profitto o qualsiasi altra cosa che dovrei considerare?

Grazie!


Solo per condividere la mia esperienza con questo, ho fatto un'analisi discriminante su queste 6 colonne per vedere se potevo indovinare quali impostazioni avrebbero dato il meglio in avanti rispetto a una scelta casuale e la mia conclusione è che non è utilizzabile: Sceglie i migliori quando l'agente è adattato al mercato e sceglie i peggiori quando non lo è, senza essere in grado di sapere se è adattato al momento attuale.
Con l'agente che ho usato, la colonna più determinante era il numero di trade, e la scelta migliore era una sorta di sottile equilibrio tra numero di trade, profitto e drawdown, ma non potevo esprimere una regola chiara.

Ora sto provando quello che suggerisce zzuegg: Prendo ogni impostazione redditizia dall'ottimizzazione e la testo in passato per mantenere le migliori. L'idea è di avere delle impostazioni che siano allo stesso tempo adattate al mercato a breve e a lungo termine. Come potete immaginare, l'obiettivo è quello di fare un'ottimizzazione automatica.

 
pindurs:


Solo per condividere la mia esperienza con questo, ho fatto un'analisi discriminante su queste 6 colonne per vedere se potevo indovinare quali impostazioni sarebbero state le migliori in avanti rispetto a una scelta casuale e la mia conclusione è che non è utilizzabile: Sceglie i migliori quando l'agente è adattato al mercato e sceglie i peggiori quando non lo è, senza essere in grado di sapere se è adattato al momento attuale.
Con l'agente che ho usato, la colonna più determinante era il numero di trade, e la scelta migliore era una sorta di sottile equilibrio tra numero di trade, profitto e drawdown, ma non potevo esprimere una regola chiara.

Ora sto provando quello che suggerisce zzuegg: Prendo ogni impostazione redditizia dall'ottimizzazione e la testo in passato per mantenere le migliori. L'idea è di avere delle impostazioni che siano allo stesso tempo adattate al mercato a breve e a lungo termine. Come potete immaginare, l'obiettivo è quello di rendere l'ottimizzazione automatica.


IMO, usare l'ottimizzatore come generatore di speranza può essere un affare complicato. Come dice sempre Phillips "è come aspettarsi che il mercato si comporti esattamente come ha fatto durante i periodi di ottimizzazione". L'ottimizzatore è un # cruncher che adatta i risultati su misura in base (di solito) a sl_tp o period_time. Avendo attraversato me stesso, ho il sospetto che tutti i parametri promettenti si comportano male al di fuori dei periodi ottimizzati o nei test in avanti.

IMO, si dovrebbero creare strategie indipendenti dall'ottimizzatore, testarle sui dati del 2010 e se promettono bene, passare al 2009, 2008, 2007...ecc. Anche con i migliori risultati degli ultimi 10 anni, bisogna comunque mantenere la calma e non pensare di avere un Santo Graal perché non esiste. IMO, qualsiasi strategia che si impiega sul mercato comporta dei rischi, come i rischi incontrollabili per esempio.

IMO, l'uso migliore per strumenti come quelli forniti da Phillip, Gordon, WHRoeder, BB e tutti gli altri analisti/programmatori di talento su questo sito, è quello di aiutare a confrontare se il Sistema-A <è meglio del> Sistema-B. Quindi, ho creato qualche sistema che supera il back-test di 10 anni alla prima esecuzione? ... diamine no. Ma ultimamente, sto programmando più sistemi che fanno bene nel 2010->2008 e si rompe da qualche parte lungo la strada. Questo è un progresso rispetto ai programmi da manuale per principianti che sembravano come se RSI>80 && MA-1 incrocia MA-2 allora Vendi. Sparare un sistema del genere attraverso il back-tester fallirebbe il 99% delle volte. Poi la maggior parte cade nella trappola di farlo passare attraverso l'ottimizzatore.

Con i miei sistemi appena formati, sono ancora tentato di guardare solo i brevi periodi in cui non ha funzionato bene e trovare il modo di escluderlo dal sistema. Ma la mia paura è che sia solo un'altra forma di Curve-fitting. Non sto parlando solo di una codifica rigida (lunedì 1-5-2003=non fare trading) che sarebbe semplicemente sbagliato lol. Intendo usare qualsiasi tipo di indicatore o oscillatore. Quando un sistema fallisce in questo modo l'approccio migliore per me è quello di registrare ciò che funziona nella memoria e archiviare l'EA, quindi iniziare a programmare da zero.

Comunque, bel thread ragazzo. Mi piace molto seguire questo.

 
ubzen:


Con i miei sistemi di nuova formazione, sono ancora tentato di guardare solo i brevi periodi in cui non ha funzionato bene e trovare modi per escluderlo dal sistema. Ma la mia paura è che sia solo un'altra forma di Curve-fitting. Non sto parlando solo di una codifica rigida (lunedì 1-5-2003=non fare trading) che sarebbe semplicemente sbagliato lol. Intendo usare qualsiasi tipo di indicatore o oscillatore. Quando un sistema fallisce in questo modo, l'approccio migliore per me è quello di registrare ciò che funziona nella memoria e archiviare l'EA, quindi iniziare a programmare da zero.

Sì, e ho provato anche a tagliare la storia in diversi periodi distinti secondo diversi livelli di pendenza o ATR, ma ottimizzando su periodi interrotti è più o meno come ottimizzare sugli ultimi tre mesi, il rischio di adattamento della curva è ancora lì come al primo giorno.

La cosa più difficile da capire è che anche quando si arriva ad un agente che è redditizio sugli ultimi 10 anni quando è ottimizzato sugli ultimi mesi con valori di grande intervallo, non si è ancora sicuri di quanto si sta sovra-ottimizzando sui dati storici, perché per arrivarci si sono buttate via centinaia di belle idee, che è esattamente quello che fa l'algo genetico dell'ottimizzatore.

No, davvero, abbiamo un lavoro difficile.

 
1005phillip:

Il modo in cui usi i calcoli del rischio di rovina è quello di definire un periodo di tempo (mensile, settimanale, annuale, ecc.), o un incremento di qualche tipo (per trade, per 10 trade, ecc.), e poi assembli le statistiche per quei periodi. Ha importanza in termini di cosa significa effettivamente l'output risultante dal calcolo del rischio di rovina (le sue unità).

A volte aiuta a concentrarsi prima sull'assicurarsi che si sta facendo la domanda giusta (in altre parole, assicurarsi che la risposta che si sta cercando di calcolare sia effettivamente in grado di rispondere alla domanda di cui si ha bisogno o a cui si vuole rispondere).

Per esempio, i miei clienti operano su una linea temporale mensile. Non si preoccupano della roba giornaliera o settimanale, per loro è tutto sui risultati mensili. Quindi, nel mio caso, non serve a nessuno che io calcoli il rischio di rovina per i risultati settimanali o su base per-trade.

Come tale, quello che devo fare nel backtest è catturare il tasso medio di rendimento (profitti, perdite, ROR, ecc) su base mensile. Qualcosa come il seguente:


Per calcolare la metrica del rischio di rovina devi prima assemblare i dati per il tuo time frame. Nel mio caso, in questo esempio, dovevo assemblare i risultati del tasso di rendimento mensile, calcolare il ROR medio mensile e poi calcolare la deviazione standard di questi tassi di rendimento mensili.

In questo esempio il ROR mensile medio era del 12% con una deviazione standard dell'8%... dai risultati del backtesting questo avrebbe dovuto essere d'oro in avanti, solo che non lo era (come potete vedere). Notate che mi riferisco al rischio di rovina come rischio di perdita (ROL) perché non sono interessato a sapere quando il mio conto sarà rovinato (questa è la domanda banale), ma piuttosto sono più interessato a sapere quanto spesso dovrei aspettarmi che il conto sia sott'acqua per una certa quantità fissa, diciamo il 20%.

Quindi un ROR mensile del 12% con una deviazione standard dell'8% significa che posso aspettarmi che il mio conto subisca una perdita di valore del 7,4% circa il 6,5% delle volte (6,5% degli eventi di fine mese, o circa una volta ogni 15 mesi).



Quindi, mentre inizialmente sono stato colto alla sprovvista dal risultato apparentemente inspiegabile del test in avanti, era perfettamente ragionevole aspettarsi un tale risultato mensile sulla base dei risultati del backtesting, una volta ogni 15 mesi posso aspettarmi un tale drawdown negativo sul segno di acqua alta del mio conto.

Quindi vedete, per poter calcolare una valutazione significativa del rischio di perdita dovete prima decidere quale periodo di tempo è pertinente per voi e poi dovete assemblare i risultati in una forma che sia adatta a calcolare la media e la deviazione standard del RoR in quel periodo di tempo.

Una volta che avete questi dati dal backtest potete eseguire una miriade di analisi basate sulle statistiche usando i calcoli del rischio di rovina (o rischio di perdita, come mi piace chiamarlo).

questi sono i miei risultati per 30 gruppi di 50 scambi (dal 18/03/2001 - 21/12/2010)

con deposito iniziale di $700


per il seguente ho calcolato il:

ROR medio di => 2,9%

stdev di => 6.5%

(che è abbastanza brutto.... giusto? )

ora per ogni gruppo di 50 trade... la % massima di perdita che posso aspettarmi è: $0.1 X 50 X (20pips+3pip spread ) = $115

115/700 = 16.5%

Non posso perdere più di questo per ogni sessione di 50 trade

C'è un modo per tenerlo in considerazione nel calcolo del rischio di perdita?

 
sergeyrar:

per il seguente ho calcolato il:

ROR medio di => 2,9%

stdev di => 6.5%

(che è abbastanza brutto.... giusto? )


Sì, vuoi che il tuo rapporto μ/σ sia >1, preferibilmente 2 come minimo.

E Sharpe non è sufficiente, il valore σ stesso conta nel determinare il ROL a qualsiasi valore di Sharpe (questo è un fatto non molto noto, ma è la ragione fondamentale per cui la leva è problematica ed è il motivo per cui la CFTC sta riducendo la leva massima negli Stati Uniti).



Questo è il motivo per cui esiste il mantra che "Beta uccide". Il miglior μ del mondo non salverà il vostro conto da un eventuale rischio di rovina se il σ è grande. La leva finanziaria rende σ grande, l'eccessivo dimensionamento delle posizioni rende σ mentre la gente cerca grandi μ.

Ma se l'unico modo per ottenere un grande μ è rendere σ grande, allora si è predestinati alla rovina. Una certezza matematica che molti non sono preparati a comprendere o indagare, così la CFTC lo farà per loro forzando un limite a quanto grande può diventare σ togliendo ai novizi la capacità di comporre posizioni di grandi dimensioni.

C'è un sacco di indignazione diretta alla CFTC per i loro controlli sulla leva finanziaria nel forex, ma la CFTC sta davvero cercando di salvare le persone dai loro stessi peggiori nemici.

sergeyrar:

ora per ogni gruppo di 50 trade... la massima % di perdita che posso aspettarmi è: $0.1 X 50 X (20pips+3pip spread ) = $115

115/700 = 16.5%

Non posso perdere più di questo per ogni sessione di 50 trade

C'è un modo per tenerlo in considerazione nel calcolo del rischio di perdita?


Il rischio di perdita in sé è una distribuzione di probabilità, il valore massimo che si può perdere ($115) è solo un punto su quella distribuzione. Quello che probabilmente vi interessa è sapere con quale frequenza è probabile che un tale scenario si verifichi. Sperimenterete una perdita di $115 una volta ogni 5 anni o una volta ogni 5 mesi?

Queste sono le domande a cui si usa il RoL per rispondere: "Con quale frequenza devo aspettarmi di perdere XYZ?" Tu stai chiedendo quanto è probabile che tu perda $115, il massimo RoL consentito in base ai tuoi passi, e la risposta è 9%.

 
sergeyrar:

Oh ...

C'è una cosa che ancora non capisco.... non ci sono altri fattori che influenzano questo calcolo?

Prendiamo i tuoi risultati ROR calcolati su base mensile

Supponiamo (per amor di discussione) che più operazioni ci sono in un mese e più alto è il ROR che si ottiene

per esempio: per 0 operazioni si guadagna lo 0%

per 10 operazioni si guadagna il 5% (in media)

per 20 trade guadagni il 10% (in media)

e così via...

supponiamo che per quel periodo di 30 mesi ci sia un'alta dispersione di valori nella distribuzione del ROR (per ogni mese c'era un numero completamente diverso di operazioni effettuate)

in modo che il rendimento medio sia del 10% e la deviazione standard del 20% e che non ci siano stati ROR negativi (non si può avere un numero negativo di operazioni...)

ora il calcolo del rischio di perdita di una deviazione standard che è del 20% ci darà approssimativamente il 37% ... il che non ha alcun senso...

Capite dove sto andando?


Non voglio fare lo scemo, ma non ti seguo. Non capisco l'argomentazione che state ponendo qui. Lancia una moneta 10 volte al mese, o 20 volte al mese, la probabilità di ottenere testa è sempre 50/50 ad ogni tentativo, indipendentemente dalla storia dei lanci di moneta fino ad oggi. Il fatto che la realtà dei lanci di moneta differisca a volte dalle statistiche non rende le statistiche non valide, ma le rende solo di utilità limitata.

Lo scopo del calcolo del RoL è che è qualcosa di matematicamente valido, ma non è garantito. È semplicemente una guida, un modo di valutare i risultati, che è migliore nel catturare e presentare il rischio indicativo (sistematico) nella vostra strategia di trading. Ma il caso è solo quello, il caso. C'è una possibilità che tu non sperimenti mai una perdita, e c'è una possibilità che tu sperimenti una perdita totale.

RoL ti aiuta a calcolare questa probabilità in un modo che si presta a classificare e selezionare strategie di trading e parametri ottimizzati. Non è un Santo Graal perché non può predire il futuro, ma se il futuro è statisticamente paragonabile al passato, allora avete la pretesa legittima di tentare di mappare le statistiche del passato su quelle del futuro (questo è ciò che fanno i modellatori meteorologici nel preparare le loro previsioni con insiemi di modelli) nel tentativo di non predire il mercato futuro ma di prevedere semplicemente il carattere statistico del mercato futuro.

È il meglio che si può sperare, davvero.

 

Grazie mille per il vostro tempo! Lo apprezzo molto

Quindi, secondo i seguenti risultati del test, sono stato estremamente fortunato?

la quantità massima di transazioni consecutive perdenti per l'intero periodo (di circa 23 gruppi di 50 transazioni - non sono riuscito a comprimere il tutto in un solo test) è stata di 41 (che può essere divisa tra 2 gruppi di 50 transazioni)

Avrei dovuto vedere questo tipo di drawdown più frequentemente?

Alla fine, se continuo a "giocare" a questo gioco, avrò il 9% delle volte quel tipo di perdita?

Ora un'altra cosa

secondo questo rapporto

la probabilità media per me di avere un trade profittevole è 8,85% e un trade perdente è 91,15%

quindi secondo questo la possibilità di avere 50 perdite consecutive è: 0.9115^50 = 0.97% ...

che è abbastanza lontano dal 9% ... come può essere?

Se dovessi perdere per il 95,3% delle volte sarebbe corretto, e con tale percentuale la mia aspettativa sarebbe negativa O_O

Ex= 0.953*(-23)+0.047*(247) = -10.31 pips di profitto per trade

 

Una cosa che vedo qui è che lei sta attribuendo alle distribuzioni la forma funzionale di una distribuzione gaussiana mentre la mia comprensione è che i calcoli del rischio di rovina sono stati derivati sulla base delle aspettative del processo poisson/stocastico.

Se volete capire la derivazione delle equazioni, vi consiglio di continuare a leggere il seguente libro: The The Theory of Stochastic Processes by Cox and Miller

Sono gli autori citati delle equazioni del rischio di rovina.

Nel corso del mio lavoro per implementare la valutazione del rischio di perdita nelle mie caratterizzazioni di backtest/forward test ho preso le equazioni di Cox e Miller e di Chamness, ho fatto qualche semplice sostituzione di variabili e (IMO) un utile passo di integrazione e l'equazione risultante mi aiuta a classificare i parametri delle strategie commerciali sulla base del rischio di perdita su una base ROR normalizzata. (simile a 1 sul RAROC)

 
1005phillip:

Una cosa che vedo qui è che stai attribuendo alle distribuzioni la forma funzionale di una distribuzione gaussiana mentre la mia comprensione è che i calcoli del rischio di rovina sono stati derivati sulla base delle aspettative del processo poisson/stocastico.

Se volete capire la derivazione delle equazioni, vi consiglio di continuare a leggere il seguente libro: The The Theory of Stochastic Processes by Cox and Miller

Sono gli autori citati delle equazioni del rischio di rovina.

Nel corso del mio lavoro per implementare la valutazione del rischio di perdita nelle mie caratterizzazioni di backtest/forward test ho preso le equazioni di Cox e Miller e di Chamness, ho fatto qualche semplice sostituzione di variabili e (IMO) un utile passo di integrazione e l'equazione risultante mi aiuta a classificare i parametri delle strategie commerciali sulla base del rischio di perdita su una base ROR normalizzata. (simile a 1 sul RAROC)


è sbagliato trattarla come faccio io (come una distribuzione guassiana)?

sembra un libro pesante

ma l'ho comprato comunque... cercherò di scavare e capire

Grazie!

 

Non è sbagliato, è solo che non vi darà i risultati che pensate di calcolare.

Per esempio non è sbagliato dire "1+1 = 2"... poiché la matematica è ovviamente corretta.

Ma sarebbe sbagliato dire "1+1=2, questo significa che posso aspettarmi di raddoppiare il mio conto in 6 mesi perché il numero dalla mia matematica è un 2".

In ogni caso, vorrete dirigere la vostra attenzione verso le derivazioni che portano all'equazione 91 a pagina 61.