Hybrid Robo-advisor

Thursday, August 20, 2015

Analisi in diretta e commento ai mercati su Class CNBC - 20 agosto

CORSO QUANT TRADING dal 9 al 17 Settembre 2015. 
8 Lezioni in streaming e 2 giornate conclusive a Comano Terme (TN).
Per conoscere tutti i dettagli clicca QUI

Wednesday, June 24, 2015

Il pattern Morningstar Bullish statistiche alla mano

Qualche settimana fa ho ricevuto da un lettore, che ha letto un mio vecchio articolo sui pattern di prezzo, questa email: 

"[....] le chiedo se è possibile avere una tabella riepilogativa con le statistiche per il mercato italiano, come quelle riportate nell'articolo sopra citato per i vari tipi di pattern (hammer, doji, harami, hanging man, shooting star, evening star, morning star, etc.etc.)

Essendo un appassionato di candlestick, vorrei capire la loro effettiva affidabilità statistica applicata al mercato italiano, che è quello su cui opero attualmente.

La ringrazio in anticipo della gentilezza.
Un suo fedele lettore
Cordialmente

Lettera firmata".

Dato che proprio in queste settimane sto rivedendo molte ricerche sui pattern fatte 10 anni fa ed oltre e sto svolgendone di nuove l'argomento ben si presta ad una serie di articoli per soddisfare la richiesta del lettore, che certamente non sarà isolata.

Sono partito a buon bastian contrario a rovescio, ossia dall'ultimo pattern citato, il Morning Star Bullish. Al fine di evitare interpretazioni personali sono andato sull'enciclopedia del trader  più completa che ci sia (Traderpedia) dove ho trovato questa definizione:

"Morning star è un bottom reversal pattern, ovvero una figura d'inversione bullish, formato da tre candele. La prima è una lunga candela nera seguita dalla star che apre con un gap rispetto alla chiusura della sessione precedente, la seconda è una short candle, candela che esprime indecisione del mercato soprattutto quando si manifesta dopo una long candle; la terza candela è bianca con un range di prezzo contenuto all'interno del range della prima candela ed indica la maggior forza dei compratori nel mercato. Non è necessario che la terza candela bianca apra la sessione con un gap rispetto alla star precedente, data la maggior flessibilità che viene lasciata rispetto alla conformazione delle prime due candele.
Morning star.jpg
Alcuni fattori incrementano l'affidabilità di questo pattern:
a) il gap tra la seconda candela e la terza;

b) la terza candela compresa abbondantemente nel range della prima candela;
c) la lunghezza della prima e della terza candela;
d) volumi crescenti dalla prima candela alla terza candela."

