Giocando con gli stop loss

Sugli stop si legge di tutto e il contrario di tutto. Sicuramente molti come me rimpiangono di non aver impostato degli stop loss quando guardano posizioni sofferenti il portafoglio. Ho un Cattolica ondivaga tra un -35% e -25%. Seguo la prima regola che mi sono dato, non chiudere posizioni in perdita e così finché non cambio regola tengo la mia Cattolica sperando in un miracolo Generali. Dati i principi di base, ogni strategia si comporta in modo diverso in funzione degli stop e non sempre uno stop stretto o largo porta benefici. Ecco le regole di base degli stop loss che si trovano in giro:

  • Uno stop stretto riduce le perdite, ogni strategia deve avere degli stop
  • Stop troppo stretti non danno respiro alla strategia

Per verificare sul campo come si comportano le strategie in funzione degli stop ho scelto due strategie fondamentalmente diverse tra loro, la prima basata un MACD e la secondo su un pattern di candelstick. Nel primo test le eseguiamo senza stop loss, poi incrementiamo per passi 1%, 5%, 10% e 20%.

Senza stop loss

MACD

Stop loss 1% – ricavo 91.693€
Stop loss 5% – ricavi 169.764€
Stop loss 10% – ricavi 166.969€
Stop loss 20% – ricavi 175.998€
Senza stop loss – ricavi 186.164 €

CandelStick

Stop loss 1% – ricavo 9.621 €
Stop loss 5% – ricavi 64.954 €
Stop loss 10% – ricavi 110.235€
Stop loss 20% – ricavi 171.515€
Senza stop loss – ricavi 166.262€

Qui di seguito le tabelle riepilogative per le due strategie in funzione degli stop loss

Risultati MACD

1%5%10%20%Senza
Time in Market53.0%52.0%51.0%51.0%50.0%
Cumulative Return35.27%65.29%64.22%67.69%70.45%
CAGR%2.79%4.68%4.61%4.81%4.97%
Sharpe0.270.420.410.420.44
Sortino0.40.610.590.610.63
Max Drawdown-34.48%-36.0%-34.54%-35.52%-34.9%
Longest DD Days11671022109110901078
Risultati strategia MACD in funzione dello stop loss

Emergono alcune evidenze, di cui la principale è che sia il drawdown che il periodo di Drawdown non sono influenzati dallo stop loss. L’obiettivo era quello di ridurre il rischio di perdite e invece lo stop loss ha influenzato solo in guadagno. In sintesi la strategia non ha avuto abbastanza respiro per esprime il proprio potenziale. Il Time in market fluttua leggermente perché in effetti raggiunto uno stop loss potenzialmente si può rientrare in strategia prima. In effetti prima si esce e prima si può rientrare.

Risultati CandleStick

1%5%10%20%Senza15%20%
Time in Market73.0%97.0%99.0%99.0%99.0%99.0%99.0%
Cumulative Return3.7%24.98%42.4%65.97%63.95%64.57%65.34%
CAGR%0.33%2.05%3.27%4.72%4.6%4.64%4.68%
Sharpe0.170.550.630.720.590.750.66
Sortino0.240.790.911.040.831.10.94
Max Drawdown-8.29%-6.67%-9.05%-12.97%-15.91%-10.62%-14.81%
Longest DD Days1960657507379700438429
Tabella riepilogativa risultati strategia CandleStick in funzione dello stop loss

La strategia si comporta malissimo in presenza di stop stretti e sembra avere un comportamento particolarmente buono intorno al 15% di stop

Conclusioni

Il mito da sfatare è che gli stop stretti siano sempre utili a evitare perdite, nei casi visti sopra valori troppo stretti possono portare a risultati disastrosi perché la strategia non respira. Questo non significa che gli stop vanno tolti, vanno semplicemente utilizzati con cognizione di causa.

Attenzione quanto sopra si applica alle strategie che ho analizzato e non vuole essere un suggerimento di qualsiasi natura. Aggiungo che tra trading overnight e intraday ci sono differenze enormi nella gestione degli stop.

Algoritmi di trading

