Premessa
Questo articolo nasce come costola del primo episodio della rubrica Trading Nightmare, spazio che dedicheremo ai peggiori trades che dovessero verificarsi durante il nostro trading quotidiano.
Il primo episodio, che potete recuperare qui, trattava di un’operazione chiusa con una perdita discreta sul future del Crude Oil. Nell’articolo abbiamo semplicemente evidenziato l’accaduto, senza entrare troppo nel merito del perchè e per come.
D’altra parte, quando sui social si pubblicizzano operazioni vincenti con gain stratosferici, mica ci si sofferma troppo sul perchè e per come: quello che importa è sbandierare il guadagno, del resto, sia per chi scrive, sia per molti che leggono, importa poco.
Ebbene, abbiamo pensato che lo stesso approccio si possa applicare anche ai trade perdenti…perchè la cruda verità è che, alla fin fine, “su uno stop loss singolo non c’è molto su cui riflettere, come del resto su un gain singolo” [cit. Luca Ronzan].
Tuttavia, a seguito dei numerosi commenti ricevuti sui social e via email, in cui si chiedeva maggior approfondimento sullo stop loss di quel trade, ho pensato di scrivere un articolo proprio sugli stop loss in generale, per spiegare il nostro approccio e cercare di motivare l’atteggiamento (apparentemente) disincantato che abbiamo nei confronti dei risultati (negativi o positivi) di singole operazioni.
Trading sistematico e fitting
Nel nostro ambiente si parla molto di overfitting, il male dei mali, il “curvare” eccessivamente i nostri algoritmi sulle serie storiche oggetto di backtest.
Se l’overfitting è presagio di morte prematura sui mercati, ecco che dobbiamo imparare a tenerlo sotto controllo. Già perchè evitarlo, nonostante tutti i più buoni propositi, è impossibile…
Cosa fa un trader sistematico? Analizza una serie storica, cerca di individuare dei pattern ricorrenti che possano poi essere sfruttati da un algoritmo, sperando che continuino a verificarsi in futuro.
Se ci pensate, ancor prima di inserire filtri e contro filtri, già solo il pensare di domare, con quattro righe di codice un qualcosa di irrazionale (il mercato) è fitting. Ma purtroppo da qui non si scappa, ci nascondiamo dietro l’ombrello della statistica e speriamo in bene.
Spesso però, le quattro righe di codice che abbiamo scritto producono un’ equity line che, pur crescendo, non ha quella regolarità che ci rassicura; ha una volatilità troppo alta e drawdown profondi, ragion per cui proviamo ad “addomesticarla” con filtri vari: dal fitting si passa così all’overfitting, con tutto quello che ne deriva.
Lo stop loss è un filtro?
Certo che lo è!
E’ un filtro che dobbiamo inserire nel nostro trading system per :
- darci un paletto che ci difenda da perdite infinite.
- distinguere la bontà del segnale dalla negazione dello stesso.
- rendere tradabile e digeribile il nostro algoritmo.
Quale che sia il proprio approccio al trading, non si può non avere uno stop loss! Però ci sono stop loss e stop loss, e, visto che dobbiamo usarlo, cerchiamo almeno di rimanere nel fitting, invece di cadere nell’overfitting.
Stop Loss Monetario
Quando cominciai a scrivere trading systems nel lontano 2010, dopo aver letto libri e frequentato vari corsi, abbracciai l’idea dello stop loss monetario, soprattutto per codici che lavoravano esclusivamente in intraday.
Sulla carta avrebbe dovuto rappresentare uno stop loss “anti rovina”, una soglia di perdita che raramente sarebbe stata raggiunta, ma che serviva a proteggermi dai cigni neri, da outliers negativi potenzialmente distruttivi.
La determinazione di questa soglia avveniva tramite diversi ragionamenti che si riconducevano al non voler perdere più di un tot % del mio capitale in una singola operazione. Nel concreto analizzavo, nel performance report del sistema, la Maximum Adverse Excursion per poi lanciare un’ottimizzazione sullo storico, volta ad individuare il corretto valore monetario dello stop loss, cercando di evitare l’overfitting.
Nell intenzioni, dunque, si trattava di uno stop loss anti rovina; nella realtà si trasformava in uno stop loss che addolciva l’equity line dei miei sistemi, restituendomi apparente sicurezza e tranquillità nel tradarli.
Nel corso del tempo, l’esperienza mi ha fatto riflettere di quanto la scelta di uno stop loss monetario fosse arbitraria: di fatto ero io che per stare tranquillo, imponevo al sistema di chiudere l’operazione una volta raggiunto un livello di perdita fisso, prestabilito. Livello di perdita che nulla aveva a che fare con il segnale ed il suo naturale corso (positivo o negativo).
Un’altra cosa di cui mi resi conto è che i futures, a seconda del loro comportamento, possono aumentare/diminuire drasticamente il loro controvalore, rendendo così inadeguato uno stop loss fisso, che non sta al passo con il controvalore dello strumento.
Pensiamo, ad esempio al Nasdaq: in cinque anni la sua quotazione è passata da 5.000 punti a 16.000 punti; il suo controvalore è quindi passato da 100.000$ a 320.000$! Come si può pretendere che uno stop loss monetario fisso, magari stabilito nel 2017, possa ancora essere efficiente oggi, con un aumento così portentoso dello strumento (e di conseguenza della sua volatilità)?
In definitiva, se non è fitting questo…?
Stop Loss di Volatilità
Se dunque un valore monetario fisso non rappresenta, per chi scrive, una soluzione efficiente, allora possiamo esprimere lo stop loss tramite una misura della volatilità.
In questo modo, sfruttando ad esempio l’Average True Range (ATR), possiamo adottare uno stop loss dinamico che stia al passo con lo strumento tradato, con il suo incremento/decremento di valore e volatilità.
Anche qui, mediante backtest possiamo stimare dei valori di perdita (espressi come porzione di ATR) entro cui, statisticamente, conviene chiudere l’operazione.
Forse in questo modo commettiamo meno fitting, tuttavia, anche in questo caso, cerchiamo di imbrigliare il nostro trading system entro dei paletti che nulla hanno a che fare con la bontà o meno del segnale.
Stop Loss “Intelligenti” (forse)
Senza dilungarmi ulteriormente, gli unici stop loss che riteniamo più sensati e che applichiamo a tutti i nostri trading systems, sono stop legati alla negazione del pattern che ha fatto nascere il segnale di ingresso.
Non addolciamo la pillola: il segnale deve essere lasciato libero di esprimere la sua potenzialità, anche a costo di patire qualche perdita potenzialmente fastidiosa.
Se il segnale scaturisce da un pattern preciso, solo la negazione oggettiva dello stesso impone di chiudere l’operazione.
E se questo modo di ragionare rende il sistema indigeribile per le mie coronarie o per il mio portafoglio, amen, non lo traderò. Non ci ha ordinato il dottore di mettere a mercato tutti i trading systems che creiamo. Preferiamo scartare ciò che non ci convince in termini di drawdown piuttosto che imporre stop loss legati alla “pancia” più che alla “ragione”.
E se si tratta di trading systems intraday, se la posizione è in loss, ma non scatta la negazione del segnale, l’operazione sarà chiusa a fine giornata (o della custom session adottata): questo è stato il caso dell’operazione sfortunata sul Crude Oil, chiusa appunto in perdita a fine della custom session intraday che utilizziamo per quel sottostante.
In ogni caso…
…riprendendo la battuta di Luca sul fatto che c’è poco da dire su una singola perdita, come del resto su un singolo guadagno, c’è un’altra cosa da tenere presente: i singoli trading systems, di per sé, non sono importanti, non hanno valore.
E’ il portafoglio, come è stato concepito ed assemblato che fa la differenza. E’ sul portafoglio che si deve ragionare in termini di drawdown e rapporto rischio/rendimento.
Anche un singolo algoritmo indigesto può avere un senso all’interno di un portafoglio.
Non esistono trading systems perfetti; esistono sistemi imperfetti che insieme possono dare origine ad un portafoglio efficiente e robusto.
Così è (se vi pare)…
Buon Trading!