Visualizzazione post con etichetta cci. Mostra tutti i post
Visualizzazione post con etichetta cci. Mostra tutti i post

domenica 8 luglio 2012

Migliorare un trading system con i filtri orari - Anchise I - parte 3


Ricordate le migliorie apportate ad Anchise, il trading system basatosul CCI? L’attività di ricerca non si ferma mai e c’è sempre spazio per ulteriori miglioramenti. Nei giorni scorsi stavo rileggendo dei codici easylanguage che avevo scopiazzato qua e la. Alcuni di essi contenevano dei filtri orari. E' rinata così l'idea di testarli, infatti ero stato sollecitato in questo senso già nelle settimane scorse nel forum di un noto sito di finanza. 
In passato avevo già considerato soluzioni analoghe, ma solo in un ottica daytrading per sistemi che uscivano comunque a fine giornata.
Gli interrogativi sono molti, è il caso di mettersi al lavoro.  
Testerò Anchise sul cambio eurodollaro EURUSD, time frame 1 ora, periodo  01/01/2004- 08/07/2012. Applicherò la funzione che legge all'interno delle barre per non avere report falsati.
L’equity line del sistema è crescente. Di certo non permette di gridare al miracolo:



Il primo passo sarà quello di decidere a che ora iniziare a considerare buoni i segnali, dalle 8 del mattino? Dalle 9? La risposta me la darà l’ottimizzazione:


Chiaramente il valore che cercavo è 9,00, a partire da questo orario considererò validi i segnali per entrare in posizione.
L’equity line preannuncia  un netto miglioramento di tutti i valori del report:



senza filtro
con filtro orario
Net profit
69.564,70
             84.179,20
Profit factor
                1,20
                       1,34
% trade vincenti
31,37
33,87
Average trade
45,56
84,35
Max drawdown
     16.553,00
             13.960,00

Nella tabella sopra sono confrontati i valori più significativi dei backtest. L’average trade migliora molto pur non raggiungendo un valore elevato. La percentuale di trade vincenti rimane molto bassa e ciò potrebbe portare a non sentirsi a proprio agio.
Sotto il report principale di Tradestation:



Posso sicuramente concludere che il filtro orario applicato ha apportato delle migliorie significative.
C’è ancora del lavoro da fare sul sistema Anchise.   
Il prossimo passo sarà quello di testare dei filtri giornalieri e dei pattern di compressione di volatilità per cercare di migliorare la percentuale di trade vincenti e l’average trade.





mercoledì 20 giugno 2012

Trading systems e onestà intellettuale – Anchise I – parte 2


Una questione mi sta molto a cuore.  Un autorevolissimo trader mi ha fatto notare che avrei dovuto prestare molta attenzione all’average trade del trading system Anchise, il trading system basato sul cci presentato nel post precedente, e allo stop loss di 300$ che, in relazione a barre orarie utilizzate, avrebbe potuto essere molto sensibile alla funzione intrabar order di Tradestation.
Leggendo la pagina principale del report avevo notato un average trade basso, circa 48 $, non mi ero però curato troppo né dell’ampiezza dello stop loss, né della funzione che calcola i movimenti del prezzo all’interno della singola barra.

Decido di rifare i test e di pubblicarli in un nuovo post, qualsiasi siano i risultati.
I risultati avrebbero potuto essere completamente diversi  e, di certo, non in positivo.
Eppoi, non lo nascondo, se un grandissimo trader sente puzza di bruciato...
Ricapitolo per i meno attenti di voi: strumento finanziario cambio eurodollaro EURUSD, time frame 1 ora, periodo dal 30/09/2009 al 20/06/2012.
La prima cosa da fare è inserire la funzione intra bar order, poi procedere con l’ottimizzazione degli stop loss (e di conseguenza del take profit) .
Intanto che la strategia viene caricata mi accorgo di essere nervoso e preoccupato.




I parametri migliori per lo stop loss sono cambiati, ora è di 1000 dollari.
Inoltre i risultati sono tutti molto confortanti a riprova del fatto che l’idea alla base può considerarsi buona.

L’equity line ora appare molto meno bella ma ha un andamento comunque rialziasta e i anche i drawdown non sono rovinosi.


Il profit factor è 1,25, sufficiente ma non eccellente. Ricordo che il profit factor è il rapporto tra la somma dei guadagni delle operazioni vincenti e la somma delle perdite nelle operazioni perdenti.
Il massimo drawdown a posizioni aperte è 11.070,10$.

