Compilazione modulo TBS 6922 per scheda digitale

Compilazione TBS 6922

  1. download del media tree
  2. copia della cartella tbs/linux-tbs-drivers/linux/drivers/media/common/saa716x/ in media_build/linux/drivers/media/common/
  3. copia dei file tbs/linux-tbs-drivers/linux/drivers/media/dvb/frontend/tbs*.h il media_build/linux/drivers/media/dvb-frontend/
  4. copia del file tbs/linux-tbs-drivers/linux/drivers/media/dvb/frontends/stv090x.h a media_build/linux/drivers/media/dvb-frontend/
  5. esecuzione di v4l/tbs-x86_r3.sh
  6. copia dei file tbs/linux-tbs-drivers/*.o a media_build/v4l/
  7. Patch per rimuovere errori di compilazione
  8. make

File p7m e loro decodifica

Uno dei vantaggi della fatturazione elettronica per i cittadini, è la possibilità di automatizzare il trattamento del contenuto delle fatture. In abbinamento con PowerApps è possibile creare automatismi anche per le piccole società.

Il formato p7m viene utililizato non solo per la fatturazione elettronica, ,ma per lo scambio di documenti firrmati sia con la pubblica amministrazione che tra privati. Non sempre però che riceve un file in formato p7m sa come aprirlo.

Sul sito Infocert è di disponibile il software Dyke (https://www.firma.infocert.it/installazione/) che consente di firmare e, soprattutto leggere i file firmati. E’ un software che personalmente non gradisco, ogni volta chiede di essere aggiornato, ogni volta scarica i nuovi certificati per poter verificare l’autenticità della firma e ogni volta fatico a trova la funzione che mi serve. Mi sono detto che dev’essere semplice decodificare (per usare un termine informatico) o togliere dalla busta, (per usare termine business) un file p7m.

Per usare una similitudine possiamo vedere il il p7m come una busta che contiene un file. La busta garantisce che il contenuto, ossia il file, non è stato manomesso da quando è stato imbustato. La busta contiene inoltre il certificato, ossia sigillo, di chi l’ha imbustato. E’ quindi sempre possibile stabile l’autenticità del documento e sua originalità.

Visto che tecnicamente si tratta di certificati, lo strumento più adatto è openssl. Se siamo interessati solo leggere il contenuto e non a verificare l’autenticità del documento le cose sono relativamente semplici. Se dobbiamo verificare l’autenticità, ossia che chi l’ha imbustato è chi dice di essere le cose sono più complesse perché occorre scaricare l’elenco degli issuer da un sito attendibile (es: infocert, poste,…). In questo secondo caso secondo me conviene usare dike o altri software.

Se, come detto occorre solo spacchettare il contenuto, con openssl è relativamente facile. Prima occorre verificare se il file è codificato in base64. Tutte le “buste” possono venire codificate in base64, senza che l’estensione venga modificata. Perché? Non lo so, personalmente avrei lasciato la codifica base64 fuori dalle specifiche, quando un documento viene allegato a un protollo testuale viene automaticamente codificato base64.

Ecco il comando con la spiegazione dei parametri openssl usati:

cat ./IT13336240158_0HPZH.xml.p7m | openssl cms -verify -inform DER -noverify -no_attr_verify -out IT13336240158_0HPZH.xml

L’operazione openssl può essere smime o cms, tecnicamente fanno la stessa cosa, in giro ho letto che cms è più permissimo rispetto a smime, nelle prove fatte dove si piantava smime, si pianta anche cms. I messaggi di errore cambiano leggermente.

Dopo l’operazione occorre il comando che è ‘-verify’, ossia verifica il messaggio firmato, omettendo -verify si ottiene il seguente errore:

 "No operation option (-encrypt|-decrypt|-sign|-verify|...) specified."

cat ./IT13336240158_0HPZH.xml.p7m | tr -d '\r\n' | openssl base64 -d -A | openssl smime -verify -inform DER -noverify -no_attr_verify -out IT13336240158_0HPZH.xml

cat: Legge il contenuto del file
tr:

Il parametro -inform DER specifica il formato del messaggio in ingresso può essere SMIME PEM, o DER, nel caso delle firme italiane è DER. Senza questo parametro l’errore sarà:

Error reading S/MIME message
34359738384:error:0D0D40D1:asn1 encoding routines:SMIME_read_ASN1:no content type:crypto/asn1/asn_mime.c:399:

Il parametro “-noverify” specifica di non verificare l’autenticità dei certificati, senza questo parametro si riceve l’errore:

Verification failure
34359738384:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:crypto/pkcs7/pk7_smime.c:284:Verify error:unable to get local issuer certificate
o 
Verification failure
34359738384:error:2E099064:CMS routines:cms_signerinfo_verify_cert:certificate verify error:crypto/cms/cms_smime.c:252:Verify error:unable to get local issuer certificate

In fine abbiamo il parametro per generare l’output.

Comportamento indicatore SuperTrend

L’indicatore SuperTrend è uno degli indicatori che mi piace maggiormente, prima di scoprirne e conoscerne l’esistenza ho costruito in modo simile, ne condivido i razionali sottostante. Non entro sui dettagli implementativi e mi limito a studiarne il comportamento nel suo utilizzo.

L’indicatore è di tipo trend-following, l’aspetto che lo rende interessante è che non usa medie mobili, ma la volatilità espressa in ATR. In qualche modo tenta di intercettare il rumore di fondo, isolando l’andamento principale, in base al True Range. L’ATR viene usato spesso nella definizione degli stop sui trade multiday. (Nell’intraday lo vedo complesso salvo l’uso di automatismi). I parametri che trovo spesso sono ATR(20,6) per gli stop loss.

Eseguo tre test con tre strategie usando solo il SuperTrend, la prima close-reverse, la seconda solo long, la terza solo short. uso parametri ottimizzati sul periodo di test, questo significa che mi trovo in una situazione di overfit. Successivamente userò il SuperTrend, secodno il suggerimento di molti, come strategia di uscita da un trade. In tutti i test uso le seguenti condizioni ambientali

  • slippage : 1%
  • tobin tax: 0.1%
  • Commissione eseguito: 6.75€
  • periodo: 2010-2020
  • ticker: 40 azioni FTSEMIB ()
  • importo a trade fisso 10.000€
  • cash iniziale: 400.000€ (10K x azione)
  • Parameteri ottimizzati: periodo:20, moltiplicatore:7
  • interessi short: NA

Close&Reverse

In caso di close&reverse mi trovo sempre a mercato con tutte le posizioni, o sono aperte long o short. Il risultato è interessante, indipendentemente dall’andamento del mercato il risultato è pressoché costate e piatto.

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market100.0%100.0%
Cumulative Return17.97%180.68%
CAGR%1.51%9.84%
Sharpe0.190.55
Sortino0.270.75
Sortino/√20.190.53
Max Drawdown-17.76%-38.59%
Longest DD Days932742
Volatility (ann.)11.19%21.0%
R^20.070.07
Calmar0.090.26
Skew0.79-0.77
Kurtosis14.77.84

Solo Long

L’andamento complessivamente positivo e segue il trend del mercato, con performance nettamente peggiori rispetto a un buy&hold. L’andamento positivo, confrontato con Close&Reverse ci aspettiamo che la strategia solo short abbia un anadamento fortemente negativo

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market99.0%99.0%
Cumulative Return47.66%205.05%
CAGR%3.61%10.68%
Sharpe0.450.59
Sortino0.610.8
Sortino/√20.430.57
Max Drawdown-15.96%-38.59%
Longest DD Days909742
Volatility (ann.)8.74%20.92%
R^20.50.5
Calmar0.230.28
Skew-0.6-0.78
Kurtosis4.887.99

Solo short

Come ci si aspettava la componente short è molto forte, tanto che l’andamento cumulativo tra solo long e solo short, crea la linea piatta, nonostante l’andamento del FTSE di riferimento sia incrementato del 200%.

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market100.0%100.0%
Cumulative Return-29.7%180.68%
CAGR%-3.15%9.84%
Sharpe-0.160.55
Sortino-0.250.75
Sortino/√2-0.180.53
Max Drawdown-44.26%-38.59%
Longest DD Days3320742
Volatility (ann.)13.79%21.0%
R^20.720.72
Calmar-0.070.26
Skew2.44-0.77
Kurtosis39.217.84

Considerazioni

Il risalutato è tuttavia in linea con le strategie di tipo trend following, si ha infatti un ritardo tra l’inserimento nel mercato del trade e il cambio di direzione del mercato stesso. Maggiori sono i cambi di direzione e maggiore è la componente di perdita della strategia trend following. Una strategia che segue il trend performa malissimo in un mercato laterale. Con un po’ di pazienza potremmo calcolare l’efficienza di una strategia di inseguimento.

Chiusura con SuperTrend

Spesso l’indicatore SuperTrend viene proposto per chiudere le posizioni di una strategia. Proviamo quindi a usare il SuperTrend per chiudere le posizioni in una strategia di cui conosciamo le prestazioni, la solita basata sui Candle che uso in genere.

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market92.0%100.0%
Cumulative Return23.54%45.83%
CAGR%1.94%3.49%
Sharpe0.450.82
Sortino0.631.21
Sortino/√20.440.85
Max Drawdown-9.53%-6.46%
Longest DD Days1375461
Volatility (ann.)4.45%4.28%
R^20.410.41
Calmar0.20.54
Skew-0.450.04
Kurtosis7.213.51

Il peggioramento rispetto al comportamento della strategia pura è notevole, indice che l’utilizzo del SuperTrend come condizione di chiusura di una posizione non è la soluzione ottimale.

Stoploss

Lasciando le condizioni di uscita della strategia, e aggiungendo uno StopLoss basato su SuperTrend si ottengono queste prestazioni.

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market85.0%100.0%
Cumulative Return12.88%45.83%
CAGR%1.11%3.49%
Sharpe0.470.82
Sortino0.671.21
Sortino/√20.480.85
Max Drawdown-5.72%-6.46%
Longest DD Days1279461
Volatility (ann.)2.39%4.28%
R^20.490.49
Calmar0.190.54
Skew-0.130.04
Kurtosis6.613.51

Anche qui il benchmark, ossia la strategia di partenza, evidenza il decadimento delle prestazioni utilizzano il supertrend come stoploss. Da notare come le prestazioni della strategia si avvicinano in entrambi i casi, alle prestazioni “solo long” nell’utilizzo del SuperTrend, segno che prevale l’inefficienza della condizione di uscita rispetto alla condizione d’entrata.

Riferimenti

Classificazione sistemi e strategie di trading

Sistemi e strategie di trading si possono classificare in due famiglie distinte, con comportamenti molti diversi tra loro, ecco le differenze.

Trading a eventi

I sistemi più comuni di trading si basano a eventi, un esempio sono l’incrocio tra medie mobili. La caratteristica principale è ci aprono posizioni quando si verifica un evento e si esce dalla posizione quando si verificano le condizioni id uscita, ossia l’evento di uscita. In genere l’importo che si investe nella strategia è fisso per ciascun trade, o al più pesato rispetto al rischio. La bontà del sistema è legato a principalmente da due fattori, la probabilità di guadagno di ciascun trade e la frequenza degli eventi. Un sistema di trading che con elevata probabilità di guadagno a singolo trade e una frequenza molto bassa, sarà meno performante di un sistema di trading con minor probabilità di guadagno a trade, ma un numero di trade significativamente più elevato. Per aumentare la probabilità di un evento si aumenta il numero di asset su cui applicare la strategia.

Ciò che si verifica in genere è che gli asset su cui viene applicata una strategia sono tra loro correlati, se non direttamente, quantomeno da elementi macro economici e geopolitici. Questo fa si che gli eventi, sia di entrata che di uscita da un trade, sono concentrati in periodi temporali ristretti, mentre in altri periodi non si verificano eventi.

Tornando all’esempio di incrocio tra medie mobili, considerando come asset le azioni italiane, possiamo aspettarci una maggior concentrazione di incroci positivi quando le borse iniziano una ripresa, rispetto ai momenti di depressione del mercato.

L’impatto di tutto questo sulla strategia, applicata alla realtà di un trader con risorse limitate, è che il trader passera parte del tempo fuori dal mercato, in attesa che si verifichino eventi, per poi perdere degli eventi per mancanza di risorse disponibili. (Può sicuramente ricorrere alla marginazione, con costi aggiuntivi).

Qui di seguito due simulazioni delle medesima strategia, basata su pattern di candele, l’importo investito per ciascun trade è di 10.000€, la prima strategia utilizza una disponibilità di risorse pari a 350.000€, questo garantisce di avere la copertura per gestire tutti gli eventi che si verificano. I guadagni vengono sempre utilizzati come risorse disponibili per futuri trade. Gli asset utilizzati sono quelli del mercato italiano e l’orizzonte temporale è di 10 anni. Il numero di trade (apertura-chiusura di posizioni a mercato) è stato di 926

Strategia eventi con capitale 350.000€

Key Performance Metrics

Risk-Free Rate0.0%0.0%
Time in Market100.0%100.0%
Cumulative Return161.05%183.92%
CAGR%9.12%9.96%
Sharpe1.050.55
Sortino1.510.76
Sortino/√21.070.54
Principali indicatori

La seconda simulazione utilizza risorse limitate, da 350.000€ della prima simulazione si scende a 50.000€. Questo fa sì che spesso mancheranno risorse per sfruttare la strategia e la conferma arriva dal numero di trade che scende a 326

Strategia a eventi con risorse limitate 50.000€

Key Performance Metrics

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market100.0%100.0%
Cumulative Return259.79%183.92%
CAGR%12.35%9.96%
Sharpe0.760.55
Sortino1.10.76
Sortino/√20.780.54
Principali indicatori

La strategia risulta più volatile, avendo si potrebbe calcolare l’aumento delle volatilità, è come con il lancio del dado, se il dado viene lanciato poche volte il numero di volte in cui compare un numero piuttosto che un altro ha una variabilità maggiore. Il rendimento cumulativo è in genere maggiore perché, a parità di risorse, è minore il tempo in cui le risorse non vengono impiegate.

Strategia a classifica

La seconda famiglia di strategie è basata sulla classificazione degli asset e la scelta in ciascun momento dei migliori asset su cui investire, in numero limitato. Potenzialmente questa è una strategia si in cui si riamane nel mercato il 100% del tempo. L’importo in questo caso non è più un importo fisso, bensì una quota delle risorse disponibili. Ad esempio mantenendo 4 posizioni aperte e mantenendo il 5% delle risorse per gestire lo slippage, avremo che ogni posizione viene aperta con 23,75% delle risorse disponibili ( [100-5]/4). Un grosso vantaggio è la possibilità di reinvestire sempre i guadagni, ma la complessità di impostare una classifica che renda omogenei gli indicatori di asset non è semplice. In generale bisogna passare da funzioni logaritmiche normalizzazione di dati, che aumentano la complessità computazionale i tempi di calcolo. Riporto qui i risultati di una strategia basata su classifiche e regressione lineare, con risorse disponili 50.000€

Strategia a classifica con risorse 50.000€

Key Performance Metrics

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market96.0%96.0%
Cumulative Return2,158.70%203.13%
CAGR%32.78%10.61%
Sharpe1.40.59
Sortino2.080.81
Sortino/√21.470.57
Principali indicatori

Il risalutato è impressionante un PNL pari a 1.079.351€ a fronte di un investimento di 50.000€ in 10 anni con 926 trade. I dati mostrati hanno solo l’obiettivo di mostrare il diverso comportamento delle strategie e vanno fatte due precisazioni prima di alimentare false illusioni:

  • I parametri di esecuzione sono stati ottimizzati con diverse simulazioni, la strategia è risultata molto sensibile a piccoli scostamenti sui parametri. Il risultato è decisamente in overfit!!
  • Nella realtà questi numeri non si sarebbero mai raggiunti perché l’importi investiti a trade diventano troppo elevati
  • La simulazione da novembre a oggi ha segnato un dignitoso(?) -40%

A differenza delle strategia a eventi, la strategia a classifica può sviluppare un andamento di tipo esponenziale. Inoltre l’andamento della strategia, e la sua volatilità, non dipendono dalle risorse disponibili. Riducendo o aumentando le risorse avremo lo stesso comportamento (con un leggero sfrido per commisioni, tobin tax e slippage).

Un’ultima nota importante è legata alla scelta degli asset da far competere nella classifica. Se gli asset danno tutti scarsi risultati per gli indicatori scelti, il risultato sarà deludente. Un po’ come andare al mercato e scegliere le migliori fragole tra quelle ammuffite. Questo effetto si presenta meno sulle strategie a eventi, perché semplicemente l’evento non si verifica.

Conclusioni

Le due famiglie di strategie hanno comportamenti diversi e ben evidenziati nei due grafici. La scelta scelta della strategia da costruire dipende dalla natura degli indicatori che si vogliono utilizzare. Ciascuna ha dei vantaggi e svantaggi.

CaratteristicaStrategia a ClassificaStrategia a Eventi
Necessita di indicatori confrontabiliIndifferente
Necessita di eventiNo
Permanenza nel mercatoCostanteVariabile
Q.tà di risorse necessarieBassoElevato
ReinvestimentoParziale
Tipo di crescitaEsponenzialeLineare
Tabella comparativa

Asset usati nelle simulazioni

["FTSEMIB.MI", "A2A.MI", "AMP.MI", "ATL.MI", "BAMI.MI", "BGN.MI", "BMED.MI" "BPE.MI", "BZU.MI", "CNHI.MI", "CPR.MI", "DIA.MI", "ENEL.MI", "ENI.MI", "EXO.MI", "FBK.MI", "STLA.MI", "G.MI", "HER.MI", "IG.MI", "INW.MI", "IP.MI", "ISP.MI", "LDO.MI", "MB.MI", "MONC.MI", "NEXI.MI", "PIRC.MI", "PRY.MI", "PST.MI", "RACE.MI", "REC.MI", "SPM.MI", "SRG.MI", "STM.MI", "TEN.MI", "TIT.MI", "TRN.MI", "UCG.MI", "UNI.MI", "ABT.MI", "AEF.MI", "ADB.MI", "ALK.MI", "AMP.MI", "ECNL.MI", "ASC.MI", "AVIO.MI", "BEC.MI", "BFE.MI", "IF.MI", "BST.MI", "BSS.MI", "CAI.MI", "CRL.MI", "CELL.MI", "CMB.MI", "CEM.MI", "DIS.MI", "DAL.MI", "DEA.MI", "DIB.MI", "ELN.MI", "ELC.MI", "EM.MI", "EQUI.MI", "PRT.MI", "ETH.MI", "FM.MI", "FILA.MI", "GE.MI", "IGD.MI", "ILTY.MI", "IP.MI", "IRC.MI", "ITM.MI", "IVS.MI", "LD.MI", "LR.MI", "MARR.MI", "MN.MI", "MTV.MI", "MOL.MI", "NWL.MI", "OJM.MI", "ORS.MI", "PHN.MI", "PVN.MI", "PSF.MI", "PRI.MI", "REY.MI", "SAB.MI", "SG.MI", "SGR.MI", "SL.MI", "SRI.MI", "SES.MI", "SO.MI", "TIP.MI", "TES.MI", "TNXT.MI", "TXT.MI", "UNIR.MI", "WIIT.MI", "ZV.MI"]
Nota a margine: tutte le posizioni vengono aperte long

Studio sugli stoploss

In giro si trovano diversi tesi sulla gestione degli stoploss, chi li vuole stretti, chi li vuole larghi, chi li vuole dinamici, chi non li vuole. Ho fatto alcune prove per farmi un’idea concreta dell’effetto degli stop loss sulle diverse strategia. Prima una nota importante, ogni strategia può essere affinata con l’uso corretto degli stoploss, lo stoploss è parte integrante della strategia. Fatta questa premessa iniziale ecco come ho deciso di procedere. Utilizzo una strategia basata su candlestick, che ha un rendimento nella media senza stoploss, di seguito i dettagli della strategia e del suo comportamento. Il perimetro sono le azioni del FTSE odierne, su periodo di 10 anni. Lo studio viene fatto con le seguenti tipologie di stoploss:

  • Senza stop loss
  • Stop loss % rispetto alla chiusura precedente, applicato al prezzo minimo
  • Stop loss % rispetto alla chiusura precedente, applicato al prezzo di chiusura
  • Stop loss calcolato su ATR, applicato al prezzo minimo
  • Trailing stop applicato al minimo

I parametri di stop loss vengono ottimizzati, ossia viene fatta una simulazione con diversi valori di stop loss e vengono scelti i parametri in cui la strategia offre i migliori risultati.

Il benchmark è la strategia BuyAndHold sui medesimi titoli e vengono applicate le seguenti condizioni di contorno:

  • Importo a trade: 10.000
  • Cash: 200.000
  • Tobin Tax 0,1%
  • Commissioni: 6,75 a eseguito
  • Nessuna marginazione,
  • Nessuna possibilità di investire allo scoperto
  • Solo posizioni log

Senza stop loss

Come anticipato la strategia è di tipo candlestick, entro a una certa configurazione di pattern, esco a una certa configurazione di pattern, e offre prestazioni generalmente migliori rispetto a un buy-and-hold, qui di seguito la tabella riepilogativa a confronto con il buy-and-hold e il fact sheet.

Key Performance Metrics

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market100.0%100.0%
Cumulative Return101.19%193.24%
CAGR%6.56%10.28%
Sharpe0.60.57
Sortino0.850.78
Sortino/√20.60.55
Max Drawdown-23.1%-38.59%
Longest DD Days712742
Volatility (ann.)11.61%20.99%
R^20.760.76
Calmar0.280.27
Skew-0.41-0.78
Kurtosis6.337.87

Factsheet

Stop Loss % applicato su minimo

Questo è lo stop loss standard, ossia quello consentito dai sistemi di trading, se il prezzo scende sotto il valore di soglia, la posizione viene chiusa. Il valore viene calcolato dal prezzo di apertura della posizone. Uno stop al 90% chiude la posizione se il prezzo scende sotto il 90% del prezzo di apertura della posizione. Questo tipo di stop loss è molto sensibile rispetto alle variazioni intraday del prezzo, e in particolare risente degli spike. Tempo fa avevo una posizione NEXI molto buona aperta con uno stop al 90%, o(ssia perdita max 10%). La posizione guadagnava ca 8-9%, verso le 10 un lungo spike ha attraversato lo stop, riassorbendosi interamente nel giro di 20 minuti. A fine giornata guadagnava un altro 0,23%. Probabilmente qualche istituzionale ha fatto un’operazione di caccia agli stop (hunter stop) perché nei 10 giorni successivi Nexi sembrava un missile diretto sulla luna. Per trovare il valore ottimale di stop loss ho fatto una simulazione con le soglie: stoploss=0.95,0.9,0.85,0.8,0.75,0.7, si potrebbe fare un ulteriore tuning, ma mi sembra un dispendio di energie in questa fase. La soglie di stop loss che offre le migliori prestazioni è 0.85, ossia il 15% si perdita prima di chiudere la posizione.

Key Performance Metrics

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market100.0%100.0%
Cumulative Return98.56%193.24%
CAGR%6.44%10.28%
Sharpe0.780.57
Sortino1.140.78
Sortino/√20.810.55
Max Drawdown-12.8%-38.59%
Longest DD Days515742
Volatility (ann.)8.39%20.99%
R^20.640.64
Calmar0.50.27
Skew-0.05-0.78
Kurtosis4.817.87

Stop Loss % applicato sul prezzo di chiusura

L’approccio è analogo a quelle precedente, solo che viene guardato solo il prezzo di chiusura. Una soglia al 90% chiude la posizione se il prezzo di chiusura scende sotto la soglia. Rispetto a uno stop di prezzo, lo stop di chiusura è meno sensibile alle variazioni intraday e ai cacciatori di stop. D’altro canto se il titolo inizia a scendere, la posizione viene chiusa con maggior ritardo e il rischio di una maggior perdita al mattino seguente. rumore a metà giornata di un eventi di cui viene data comunicazione ufficiale a borse chiuse può portare a un rapido crollo del valore. Anche qui il valore ottenuto come miglior stoploss è 85% del prezzo di entrata. Qui di seguito la tabella riepilogativa e il link al fact sheet.

Key Performance Metrics

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market100.0%100.0%
Cumulative Return99.09%193.24%
CAGR%6.46%10.28%
Sharpe0.750.57
Sortino1.090.78
Sortino/√20.770.55
Max Drawdown-15.23%-38.59%
Longest DD Days515742
Volatility (ann.)8.83%20.99%
R^20.670.67
Calmar0.420.27
Skew-0.08-0.78
Kurtosis3.787.87
Stop loss su chiusura

Trailing stop

Il trailing stop è uno stop dinamico che mantiene la medesima distanza (% o tick) rispetto all’ultimo massimo registrato dall’apertura della posizione. Questo non è un vero e proprio stop e può essere parte integrante di una condizione d’uscita dalla posizione in una strategia. L’indicatore supertrend utilizza un approccio di questo tipo, crea un canale in cui il trainling stop è calcolato dinamicamente sulla base dell’ATR. Si possono creare diverse varianti del trailing stop e meriterebbe una trattazione dedicata . Ho utilizzato solo la forma più classica, la posizione viene chiusa quando la distanza di prezzo rispetto al massimo registrato super la % indicata.

Key Performance Metrics

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market100.0%100.0%
Cumulative Return101.58%193.24%
CAGR%6.58%10.28%
Sharpe0.620.57
Sortino0.880.78
Sortino/√20.620.55
Max Drawdown-22.74%-38.59%
Longest DD Days700742
Volatility (ann.)11.25%20.99%
R^20.760.76
Calmar0.290.27
Skew-0.36-0.78
Kurtosis6.027.87
Trailing stop

Stop loss su ATR

Una delle principali critiche degli stop loss basati sulla % è che non tengono in considerazione l’ampiezza delle fluttuazioni giornaliere subita da un titolo. il rischio è quindi di uscire prematuramente da una buona posizione che potrebbe rendere, perché il titolo è particolarmente volatile. Lo stop loss viene quindi calcolato non più con una % fissa, ma con un moltiplicatore m dell’ATR(t) , con t il periodo di osservazione. Per ottimizzare la strategia vengono clacolati entrambi i coefficienti t e m ottimali. Dall’ottimizzazione si ottengono i valori di moltiplicatore m=5 e periodo di osservazione t=10. in letterature ho trovato diversi valori, i più comuni sono m=6 e t=10. Con i valori ottimali per la stategia otteniamo la seguente tabellla e factsheet.

Key Performance Metrics

MetricStrategyBenchmark
Risk-Free Rate0.0%0.0%
Time in Market100.0%100.0%
Cumulative Return98.08%193.24%
CAGR%6.41%10.28%
Sharpe0.710.57
Sortino1.020.78
Sortino/√20.720.55
Max Drawdown-14.39%-38.59%
Longest DD Days518742
Volatility (ann.)9.36%20.99%
R^20.630.63
Calmar0.450.27
Skew-0.23-0.78
Kurtosis6.667.87
Stop loss su ATR

Conclusioni

Uno stop loss corretto può dare benefici alla strategia, oltre a questi test ne ho fatto altri utilizzando diversi asset o diverse strategie, non vi è una regola per cui posso dire che uno stop loss sia meglio di un’altro in senso generale. Ciò che vale per la strategia specifica è che lo stop loss porta dei benefici. Se il pattern di candele per l’uscita non si verifica, c’è il rischio di perdere senza limiti. Indicativamente il valore % di stop loss (anche per l’ATR è intorno al 15%, con prove più di dettaglio si trova un minimo relativo tra 12% e 14%. Uno stop più stretto avrebbe strozato la strategia.

Personalmente preferisco uno stop loss % che posso impostare sul sistema, quindi l’ATR e lo stop sulla chiusura sono tendenzialmente da escludere.

Il trailing stop lo riservo più alla strategia che non alla chiusura della posizione. Ad esempio, apro la posizone, chiudo metà della posizone al segnale di chiusura, se il trend è ancora positivo imposto un trailing stop al 5%.

Come ultimo grafico inserisco il confronto tra la strategia senza stoploss e quella con il miglior risultato, stop loss al 85%. (Perdita max 15%)

WP to LinkedIn Auto Publish Powered By : XYZScripts.com