Di recente mi sono appassionato, per vari motivi tra cui la voglia di sperimentare nuove tecnologie, agli algoritmi di trading automatico. Qualche tempo fa ho letto un libro di AI (Artificial Intelligence) o all’italiana IA e mi sono chiesto se effettivamente algoritmi di ML (Machine Learning). La mia ambizione è solo quella di divertirmi con un nuovo giocatolo, non certo di competere con bravi scienziati, investitori e trader che si stanno cimentando con la materia. Fatte le prime prove mi sono reso conto che il passo verso algoritmi di AI possono arrivare solo dopo aver preso padronanza con la materia, ossia l’analisi tecnica e il backtesting.

Imparato un po’ di pyhton e le API Backtrader per il testing su dati storici mi sono creato la mia sandbox. Purtroppo in italiano non esiste un termine che esprime il significato per ‘sandbox‘, in tedesco direi Sandkiest, In italiano sarebbe sabbiera o qualcosa del genere. in pratica la scatola di sabbia in cui giocano i bambini nei parco giochi inglesi e tedeschi. In Italia si gioca con la sabbia al mare, non in una scatola come invece fanno i bambini tedeschi e inglesi. A ogni modo mi sono creato l’ambiente con cui giocare così composto:

  • Python con framework Backtrader
  • Storico dei dati giornalieri di alcune azioni FTSE MIB dal 2010 a fine 2020.
  • Algoritmi di trand following da sperimentare

Il paniere di azione è composto da alcune azioni che hanno dati storici fino al 2010 , nello specifico questo è l’elenco di 26 azioni che ho utilizzato per le mie prove:

tickers = [
'ENEL','ENI','EXO','FCA','G','HER','IP','ISP','MB','PRY',
'A2A','AMP','ATL','BAMI','BGN','BMED','BPE','BZU','CPR','DIA',
'SRG','STM','TEN','TIT','UCG','UNI'
]

La scelta di Backtrader è legata semplicemente al fatto che ho trovato una guida rapida e veloce che nel giro di una giornata mi ha consentito di implementare il primo algoritmo. E’ semplice intuitivo e con alcune funzioni di ottimizzazione degli algoritmi. Gestisce la simulazione con diversi aspetti come le commissioni, OCO, stop, limit, gestione del cash e dimensionamento degli ordini,…. Framework ben fatto con due limiti individuati fino ad ora:

  • Elevato utilizzo della memoria nelle ottimizzazione, per ottimizzare 5 parametri sul mio portafoglio di 10 pagina troppo. Sicuramente il fatto che uso un PC con 8GB non aiuta, ma credo che l’algoritmo sia pensato per le prestazioni a discapito della ram. In effetti le CPU (8) sono sempre a tappo quando gira l’ottimizzazione.
  • Il secondo limite è l’utilizzo degli stoploss, take profit e trailing stop. Tipicamente queste sono caratteristiche legate agli ordini stessi, su Backtrader vanno implementate ad hoc con alcuni accorgimenti in modo un po’ macchinoso.

Presa padronanza del sistema ho voluto fare delle prove con diverse strategie di trand following che si trovano abitualmente in giro. Ho saltato i classici incroci di medie e mi sono soffermato su 3 strategie che si appoggiano ad indicatori interessanti e popolari: HMA, MACD e RSI. Ho incrociato i diversi indicatori perché ovunque si legge che un indicatore da il segnale e il secondo la conferma. Ovviamente non mi sono inventato l’acqua calda ho iniziato con le strategie ritenute valide da esperti del settore.

I risultati che ho ottenuto mi hanno aperto gli occhi su alcuni nozioni studiate sulla carta e per le quali l’istinto darebbe indicazioni contrarie.

Di seguito i risultati delle prove fatte, con il seguente contesto di contorno:

  • Solo posizioni long
  • Entrate con importo costante da 10.000€
  • Cash iniziale 260.000€ sufficiente per coprire acquistare tutti i titoli insieme
  • Nessuna leva
  • Senza Stop loss o trailing stop
  • Prese di posizione solo al verificarsi di eventi legati alla strategia
  • Indici di valutazione: permanenza nel mercato, ritorno cumulativo, sharpe, max drowdown e DD più lungo, altri indicatori non sono interessanti almeno per me
  • Vengono applicate commissioni 6,75€ a eseguito e la tobing tax al 0,7%
  • Vengono utilizzati i dati di Yahoo Finance aggiustati sulle operazioni societarie (split, dividendi,…)

RSI

  • Entrata in situazione di iperventuto RSI < 30
  • Uscita dopo 5 giorni o RSI > 50