La programmazione è però una cosa precisa mentre la definizione si presta (come tante cose dell'analisi tecnica) ad interpretazione. Quanto dev'essere ad esempio lunga la Black Line (che l'esperto Stefano Fanton mi ha gentilmente confermato essere indispensabile per dare senso compiuto al pattern)?
La codifica che abbiamo ricavato è la seguente:
condition1 =  C[2] < O[2] (chiusura di due barre fa < apertura di due barre fa, ossia candela nera)
condition2 = O[1] < L[2] (ossia gap tra prima e seconda candela)
condition3 = C > O (ossia l'ultima candela deve essere bianca)
condition4 = H < H[2] and L > L[2] (ossia l'ultima candela deve essere inside della prima)
condition5 = range della prima candela (la long line) > avgtruerange(14) (trattandosi di un pattern candlestick secondo me sarebbe più corretto ragionare sull'ampiezza del body che non del range ma mi sono attenuto alla definizione trovata).
In definitiva abbiamo quindi considerato le condizioni a), b) e metà della c) della definizione e non la d).

Eliminando una condizione (per alzare la significatività statistica) il risultato, su un test di portafoglio effettuato con Portfolio Trader di Multicharts dal giugno 2000 al giugno 2015 su tutti i titoli del FTSEMIB40 è il seguente:

DAILY: 216 PATTERN con % DI CANDELE BIANCHE SUCCESSIVE ALLA MORNINGSTAR = 37,96% (se entrassimo in open il giorno successivo e chiudessimo a fine giornata avremmo una equity line che scende con costanza anche senza considerare commissioni e slippage)..
Provando quindi a tradarlo al contrario (ossia andando short invece che long) ecco qui sotto l'equity line che ne uscirebbe:


WEEKLY: 33 PATTERN con % DI CANDELE BIANCHE SUCCESSIVE ALLA MORNIGSTAR = 48,48% (ossia se entrassimo in apertura di settimana successiva e chiudessimo alla fine della settimana stessa perderemmo nel 51,5% dei casi con un rapporto vincita media/perdita media di 1,02 e un guadagno che verrebbe eroso completamente dalle commissioni. In pratica quasi come lanciare una moneta.

Appuntamento al prossimo pattern!

Esempio di pattern su Atlantia tradato al contrario.

Wednesday, June 10, 2015

I pattern di prezzo: un modello alla prova del tempo

Esiste di qualcosa di più formativo degli aneddoti desunti dall'esperienza di vita vissuta? Probabilmente no. L'esperienza è qualcosa di tangibile, è la manifestazione (per dirla in termini tecnici, l'output) di quella che in partenza era solo una teoria da dimostrare.
I miei primi studi sui pattern di prezzo risalgono al 2002 e trassero spunto da Barry Rudd, da qualche idea di Remo Mariani (per i giovani cui non dicesse nulla questo nome potete guardare QUI) ma soprattutto un nuovo grosso stimolo lo ebbi da Massimiliano Scorpio con cui io ed Emilio Tomasini scrivemmo il libro “Il trading sistematico di borsa-un approccio operativo con i pattern di prezzo”.

Il libro non fu un grosso successo di vendite, forse per il titolo poco accattivante, forse perché poco valorizzato nel catalogo dell'editore o semplicemente perché era troppo in anticipo sui tempi.
I miei studi (e quelli di altri miei collaboratori) si concentrarono sull'azionario daily italiano, allo scopo di ottenere trading systems con basso drawdown, con segnali facili ma che comunque consentissero di chiudere la posizione end of day 1 e portarono all'individuazione di diversi pattern di prezzo di breve termine molto efficaci che generavano statistiche molto interessanti, in alcuni casi vincenti oltre il 70% dei casi.

La metodologia per indagare i singoli pattern l'ho più volte descritta nei miei articoli free e nei miei libri successivi (l'ultimo “Trading systemvincenti”). I pattern individuati con test condotti all'epoca col Tradestation2000 titolo per titolo (e quindi molto lenti) fornirono risultati statisticamente abbastanza significativi, piuttosto robusti ma poiché generavano pochi segnali al mese, per poter sfruttare adeguatamente il capitale ed incrementare il rendimento i pattern vennero assemblati selezionando quelli con i migliori profit factor ed average trade.

Riportiamo l'equity line di portafoglio del modello EM4LR effettuato sull'attuale paniere del FTSEMIB (tutti i titoli che abbiano uno storico sufficiente, per mostrare la robustezza della strategia) dal 1996 al 2004.






I segnali del trading system furono seguiti con denaro reale ed utilizzati anche per una rubrica su Lombardreport e fin da subito mi scontrai col primo problema: in alcuni giorni c'erano segnali solo su pochi titoli, uno o due e magari, in altri nessuno, in altri ancora c'erano segnali su almeno il 30% dei titoli del paniere (all'epoca di 30 titoli). Come gestire il capitale? Per semplificare le cose ridussi i titoli a 7: Alleanza (delistata), Antonveneta (delistata), Mediolanum, Pop Vr Novara (ora Banco Popolare), Pirelli, Sai-Fondiaria, Stm.

Pattern robusti, basso drawdown, nessun rischio overnight. Lavoro eccellente: ne ero convinto.
Dopo due anni il trading system era dismesso causa risultati con average trade ed equity line in guadagno ma dall'andamento zoppicante, in lento declino.

Siete curiosi di sapere cosa sarebbe successo dal 2004? Ecco i risultati dal 2000 ad oggi sull'attuale paniere del FTSEMIB (tutti e 40 i titoli).



Cosa è successo? Abbiamo sbagliato qualcosa? Se sì dove?

Il trading system non ha praticamente input. A differenza di strategie follower o basate su oscillatori non esistono parametri da ottimizzare: solo pattern in cui il posizionamento di aperture, chiusure, range non sono stati frutto di ottimizzazioni di alcun tipo.
Alla fine dei conti sono invece ottimizzazioni la combinazione dei pattern e la selezione dei titoli migliori: bastano 9 pattern da combinare assieme, come in questo caso, per avere 1.024 processi di ottimizzazione (ogni pattern ha due opzioni: on/off, 2 elevato alla nona = 1.024).

Questo è il motivo (rispondo così ad alcune domande dei lettori) della mia diffidenza per gli algoritmi genetici, esternata anche nel libro “Trading systems vincenti”. Si badi bene, diffidenza non significa che io ne sconsigli l'utilizzo. Gli algoritmi genetici possono aiutare, soprattutto i neofiti, a risparmiare su lunghi e faticosi tempi di ricerca, ma bisogna essere consapevoli del rischio decadimento che è maggiore rispetto a strategie “self-made”.

Nel nostro caso del modello EM4LR è però innegabile che ci sia anche un decadimento dell'efficacia dei singoli pattern che si può osservare analizzandoli uno per volta. Ciò conferma per l'ennesima volta che i mercati si evolvono, le serie storiche delle azioni sono mutevoli (NB: su 40 titoli dell'attuale FTSEMIB solo 23 erano presenti nel 2003), se poi si progettano sistemi solo per alcuni titoli e ci si affida solo a sistemi iperottimizzati (e / o genetici) adattati a poche curve di prezzo senza adeguati test di robustezza allora sono dolori.

Questo è uno dei motivi per cui da anni abbiamo iniziato a studiare un sistema di portafogli dinamici di cui ho parlato anche QUI


Il prossimo MASTER di novembre che si terrà in Emilia (la sede dello scorso anno slitterà da Bologna a Modena) tratterà prevalentemente queste tematiche; per la prima volta “aprirò” il codice di EM4LR svelando i pattern che lo compongono, parleremo approfonditamente di portafogli dinamici e mostrerò come realizzare un software di ricerca di pattern e costruzione automatica  di strategie “home made” efficacissimo.

Appuntamento a Modena dal 15 al 17 novembre.

Non perdetevi il prossimo articolo con delle interessanti statistiche richieste da un lettore!



1All'epoca non c'erano ancora automatismi affidabilissimi...

Thursday, May 28, 2015

Trading automatico professionale - i software (Multicharts e Widetrader)

Enrico Malverti spiega i vantaggi della sua architettura che adotta dal 2007 per il trading automatizzato.

Saturday, May 23, 2015

Le slides del seminario "Trading systems vincenti" a #ITFORUM2015

Ringrazio tutti i partecipanti all'ITFORM2015, in particolare chi ha assistito alla presentazione monografica sui trading system facendosela in piedi. 
Mi dispiace per le numerosissime persone che sono rimaste fuori dalla porta ma eravamo in overbooking. Per gli organizzatori non è mai facile capire quante persone assisteranno a una conferenza.
In ogni modo allego QUI le slides e presto aggiungeremo molto altro materiale come i video sulla programmazione con Multicharts (per ora sono on line 2 video su 6) e video sul funzionamento di TS Ranking.

GRAZIE a tutti.
em

Tuesday, May 5, 2015

Ichimoku Cloud anche per Multicharts (power language)

Accontentiamo anche chi ha richiesto l'Ichimoku Cloud per Multicharts (o Tradestation). Eccolo in formato eseguibile QUI e di seguito in formato testo:


//Ikarius 2011
Input:Tenkan(9),Kijun(26) ,Chikou(26),SenkouA(26),SenkouB(52);
Var:TS(0),KS(0),CS(0),SA( 0),SB(0);

Value1 = Highest(H,Tenkan);
Value2 = Lowest(L,Tenkan);

TS = ( Value1 + Value2 ) /2;

Value3 = Highest ( H, Kijun);
Value4 = Lowest (L, Kijun);

KS = ( Value3 + Value4 ) / 2;

SA = ( TS + KS ) / 2;

Value5 = Highest( H , SenkouB);
Value6 = Lowest ( L , SenkouB);

SB = (Value5 + Value6) / 2;


Plot1(TS,"TS",red);
Plot2(KS,"KS",blue);
Plot3[Chikou](C,"CS",cyan);
Plot4[-SenkouA](SA,"SA");
Plot5[-SenkouB/2](SB,"SB");
Plot6[-SenkouA](SA,"SAC");
Plot7[-SenkouB/2](SB,"SBC");

if SA > SB then
begin
SetPlotColor[-SenkouA]( 6, darkgreen ) ;
SetPlotColor[-SenkouB/2]( 7, darkgreen ) ;
SetPlotColor[-SenkouA]( 4, darkgreen ) ;
SetPlotColor[-SenkouB/2]( 5, darkgreen ) ;
end
else
begin
SetPlotColor[-SenkouA]( 6, darkmagenta ) ;
SetPlotColor[-SenkouB/2]( 7, darkmagenta ) ;
SetPlotColor[-SenkouA]( 4, darkmagenta ) ;
SetPlotColor[-SenkouB/2]( 5, darkmagenta ) ;

end ;


Per visualizzare la nuvola settate SAC ed SBC come in figura da format - study:

 

Monday, May 4, 2015

ICHIMOKU CLOUD: il codice per Visual Trader

Ricevo da un gentile Lettore:

"Qualche settimana fa ho acquistato il suo libro Trading Systems vincenti, l'ho trovato molto interessante e utile per colmare alcune delle mie moltissime lacune.
Nella parte relativa a Ichimoku, ho visto che non viene presa in considerazione la nuvola, di questa lei ha la il codice (ovviamente posso  pagarglielo) per Visual Trader?... "

Eccolo qui di seguito a vantaggio di tutti i visitatori del sito sia in formato testo che eseguibile QUI:

//ICHIMOKU CLOUD PER VISUAL TRADER
Input: Delayed(52);
var:StdLine,TurnLine,Span1,Span2;

StdLine = ( HHV( H, 26 ) + LLV( L, 26) )/2;
TurnLine = ( HHV( H, 9 ) + LLV( L, 9 ) )/2;
Span1 = (( StdLine + TurnLine )/2);
Span2 = (HHV( H, Delayed) + LLV(L, Delayed))/2;

if crossunder(TurnLine, StdLine) then entershort(nextbar,atopen);
endif;
if crossover(TurnLine, StdLine) then enterlong(nextbar,atopen);
endif;

Plotchart(StdLine, 0, orange, SOLID, 2);
Plotchart(TurnLine, 0, blue, SOLID, 2);
A scopo didattico e di test abbiamo inserito anche i segnali di acquisto e vendita anche se usato come sistema SAR (stop & reverse) è soggetto a molti falsi segnali e non certo esempio di un trading system efficiente.... VT sembra non consentire lo switch del plot e il riempimento della nuvola come in altri linguaggi: indagheremo e se possibile integreremo.

L'ichimoku Cloud applicato al FTSEMIB future a 15 minuti.

Wednesday, April 8, 2015

Ottimizzazione dei parametri (input) di un #trading system con #Multicharts


Spunti di ricerca: Il ts "3averages" testato sul #Forex #GBPUSD

Nel momento in cui si crea un nuovo trading system questo va testato su più strumenti finanziari, anche se, ad esempio, è stato creato per un futures come Dax o FTSEMIB. Questo deve avvenire sia per testarne le potenzialità in termini di robustezza sia perché talvolta può avvenire di individuare mercati su cui la strategia funziona ancora meglio di quello per cui è stata progettata.
Quando si approccia un mercato che non si conosce conviene testare una ad una tutte le strategie che si hanno a disposizione per scremare le migliori e capire il carattere dello strumento finanziario (se è più da trend follower o da mean reverting). 
Tra i sistemi del libro “Trading system vincenti” abbiamo preso il sistema 3averages basato su tre medie mobili esponenziali settate a 6, 12 e 24 periodi e lo abbiamo testato sul cambio GBPUSD a 60 minuti, tradizionalmente abbastanza ostico per i modelli trend follower. In origine nel libro era stato presentato (A PAG. 88) sull'azionario italiano e in particolare sul FTSEMIB a 60 minuti su cui raggiungeva un profit factor di 1,54 nell'arco del test in sample dal 1996 al 2012. 
Il modello utilizza un semplice trailing stop a 5 periodi mentre le entrate sono quelle classiche che prevedono il cross delle prime due medie che contemporaneamente devono essere superiori (caso long) o inferiori (caso short) alla media più lenta.

I risultati del sorgente su GBPUSD sono qui sotto insieme all'equity line. Avete così un nuovo spunto su cui lavorare...

Strategy Performance Summary









All Trades Long Trades Short Trades
Net Profit 15929,9999999999 1340,0000000001 14589,9999999998
Gross Profit 65870 26060 39810
Gross Loss -49940,0000000001 -24719,9999999999 -25220,0000000001
Adjusted Net Profit 6312,8101341061 -4796,8462134739 7188,3229122769
Adjusted Gross Profit 59856,9191895224 22446,1282215927 34982,3283836518
Adjusted Gross Loss -53544,1090554163 -27242,9744350666 -27794,0054713748
Select Net Profit 12180 4760,0000000002 7419,9999999998
Select Gross Profit 45910 21570 24340
Select Gross Loss -33730 -16809,9999999999 -16920,0000000001
Account Size Required 4500 5270 3420
Return on Account 3,54 0,2542694497 4,2660818713
Return on Initial Capital 15,93 1,34 14,59
Max Strategy Drawdown -5510 -6810 -4360
Max Strategy Drawdown (%) -5,4678971916 -6,6771252084 -4,3266845291
Max Close To Close Drawdown -4500 -5270 -3420
Max Close To Close Drawdown (%) -4,4869877356 -5,2193720907 -3,42
Return on Max Strategy Drawdown 2,891107078 0,1967694567 3,3463302752
Profit Factor 1,3189827793 1,0542071197 1,5785091197
Adjusted Profit Factor 1,1178992469 -0,8239235505 1,2586285348
Select Profit Factor 1,3611028758 1,2831647829 1,438534279
Max # Contracts Held 100000 100000 100000
Slippage Paid 0 0 0
Commission Paid 0 0 0
Open Position P/L n/a n/a n/a
Annual Rate of Return 3,7900982521 0,3188155466 3,4712827055
Monthly Rate of Return 0,315841521 0,0265679622 0,2892735588
Buy & Hold Return -6706,7067067067 -6601,528247526 -6706,7067067067
Avg Monthly Return 306,3461538462


Monthly Return StdDev 1360,8071838264












Performance Ratios








Upside Potential Ratio 91,2127835419


Sharpe Ratio 0,0967044782


Sortino Ratio 0,1781171981


Fouse Ratio 0,0027788798


Calmar Ratio 0,0254282051


Sterling Ratio 0,0019926302


Net Profit as % of Largest loss 1188,8059701493


Net Profit as % of Max Trade Drawdown 1021,1538461539


Net Profit as % of Max Strategy Drawdown 289,110707804


Select Net Profit as % of Largest loss 908,9552238806


Select Net Profit as % of Max Trade Drawdown 780,7692307692


Select Net Profit as % of Max Strategy Drawdown 221,0526315789


Adj Net Profit as % of Largest loss 471,1052338885


Adj Net Profit as % of Max Trade Drawdown 404,6673162889


Adj Net Profit as % of Max Strategy Drawdown 114,5700568803












Time Analysis








Trading Period 4 Yrs, 2 Mths, 18 Dys, 4 Hrs


Time in the Market 9 Mths, 6 Dys, 6 Hrs, 1 Min


Percent in the Market 17,9948340752


Longest flat period 1 Mth, 3 Dys, 20 Hrs


Max Run-up Date 18/05/2012


Max Drawdown Date 06/10/2011


Max Strategy Drawdown Date 07/11/2011 20.00


Max Close To Close Drawdown Date 07/11/2011 10.00







(Il test non considera i costi dati dallo spread significativamente diverso in base al broker scelto).








Tuesday, March 24, 2015

Trading automatico con Sella.it - #bancasella #widetrader #multicharts


Il trading system "PIVOTEM" per il FTSEMIB future



Gentile Lettore,

come regalo di Natale ai fedelissimi ho deciso di allegare un listato basato sui pivot point che produce buoni risultati in sample (senza aver prodotto iper ottimizzazioni) e che può essere uno dei tanti punti di partenza per i propri studi su strategie di trading ed algoritmi.

Segue il listato[1] in formato testo e i risultati sul FTSEMIB future a 60 minuti già conteggiati 30 € di slippage a trade.
La strategia si basa sull’acquisto (caso long) in stop alla rottura del punto di pivot filtrato con una media a 20 periodi e l’indicatore Ematrend (presente sia su Visualtrader che sulla nuova Multicharts 9). Quando si arriva in ipercomprato di breve (calcolato con RSI a 14 periodi) sopra 80 si chiude la posizione. Simmetricamente per lo short.

{PIVOTEM
copyright 2014 @ Enrico Malverti}

var: AP(0), PVH1(0), PVL1(0), PVH2(0), PVL2(0);
Var: mioosc(0);
Input: maxstop(750), profittarget(1000), len(21), mult(3);
mioosc = ematrend(mult,len);
AP = ( High + Low + Close ) / 3;

PVH1 = ( 2 * AP ) - L;

PVL1 = ( 2 * AP ) - H;

PVH2 = AP - PVL1 + PVH1;

PVL2 = AP - PVH1 + PVL1;

if marketposition = 0 and T >= 1000 and T <= 1700  
and C > average(C, 20)
and C > mioosc
then buy next bar at PVH2 stop;
if marketposition = 0 and t >= 1000 and T <= 1700
and C < average(C, 20)
and  C < mioosc
then sellshort next bar at PVL2 stop;


setstoploss(maxstop);

if marketposition = 1 and RSI(C, 14) > 80 then sell next bar at open;
if marketposition = -1 and RSI(C, 14) < 20 then buytocover next bar at open;

Strategy Performance Summary




All Trades
Net Profit
289655
Gross Profit
869990
Gross Loss
-580335
Adjusted Net Profit
195819,196313708
Adjusted Gross Profit
796723,625019134
Adjusted Gross Loss
-600904,428705426
Select Net Profit
-85320
Select Gross Profit
442835
Select Gross Loss
-528155
Account Size Required
31880
Return on Account
908,5790464241
Return on Initial Capital
289,655
Max Strategy Drawdown
-46555
Max Strategy Drawdown (%)
-27,5237222501
Max Close To Close Drawdown
-31880
Max Close To Close Drawdown (%)
-18,8306104901
Return on Max Strategy Drawdown
6,2217806895
Profit Factor
1,4991168894
Adjusted Profit Factor
1,3258741107
Select Profit Factor
-0,8384565137
Max # Contracts Held
1
Slippage Paid
56250
Commission Paid
0
Open Position P/L
45
Annual Rate of Return
16,9624184763
Monthly Rate of Return
1,413534873
Buy & Hold Return
24400,3837543972
Avg Monthly Return
1413,1707317073
Monthly Return StdDev
7635,5645196955




Performance Ratios



Upside Potential Ratio
33,7748920766
Sharpe Ratio
0,138876244
Sortino Ratio
0,2556742091
Fouse Ratio
0,0059371378
Calmar Ratio
0,0129488883
Sterling Ratio
0,0019791284
Net Profit as % of Largest loss
6880,1662707839
Net Profit as % of Max Trade Drawdown
6929,5454545455
Net Profit as % of Max Strategy Drawdown
622,1780689507
Select Net Profit as % of Largest loss
-2026,6033254157
Select Net Profit as % of Max Trade Drawdown
-2041,1483253589
Select Net Profit as % of Max Strategy Drawdown
-183,2671034261
Adj Net Profit as % of Largest loss
4651,287323366
Adj Net Profit as % of Max Trade Drawdown
4684,6697682705
Adj Net Profit as % of Max Strategy Drawdown
420,6190448152




Time Analysis



Trading Period
17 Yrs, 1 Mth, 15 Dys, 2 Hrs, 40 Mins
Time in the Market
13 Yrs, 9 Mths, 8 Dys, 20 Mins
Percent in the Market
80,3739712117
Longest flat period
7 Dys, 2 Hrs
Max Run-up Date
16/10/2009
Max Drawdown Date
28/05/1998
Max Strategy Drawdown Date
21/12/1998 14.00.00
Max Close To Close Drawdown Date
06/10/2008 12.00.00

 
  

[1] Ricordo che il codice ha valenza didattica. Il trading è una attività rischiosa, chi lo utilizzasse per attività di trading lo fa sotto la sua piena ed esclusiva responsabilità.