Sinergie di trading
ma non hanno mai trovato questi pericoli una ragione sufficiente per restare a riva."
(Vincent Van Gogh)
Articolo a cura di Leonardo Pisano.
Un Trading System
Un banale trading system può rivelarsi molto profittevole con l’utilizzo di appropriate tecniche di diversificazione e money management. Prendiamo per esempio un trading system che lavori sul future S&P500 su timeframe orario, il nostro sistema automatico seguirà una semplice regola:
- Compra se sono le 16:00 italiane e se il close dell’ultima candela è superiore all’open
- Vendi alla prima candela il cui close è inferiore all’open
- Capitale iniziale 20.000€
- Commissioni 6€
Si tratta quindi di un trading system che opera solo long, e che si attiva solo alle quattro del pomeriggio se la candela precedente è verde.
Vediamo l’equity di questo sistema:
Naturalmente un TS non può essere valutato solo guardando la curva dei profitti ma per i nostri scopi può essere sufficiente. Nell’arco di 3 anni il TS ha guadagnato circa 8000 euro entrando a mercato con un solo contratto MiniS&P. Niente di eccezionale, ma il sistema non è male: la curva è progressivamente crescente, non ci sono cadute di performance allarmanti. Notiamo però che nell’ultimo anno e mezzo i profitti si sono stabilizzati e cresciuti molto più lentamente. Qualcosa che va migliorato.
Proviamo a utilizzare lo stesso TS ma anziché attivarlo alle 16 lo facciamo lavorare mezz’ora prima dell’apertura dei mercati americani, ovvero alle 15:00, e vediamo cosa succede.
Sicuramente un progresso: i profitti sono aumentati a circa 13.000 euro, il drawdown è però un po’ aumentato rispetto a prima a causa del fatto che il sistema entra a mercato quando oltreoceano i mercati sono ancora chiusi ed in un momento molto più vicino al rilascio di dati economici, quindi in un orario in cui statisticamente è presente una maggiore volatilità. In sintesi potremmo dire che entrare a mercato alle 1500 anziché alle 1600 sia, sul S&P500, più remunerativo ma anche più rischioso. Una legge che la borsa rispetta sempre.
Ma se confrontiamo bene le due curve, notiamo qualcosa di particolare: nel secondo grafico è scomparso l’appiattimento dell’equity che notavamo prima, diciamo da inizio 2013 in poi. Tuttavia la seconda curva è molto più appiattita durante il 2012 mentre la pendenza della prima curva, nello stesso periodo, è più pronunciata.
Sembrerebbe quindi che a parità di regole, entrare a mercato alle 1500 sia stato più profittevole nel 2013, ma nel 2012 era certamente meglio comprare un’ora dopo, alle 1600.
Ma siamo curiosi e vogliamo vedere come si modifica la performance anticipando ulteriormente l’ingresso a mercato. Abbiamo iniziato alle 1600, poi alle 1500, proviamo adesso alle 1400.
La curva è più irregolare delle precedenti, il guadagno complessivo sostanzialmente lo stesso ed anche qui notiamo un ampio periodo, a cavallo tra la seconda metà del 2011 e la fine del 2013, in cui i guadagni faticano ad arrivare. Possiamo concludere che qualsiasi orario si decida di tradare troveremo sempre dei pro e dei contro: maggior guadagno ma maggiore volatilità, periodi flat o di drawdown in un sistema che coincidono con periodi di gain di un altro, drawdown in periodi diversi nei 3 sistemi. Tutti e tre i TS sono profittevoli ma nessuno si comporta allo stesso modo nel tempo, come si può vedere nella tabella.
Sistema | 2010/2011 | 2011/2012 | 2012/2013 | 2013/2014 |
Ore 1600 | Flat | Gain | Gain | Flat |
Ore 1500 | Gain | Gain | Flat | Gain |
Ore 1400 | Gain | Flat | Flat | Gain |
Se provassimo a metterli insieme, ovvero lo stesso sistema che però entra a orari diversi tra le 1400 e le 1600, dovremmo, almeno in teoria, prendere il meglio di ognuno e nel contempo smussare le fasi flat o di drawdown di uno dei sistemi, perché gli altri guadagnano. Proviamo
Interessante: l’equity complessiva è notevolmente più regolare di quella di ogni singolo sistema, i drawdown sono notevolmente diminuiti in ampiezza così come sono praticamente spariti i periodi flat, tranne nell’ultima parte della curva in quanto nessuno dei 3 sistemi ha generato profitti.
Questo non è migliorabile.
A parità di profitti, abbiamo quindi notevolmente migliorato la tenuta del nostro sistema di trading e con quella anche la tenuta dei nervi del trader diminuendo il rischio, sempre implicito nella conduzione di un sistema di trading, di abbandonarlo nelle fasi in cui non c’è guadagno o addirittura perdite.
Abbiamo migliorato la robustezza del sistema, possiamo fare qualcosa anche per migliorarne la profittabilità? Tutti i back test sono stati fatti comprando sempre e solo un contratto Mini S&P500. Possiamo provare a vedere cosa succede se, ogni 1000 euro di guadagno, aumentiamo l’esposizione a 2 contratti fino ad un massimo di 3 contratti.
In altre parole, da 0 a 1000 euro di gain utilizzeremo un solo contratto, da 1000 a 2000, 2 contratti e 3 contratti dai 3000 euro in poi. Vediamo cosa succede.
Davvero niente male. Applicando una semplice strategia di MoneyManagement, che prevede l’aumentare dei contratti all’aumentare del profit, siamo arrivati a quasi triplicare il profitto.
La tecnica di MoneyManagement utilizzata è nota come Fixed Ratio e la quantità di denaro che deve essere guadagnata prima di aumentare l’esposizione dei contratti è detta delta.
Variando il delta, è possibile variare la frequenza con cui aumento i contratti. Se, ad esempio, aumento il delta da 1000 a 5000 euro, otterrò un sistema meno profittevole ma sicuramente più conservativo.
Infine, uno sguardo alla rischiosità del nostro trading system
Entro due deviazioni standard, il drawdown atteso è del 18%, quello medio del 10%.
Valori assolutamente accettabili in un sistema di trading su derivati.
In conclusione
In conclusione, la validità di un sistema non è solo funzione della qualità tecnica. Naturalmente vanno scelti setup, indicatori, oscillatori statisticamente validi ed adattati al sottostante su cui si vuole fare trading. Ma l’affidabilità e profittabilità di un qualsiasi sistema, meccanico o discrezionale, sono funzione della diversificazione e del Money Management.
Codice di programmazione per Visual Trader
Questo è il codice di programmazione per Visual Trader:
- Ore 14
INIZIO FORMULA
if t=1400 then
if c[1]>o[1] and c>o then
installstoploss (inmon, 1000, "stop");
installtakeprofit(inmon, 200, "take");
enterlong (nextbar, atclose);
endif;
endif;
if positiondir=1 and c<o then
exitlong(nextbar, atclose);
endif;
FINE FORMULA
- Ore 15
INIZIO FORMULA
if t=1500 then
if c[1]>o[1] and c>o then
installstoploss (inmon, 1000, "stop");
installtakeprofit(inmon, 200, "take");
enterlong (nextbar, atclose);
endif;
endif;
if positiondir=1 and c<o then
exitlong(nextbar, atclose);
endif;
FINE FORMULA
- Ore 16
INIZIO FORMULA
if t=1600 then
if c[1]>o[1] and c>o then
installstoploss (inmon, 1000, "stop");
installtakeprofit(inmon, 200, "take");
enterlong (nextbar, atclose);
endif;
endif;
if positiondir=1 and c<o then
exitlong(nextbar, atclose);
endif;
FINE FORMULA