L’average trade ora è 64,80 $, è migliorato molto a seguito dell’allargamento degli  stop loss.


A proposito di stop loss… Avete notato che il valore 1000 non era al centro di un intorno ma rappresentava il valore più alto tra quelli che avevo considerato?
Lo so che il post era nato per porre rimedio ad un errore, ma se c’è la possibilità di fare meglio…



Il valore che assumerò come stop è 1.500 $, il net profit ora è pari a 36.028,63$, l’average trade aumenta a 72,79$, il drawdown scende  a 9.637,59$, il profit factor rimane invece stabile, ora si assesta sul valore 1,28.
Ecco la nuova equity line:




Non il massimo ma sono comunque sollevato, non  lo nascondo.
Nel prossimo post pubblicherò uno studio che ho presentato alla Trading Room di Roma il 19 aprile 2012 e che ha ad oggetto un trading system sul Ftse Mib che utilizza l’indicatore momentum.




domenica 17 giugno 2012

Un trading system basato sul CCI - Anchise I - parte 1


Il trading system Telemaco I, si è comportato molto bene nei test precedenti, durante i quali ai più attenti di voi non saranno sfuggite le considerazioni sul filtro basato sul CCI (commodity channe index). Ogni volta che l’RSI tagliava il livello 70 il CCI si trovava già sopra il valore + 100.  Il CCI è più tempestivo e lo è sempre.
Ecco la nostra idea di trading: compreremo quando il CCI supera il livello + 100  e venderemo quando scende sotto – 100. Chiaramente si tratta del classico sistema stop and reverse.

Lo strumento finanziario su cui è stato testato il trading system è il cambio EURUSD, time frame 1 ora.

Ecco che risultati avrebbe ottenuto dal 30 settembre 2009 al 15 giugno 2012:

Proverò a migliorare un po’ inserendo delle semplici regole di risk management: fissiamo uno stop loss a 300 $ e stop profit a 1300 $.

Due considerazione su tutte: il numero di trade è molto elevato e l’andamento dell’equity line comincia a far sperare in qualcosa di positivo. Il net profit è 30.470,60 $, il profit factor 1,13, il massimo drawdown 16.081,70, l’average trade 29,09 $,  la percentuale di trade vincenti soltanto del 25,85 %.
Proverò ad inserire dei filtri come, ad esempio, inclinazione della media mobile, ad aumentare il periodo di calcolo del CCI, a chiudere le posizioni alla fine della giornata, a togliere il take profit.
So cosa avete appena pensato: lo stop loss no, non lo toglierò mai dai miei sistemi! Della serie toglietemi tutto ma non il mio stop loss!

Chiaramente non è ciò che mi attendevo.
Non sto qui a riproporre tutti i passaggi, il numero di test, le idee buone e quelle pessime testate.
Durante i backtest ho avuto momenti di scoraggiamento: ogni cosa sembrava peggiorare o comunque non migliorare, il sistema originario. Forse il sistema raccoglieva un’idea di trading già ottima in sé. Forse, più probabilmente, stavo andando nella direzione sbagliata.
E se utilizzassi il CCI in modo diverso? Ad esempio comprando al taglio della sua media mobile a 4 periodi e non sul taglio del valore + 100?


Forse ci sono.  

Stop loss e take profit vanno però ricalcolati, per semplificarmi la vita decido che il rapporto tra i due  debba essere 1 a 2. In questo modo avrò un input in meno. I lettori che conoscono i pericoli dell’overfitting approveranno questa mia decisione.
Nel processo di lavorazione e di inserimento e backtest con tradestation è emerso che ciò che funziona per i trade long sembra non essere altrettanto efficacie per le operazioni short. I trade long e gli short hanno una struttura profondamente diversa.

Chiedendo aiuto  all’ottimizzazione mi sono accorto i long funzionano meglio se il CCI < 60 e gli short se il CCI < -50. Proprio così, è stata una sorpresa. Mi sarei aspettato che per i long il CCI dovesse essere maggiore di un certo valore, invece…