Il risultato è stato deludente, dal 2010 al 2018 ha raggiunto un ritorno di 15% ca, ma nel 2018 ha subito un calo importate e poi un crollo nel 2020 con il crollo dei mercati di marzo. Dopo 10 anni ha totalizzato ricavi netto tobin tax lordo cap.g. per 2.431€. La permanenza nel mercato è stato da 54%, ossia molto poco tenendo conto che sono 26 i titoli su cui operare.

Time in Market50.0%
Cumulative Return0.94%
CAGR%0.08%
Sharpe0.05
Sortino0.06
Max Drawdown-26.55%
Longest DD Days959
Riepilogo risultati RSI 2010-2020

Qui il link alla scheda del risultato.

MACD

  • Entrata con istogramma positivo
  • Uscita con istogramma negativo

Il risultato è decisamente migliore con un guadagno netto di 231.563€. Nel periodo 2011-2012 non è stato possibile entrare su alcune posizione per assenza di liquidità. L’impossibilità ad entrare in posizione altera il risultato della simulazione perché riduce le perdite ma ritarda anche i guadagni.

Time in Market55.0%
Cumulative Return89.06%
CAGR%5.96%
Sharpe0.53
Sortino0.76
Max Drawdown-31.14%
Longest DD Days1091
Riepilogo risultati MACD 2010-2020

Qui il link alla scheda del risultato.

HMA

  • Entrata: HMA passa da decrescete a crescente
  • Uscita: HMA passa da crescete a descrescente

Il risultato non è entusiasmante, la liquidità è scarsa dal 2011 al 2013, molte operazioni non vengono eseguite assenza di liquidità e al termine del periodo il guadagno netto è di 89.761 € (netto tobin lordo cap.g.).

Time in Market58.0%
Cumulative Return34.52%
CAGR%2.73%
Sharpe0.26
Sortino0.37
Max Drawdown-37.55%
Longest DD Days2037
Riepilogo risultato HMA 2010-2020

Qui il link alla scheda del risultato

Buy and Hold

Il risultato più interessante è dato dalla strategia Buy and hold, ossia compro il 1/1/2010 e vendo il 31/12/2020. Bene, con questa strategia il P&L netto è di 433.342, ossia il capitale di partenza è moltiplicato per 2,66, una media di ca. 10% annuo.

Time in Market100.0%
Cumulative Return166.74%
CAGR%9.33%
Sharpe0.52
Sortino0.71
Max Drawdown-38.63%
Longest DD Days970
Riepilogo risultato buy and Hold 2010-2020

Qui il link alla scheda del risultato

Per riassumere la strategia vincente sembra essere Buy and Hold la migliore.

BAHMACDHMARSI
Time in Market100.0%55.0%58.0%50.0%
Cumulative Return166.74%89.06%34.52%0.94%
CAGR%9.33%5.96%2.73%0.08%
Sharpe0.520.530.260.05
Sortino0.710.760.370.06
Max Drawdown-38.63%-31.14%-37.55%-26.55%
Longest DD Days97010912037959
Tabella comparativa strategie

Guardando il puro profitto la strategia ‘BuyAndHold’ è sicuramente la strategia migliore, ma a lunga distanza. In un decalogo di regole direi che la prima da mettere è di non chiudere una posizione in perdità salvo in caso di necessità di liquidità o per una strategia molto profittevole. Il periodo sott’acqua è molto lungo 970 giorni con una perdita massima del 38,63%.

Considerando l’indice di sharpe la strategia MACD sembra migliore perché in effette è più costante nel tempo. Una simulazione togliendo le commissioni e la tobin tax mostra come la MACD sia tutto sommato migliore per alcuni aspetti rispetto alla BuyAndHold. In particolare il periodo DD massimo è di ‘soli’ giorni 640 giorni, ben 330 in meno rispetto a BuyAndHold. L’indice di sharpe si porta a 0.62 e il rendimento si assesta su 288.923€. Nel corso di 10 anni vengono lasciati ben 50.000 in commissioni e tobin tax sul campo.

Time in Market55.0%
Cumulative Return111.12%
CAGR%7.03%
Sharpe0.62
Sortino0.91
Max Drawdown-30.2%
Longest DD Days640
Strategia MACD 2010-2020 senza commissioni e tobin tax

Ecco il factsheet della strategia MACD senza commissioni

WP to LinkedIn Auto Publish Powered By : XYZScripts.com