A proposito di ottimizzazione, quale sarebbe stato il valore temporale migliore per calcolare il CCI al fine di ottimizzare il net profit?
Prima considerazione: tutti i parametri sono buoni. Segno che il sistema è complessivamente robusto.
Sicuramente il valore migliore sarebbe stato 40, e questo per due motivi. Per il valore assoluto che il net profit  raggiunge e, soprattutto, perchè rappresenta il centro di un intorno con valori molto stabili e, come già accennato, tutti positivi.
L’equity line mostrata si riferisce al CCI calcolato a 50 periodi, soluzione non ottimizzata e che non cambierò.
E’ importante capire che l’ottimizzazione può aiutarci ad avere sicurezza nel sistema. Cercare la perfezione su dati del passato non ci aiuterà a overperfomare i mercati in futuro. Capire di aver progettato un buon trading system in cui, pur variando i valori degli input i risultati restano comunque buoni ci aiuterà invece tantissimo. Per chi come me progetta sistemi avere fiducia nei propri trading systems è tutto e quando le cose vanno meno bene è l’unica cosa a cui aggrapparsi per continuare ad eseguire i segnali in attesa di tempi migliori.
Il trading system presentato si chiama Anchise I.

lunedì 11 giugno 2012

Come migliorare il trading system sull'RSI - Telemaco I

Ricordate il trading system costruito con l'indicatore rsi sul cambio EURUSD esposto in uno dei precedenti post? Dopo qualche intuizione l'equity line era migliorata moltissimo.
Nei giorni scorsi tuttavia ho provato ad apportare una serie di modifiche per capire se esistessero ulteriori margini di miglioramento.
Come primo passo ho tolto ogni filtro di direzione (avevo usato l'incrocio tra la curva dei prezzi e una media mobile) e di trend (avevo utilizzato l'adx, indicatore che indica la forza del trend).

Cambio EURUSD, time frame 1 ora, periodo dal 4.01.2010 al 11.06.2012.
Ecco come appare la nostra equity line di partenza! Chi ben comincia...


Una prima direzione ci era stata suggerita da David Rodriguez, secondo lui l'rsi è un ottimo indicatore da utilizzare nelle fasi laterali, dove il trend non è ben definito.
Ecco cosa faremo! Utilizzeremo l'indicatore CCI (comodity channel index), i segnali long saranno valiti solo se il CCI a 14 periodi sarà inferiore a 100, i segnali short saranno validi solo se il CCI sarà superiore a -100.



Che orrore! L'idea di partenza è stata in grado di distruggere un equity line molto buona! Chiaramente non funziona il filtro CCI così come lo abbiamo concepito. Proviamo a fare il contrario! Voglio che il CCI sia > 100 per i trade  long e < -100 per i trade short.




Si tratta della stessa equity line iniziale! Ciò significa che quando l'rsi supera il vivello 70 il cci è sempre sopra il livello 100, per i trade short tali livelli sono rispettivamente 30 e -100. Questa è un'indicazione molto interessante: il CCI a 14 periodi sembra essere più veloce dell'RSI a 14 periodi.
In uno dei prossimi post approfondirò meglio questo argomento e testerò un sistema basato sul CCI.

Torniamo al nostro trading system, il CCI, così come utilizzato, non mi è stato di grande aiuto.
Il secondo filtro testato è il choppymarketindex (Building winning  trading systems with tradestation, G. Pruitt e J.R. Hill, Future Truth), proverò a considerare i segnali solo se questo è minore di 50. Anche in questo caso però i risultati non sono buoni.



Invertendo il filtro le cose potrebbero migliorare sensibilmente.


La situazione è migliore ma non rispetto al nostro trading system di partenza.
Non ho ancora trovato quello che stavo cercando. Proverò con un filtro di pattern.




Beh evidentemente si tratta del pattern sbagliato. Una media mobile? Il sistema di partenza una volta aveva la condizione che la media a 50 periodi calcolata sulle chiusure fosse inferiore al prezzo per le operazioni long, viceversa per le operazioni short. Potrei tentare questa volta con l'inclinazione di una media.




Finalmente! I miglioramenti sono evidenti nella parte finale dell'equity line e sono dovuti principalmente al netto miglioramento dei trade long. 
Non è stato per niente facile migliorare il trading system di partenza. Mi sono complicato la via più di una volta e per venirne fuori ci sono volute ore di backtest.
Spesso la soluzione è più vicina e semplice del previsto.

In un'ottica più lungimirante, vi anticipo che il trading system finale, che denominerò Telemaco I, (perdonatemi, ho un debole per i nomi mitologici), farà parte di un portafoglio di sistemi che testerò nei prossimi post dove affronterò argomenti come la correlazione tra diverse equity line e il drawdown di portafoglio.