Portfolio Lab

Percentile Rank

In breve

Il Percentile Rank Filter e il Custom Index sono due fra gli strumenti più sofisticati del Builder, e lavorano in coppia. Insieme aprono la possibilità di costruire portafogli che selezionano le strategie su criteri compositi multi-metrica, in modo dinamico e adattivo: la selezione non è più ancorata a soglie fisse decise una volta per tutte, ma si autocalibra di rotazione in rotazione seguendo l’evoluzione del mercato.

Detto semplice: invece di applicare regole rigide del tipo “Sortino Ratio > 0.8”, puoi dichiarare “voglio le N strategie che si comportano meglio rispetto alle altre, valutando insieme Sortino, Ulcer Performance Index e K-Ratio”. È un cambio di paradigma rispetto al filtering classico, ed è una delle leve più potenti che QANTHOS mette a disposizione del trader sistematico.

Una premessa importante. QANTHOS è uno strumento di analisi e validazione, non un consulente finanziario. Gli esempi, le formule e i parametri suggeriti in questa guida sono punti di partenza didattici per illustrare come funzionano gli strumenti, non raccomandazioni di investimento o configurazioni “giuste” valide in assoluto. Ogni trader ha capitale, costi operativi, propensione al rischio, esperienza, broker e obiettivi diversi. Le metriche e i filtri prodotti da QANTHOS sono informazioni, che vanno interpretate con la propria conoscenza ed esperienza per arrivare a decisioni operative. Soglie come “Profit Factor > 1.5 = solido” o “lookback 6 mesi per rotazione trimestrale” sono convenzioni di riferimento della letteratura sul trading sistematico: utili come orientamento, non come legge.

1. Il problema delle soglie fisse

Chi sviluppa strategie sistematiche conosce bene questo dilemma. Vuoi un filtro di qualità: “prendi solo le strategie con Sortino Ratio sopra X”. Ma quale X?

  • Imposti Sortino > 1.0: nelle epoche favorevoli passano tutte, nelle epoche difficili non passa quasi nessuno e il portafoglio rimane vuoto.
  • Imposti Sortino > 0.3: passano sempre, ma in epoche favorevoli ti porti dietro anche strategie mediocri.
  • Imposti Sortino > 0.7: compromesso… ma compromesso per quale anno? La soglia che era ragionevole nel 2020 può essere troppo alta o troppo bassa nel 2024.

Le soglie fisse sono l’equivalente di guidare guardando solo il tachimetro, ignorando la strada. Funzionano finché il contesto resta lo stesso; al primo cambio di regime di mercato iniziano i problemi.

Il Percentile Rank Filter risolve elegantemente questo problema: sposta il ragionamento da assoluto a relativo. Non chiedi più “questa strategia supera la soglia X?” ma “questa strategia è tra le migliori N% del gruppo che sta valutando in questo momento?”. La soglia diventa autocalibrante, e con essa la selezione del portafoglio.

2. Cos’è il Percentile Rank, in pratica

Il concetto matematico è semplice ma le sue applicazioni nel trading sistematico sono profonde. Il percentile rank di una strategia su una metrica è un numero tra 0 e 100 che indica in quale punto della classifica si trova rispetto alle altre strategie del gruppo.

  • Una strategia con Percentile Rank Sortino = 99 ha un Sortino Ratio migliore del 99% delle strategie correntemente valutate. È praticamente in cima alla classifica.
  • Una strategia con Percentile Rank Sortino = 50 è esattamente nel mezzo del gruppo. È mediana.
  • Una strategia con Percentile Rank Sortino = 5 è tra le peggiori del gruppo.

Tre osservazioni importanti:

Il percentile è calcolato sull’universo corrente, non globale. Se i filtri precedenti hanno già scremato il pool iniziale a un sottoinsieme più piccolo, il percentile di ogni strategia si calcola su quel sottoinsieme, non sul pool iniziale. Questo è un dettaglio cruciale che vedremo più avanti.

Il percentile cambia di rotazione in rotazione. In una rotazione una strategia può avere percentile 95, in quella successiva 60. Non perché lei sia cambiata, ma perché può essere cambiato il gruppo intorno a lei. Ed è esattamente questa la potenza del meccanismo: il filtro si adatta automaticamente all’evoluzione del contesto, senza che il trader debba intervenire.

Una formula tecnica precisa: in QANTHOS il percentile è calcolato con (rank − 0.5) / N × 100, dove rank è la posizione della strategia in ordine crescente e N è il numero totale di strategie nel gruppo. Strategie con valore identico ricevono lo stesso percentile (rank medio). I dettagli implementativi non sono importanti per l’uso quotidiano, ma è bene sapere che il calcolo è deterministico e ripetibile.

3. Le due modalità del Percentile Rank Filter

Qui sta una delle scelte di design più interessanti di QANTHOS: il Percentile Rank Filter ha due comportamenti distinti controllati da un singolo parametro, la soglia (threshold). La stessa interfaccia, la stessa configurazione, ma due ruoli completamente diversi nella pipeline. Capire questa dualità è il punto chiave per sfruttare appieno lo strumento.

3.1 Modalità Filter — threshold > 0

È il comportamento intuitivo. Se imposti threshold = 70, il filtro lascia passare solo le strategie con percentile maggiore o uguale a 70, cioè il top 30% dell’universo corrente.

threshold = 70 → passa solo il top 30%
threshold = 50 → passa solo la metà migliore
threshold = 90 → passa solo il top 10%

Esempio pratico. Hai un pool di strategie dopo i filtri di qualità — supponiamo 100 per semplicità. Imposti un Percentile Rank Filter su Sortino con threshold = 70. Risultato: passano circa 30 strategie, quelle con Sortino migliore del 70% delle altre. Il numero esatto può variare di una o due unità per via dei ties (valori uguali).

3.2 Modalità Injector — threshold = 0

Questa è la modalità meno intuitiva ma anche la più potente: è il vero motore dei workflow multi-metrica. Quando la soglia è zero il filtro non filtra niente, ma calcola comunque il percentile per ogni strategia e lo “inietta” nel suo profilo, come un campo speciale aggiunto on the fly.

Sembra controintuitivo a prima vista: a cosa serve calcolare un percentile se poi non lo usi per filtrare? La risposta apre il vero potenziale del sistema: serve a un Custom Index a valle nella pipeline, che lo userà per costruire ranking compositi multi-dimensionali. Senza la modalità Injector i percentili resterebbero confinati al ruolo di filtri singoli; con essa diventano materia prima per qualsiasi formula di ranking che il trader vuole costruire.

Visualizzato (i numeri sono illustrativi, dipendono dal tuo pool di strategie):

[N strategie in input]
        ↓
[Filtri di qualità] → K strategie sopravvivono
        ↓
[Percentile Rank Filter on Sortino, threshold=0]
        ↓                ← non filtra, ma scrive il percentile
[K strategie, ognuna con campo "pct_sortino_ratio" = 0…100]
        ↓
[Custom Index "composito" che usa pct_sortino_ratio]
        ↓
[Top M per Custom Index] → M strategie selezionate finali

Il Percentile Rank in modalità Injector è il preparatore di campo da gioco per il Custom Index. Lavora in silenzio, in background, ma è il pezzo che abilita tutta l’architettura di selezione multi-metrica. È un esempio di design pulito: una singola funzionalità con due modalità ben distinte, ciascuna con il suo ruolo preciso.

Quando uso una modalità o l’altra? Modalità Filter quando vuoi un cut diretto su una singola metrica (es. “voglio solo il top 50% per Sortino, indipendentemente da tutto il resto”). Modalità Injector quando vuoi combinare più metriche in un ranking unico, e il Percentile Rank serve a preparare i dati per il Custom Index a valle. La modalità Injector è quella che abilita i workflow multi-metrica descritti più avanti; la modalità Filter è utile per cut chirurgici su singole dimensioni.

3.3 Configurazione nell’interfaccia

Quando aggiungi un Percentile Rank Filter al Builder, vedi questi campi:

Campo Significato
Target Metric La metrica su cui calcolare il percentile (es. Sortino Ratio, UPI, K-Ratio…).
Threshold (%) 0 = modalità Injector, >0 = modalità Filter con soglia percentuale.
Lookback Period Su quanti mesi calcolare la metrica target prima di confrontarla.
Scope Su quale sottoinsieme di strategie applicare (All Strategies / Single Symbol / Asset Class).

Quando configuri un Percentile Rank Filter in modalità Injector ricorda di disattivare visivamente i campi non rilevanti (Operator, Value, N): non sono utilizzati, ma se compilati per errore non producono effetti perché il filtro ignora questi parametri quando opera come Injector.

4. Il Custom Index — combinare metriche in un ranking unico

Il Custom Index è una delle funzionalità più espressive del Builder. È una metrica che il trader costruisce su misura, combinando altre metriche con pesi e formule arbitrarie. In sostanza, un “indice composito di qualità” definito dal trader stesso: invece di guardare una metrica alla volta, se ne valutano diverse insieme attraverso una formula che riflette la propria filosofia di selezione. (Il dialog completo del Custom Index è trattato nel suo sotto-capitolo dedicato; qui ci concentriamo su come si combina con il Percentile Rank.)

4.1 Visual Builder — pesato con interfaccia grafica

Il Visual Builder è la modalità a portata di click. Aggiungi componenti uno alla volta, ciascuno con la metrica (Metric Key), il Weight (peso relativo), la Power (esponente, default 1.0) e Invert (inverte il segno, per metriche dove “basso è meglio”). Poi scegli un metodo di combinazione (somma pesata, media pesata, prodotto pesato) e una normalizzazione (nessuna, 0–1, 0–100).

È adatto a chi vuole sperimentare velocemente senza scrivere formule. Una differenza pratica rispetto al Formula Editor: l’interfaccia gestisce automaticamente l’inversione delle metriche dove basso-è-meglio (il Max Drawdown viene invertito sotto il cofano, così le strategie con DD minore ricevono punteggio più alto). Questo riduce il rischio di errori di segno, al costo di minor flessibilità espressiva.

4.2 Formula Editor — espressione testuale Excel-like

Il Formula Editor è la modalità che sblocca tutto il potenziale del Custom Index. Si scrive una formula testuale che usa i nomi delle metriche come variabili, esattamente come in un foglio elettronico:

(pct_sortino_ratio + pct_ulcer_performance_index + pct_k_ratio) / 3
profit_factor * sharpe_ratio / (max_dd_pct + 1)
(net_profit / max_dd_peak_to_valley) * win_rate / 100

La sintassi è quella standard di un foglio elettronico: operatori + − * / ( ), parentesi, nomi di variabili. Il parser di QANTHOS valida la formula al volo e segnala in tempo reale metriche non riconosciute o errori di sintassi, evitando sorprese al momento dell’esecuzione.

A differenza del Visual Builder, il Formula Editor non applica inversioni automatiche per metriche lower-is-better. Se vuoi che max_dd_pct conti come “negativo nel ranking”, devi metterlo al denominatore o anteporgli un segno meno tu. È il prezzo della massima espressività: pieno controllo, ma anche piena responsabilità sulla logica della formula.

Quando uso il Formula Editor invece del Visual Builder? Tutte le volte che usi i percentili iniettati (campi pct_*). Il Visual Builder lavora solo sulle metriche standard pre-calcolate; i percentili iniettati sono variabili dinamiche calcolate a runtime dal Percentile Rank Filter e si referenziano solo per nome in una formula testuale. Le formule che combinano percentili di metriche diverse — il cuore del workflow Composite Multi-Percentile — vanno quindi scritte nel Formula Editor.

4.3 Come il Custom Index si combina col Percentile Rank

È qui che il sistema mostra tutta la sua eleganza. Il Custom Index può fare riferimento a due tipi di variabili, e proprio dalla combinazione dei due nasce il vero potenziale del meccanismo:

Metriche standard (es. sortino_ratio, profit_factor, max_dd_pct). Il valore viene calcolato sul periodo di lookback configurato per il Custom Index.

Percentili iniettati (es. pct_sortino_ratio, pct_ulcer_performance_index). Il valore è letto dal campo iniettato dal Percentile Rank Filter applicato prima del Custom Index nella pipeline.

Regola fondamentale: se in una formula scrivi pct_<metric>, deve esistere un Percentile Rank Filter su <metric> più in alto nella pipeline, applicato prima del Custom Index. Senza quel filtro a monte, il percentile non esiste e la formula produce errore o, in alcuni edge case di compatibilità, zero. L’ordine dei filtri nel Builder conta quindi quanto la loro configurazione: la pipeline è una sequenza ordinata, non un insieme di elementi indipendenti.

5. Un esempio di workflow: Composite Multi-Percentile

Adesso che abbiamo i due pezzi separati, vediamo un esempio di come si possono comporre in pratica. Quello che segue è uno schema didattico che illustra le potenzialità degli strumenti, non una ricetta da copiare meccanicamente. Le scelte specifiche (quali metriche, quale lookback, quanti filtri, quante strategie finali) dipendono dal tuo pool di strategie, dalla frequenza di rotazione, dal capitale, dagli obiettivi.

Lo schema in tre fasi che presentiamo riflette tre domande logiche distinte che chiunque costruisca un portafoglio sistematico finisce per porsi, e mostra come gli strumenti di QANTHOS si compongono naturalmente per rispondere a ciascuna.

Fase 1 — Quality Gate (filtri assoluti)

Obiettivo: eliminare le strategie “non tradabili” sulla base di soglie assolute. Esempi possibili:

  • Avg Trade / Min Avg Trade > 1.0 su un lookback esteso — esclude strategie i cui costi superano il margine medio.
  • Profit Factor > 1.0 su lookback recente — esclude strategie che hanno perso più di quanto hanno guadagnato di recente.

In genere si tratta di pochi filtri, severi, pensati per ridurre il pool iniziale a un sottoinsieme di candidate “viventi”. La selezione di quali filtri mettere qui e di quanto essere severi è una decisione del trader: dipende da quanto è grande il pool di partenza, dalla qualità media delle strategie, e dalla tolleranza al numero di candidate da valutare nelle fasi successive.

Fase 2 — Ranking Composite (Percentile Rank + Custom Index)

Qui entra in gioco il cuore del sistema. Tra le sopravvissute della Fase 1, l’obiettivo è scegliere le migliori in base a un giudizio multi-criterio invece che su una singola metrica. Un esempio di configurazione (tra molti possibili):

  1. Un Percentile Rank Filter su Sortino Ratio con threshold = 0.
  2. Un Percentile Rank Filter su Ulcer Performance Index con threshold = 0.
  3. Un Percentile Rank Filter su K-Ratio con threshold = 0.
  4. Un Top N per Custom Index, dove il Custom Index è la formula (pct_sortino_ratio + pct_ulcer_performance_index + pct_k_ratio) / 3, con N = numero di strategie desiderate nel portafoglio finale.

La scelta delle tre metriche è illustrativa: Sortino, UPI e K-Ratio sono spesso citate come una buona terna perché misurano dimensioni complementari del comportamento di una strategia — rischio aggiustato (Sortino), qualità della curva equity (UPI) e linearità della crescita (K-Ratio). Ma il bello del Custom Index è che niente vieta di costruire formule con metriche diverse, pesi diversi, o più di tre componenti, in funzione delle priorità del trader.

Cosa succede sotto il cofano è elegante nella sua semplicità. I tre Percentile Rank in modalità Injector calcolano il percentile delle tre metriche sulle sopravvissute della Fase 1. Ogni strategia accumula tre campi percentile. Il Custom Index a valle calcola la media dei tre percentili, producendo un punteggio composito 0–100. Il Top N seleziona le strategie con punteggio composito più alto. Tre fasi distinte, ciascuna con il suo ruolo, che insieme producono un sistema di selezione molto più sofisticato di qualsiasi filtro singolo.

Il risultato è un ranking che premia le strategie con buoni valori in tutte e tre le dimensioni invece che eccellenti in una sola. Se questo è il comportamento che cerchi dipende dal tuo profilo di rischio: chi preferisce concentrarsi su una singola metrica forte può invece dare peso maggiore a una dimensione (es. pct_sortino_ratio * 0.7 + pct_upi * 0.3).

Fase 3 — Diversificazione (filtri di correlazione)

Dopo il Top N, può essere utile aggiungere lo stadio di Correlazione (o un controllo Co-Loss) per evitare che le strategie selezionate siano tutte sostanzialmente correlate tra loro — il che ridurrebbe il beneficio di diversificazione del portafoglio. La decisione se inserirli, e quanto essere selettivi, dipende dalla composizione del pool: portafogli con strategie su strumenti molto diversi possono averne meno bisogno, portafogli concentrati su pochi ticker spesso ne traggono vantaggio. Le correlazioni sono trattate in dettaglio nel sotto-capitolo dedicato.

Una raccomandazione sul lookback

I tre Percentile Rank usano lookback 6 mesi in questo esempio perché stiamo costruendo un portafoglio rotazionale trimestrale. Come regola di massima il lookback dovrebbe essere almeno 2× la frequenza di rotazione, e comunque sufficientemente ampio da garantire un numero di trade significativo per ciascuna strategia (indicativamente non meno di 30 trade nel periodo, soglia sotto la quale le metriche statistiche perdono affidabilità).

In pratica:

  • Con rotazione mensile, lookback minimo 2 mesi se le strategie sono ad alta frequenza, ma più lungo (4–6 mesi) per strategie a bassa frequenza che producono pochi trade al mese.
  • Con rotazione trimestrale, 6 mesi è un buon compromesso medio; portafogli di strategie più lente possono richiedere 9–12 mesi.
  • Con rotazione semestrale, lookback 12 mesi o più.

Il trade-off è statistico: lookback troppo corto = misurazione rumorosa con pochi trade, il ranking diventa instabile rotazione dopo rotazione. Lookback troppo lungo = il ranking reagisce lentamente ai cambi di regime, e una strategia che ha smesso di funzionare resta nel portafoglio più del dovuto. È una delle decisioni più importanti in fase di setup, e la scelta finale dipende dalla frequenza media di trade del proprio pool. QANTHOS facilita questa esplorazione permettendo di confrontare diverse configurazioni di lookback via Walk-Forward Analysis sulle stesse strategie.

6. Tabella delle metriche disponibili

Tutte le metriche elencate qui sotto sono disponibili sia nel Percentile Rank Filter come Target Metric, sia nel Custom Index come variabile di formula. La colonna Higher indica se valori alti sono migliori (✓) o peggiori (✗). La colonna Quando suggerisce in che contesto la metrica è più utile.

I valori-soglia citati nelle descrizioni (es. “Profit Factor sopra 1.5 = solido”) sono convenzioni di riferimento mutuate dalla letteratura sul trading sistematico. Servono come orientamento per chi si avvicina alla metrica per la prima volta. La validità di una soglia nel proprio caso specifico dipende dal mercato, dal timeframe, dai costi e dalla strategia: il trader è sempre l’arbitro finale.

6.1 Profittabilità

Metric Cosa misura Higher Quando usarla
Net Profit ($) Profitto totale in dollari sul periodo. Misura assoluta. Utile per filtri di sopravvivenza (es. Net Profit > 0), poco utile per ranking perché favorisce ticker con contratti grandi.
Net Profit (%) Profitto in percentuale sul capitale iniziale. Versione normalizzata del Net Profit. Confrontabile tra strategie su ticker diversi.
Profit Factor Rapporto somma vincite / somma perdite. Indicatore classico. Sopra 1.0 = profittevole, sopra 1.5 = solido, sopra 2.0 = molto buono.
Recovery Factor Net Profit / Max Drawdown. Quante volte la strategia recupera il proprio massimo affondo. Sintesi rapida di “quanto guadagno vale il rischio”. Sopra 5 = ottimo, 2-5 = buono, sotto 1 = critico.
Pessimistic Return Ratio (PRR) Profit Factor “pessimista”: ricalcola PF assumendo che alcune vincite siano fortuna e alcune perdite scampate. Più conservativo del Profit Factor. Utile per scoraggiare strategie con poche grandi vincite (kurtosis alta).
Avg Trade Profitto medio per trade in dollari. Indicatore di robustezza ai costi: trade piccoli = strategia vulnerabile a slippage e commissioni.
Avg Trade / Min Avg Trade Rapporto tra Avg Trade e una soglia minima fissata per ticker. Filtro di tradabilità reale. Sotto 1.0 i costi mangiano il margine. È un quality gate quasi obbligatorio. Il valore di Min Avg Trade per ciascuno strumento va configurato nel tab Strumenti.
Avg Monthly ($) Media del profitto mensile aggregato. Misura di pace della strategia. Buona da confrontare tra strategie con frequenza di trade molto diversa.
Total Trades Numero totale di trade nel periodo. Indicatore di significatività statistica. Sotto 30 trade le altre metriche sono poco affidabili.
Annual Return % Rendimento annualizzato in percentuale. Misura comparabile con asset tradizionali. Utile in reportistica più che in selezione.
Monthly Return % Rendimento mensile medio in percentuale. Granularità mensile dell’Annual Return.

6.2 Drawdown e tail risk

Metric Cosa misura Higher Quando usarla
Max Drawdown ($) Massima perdita cumulativa dal picco precedente in dollari. Misura di dolore massimo storico. Da usare in coppia con Net Profit (rapporto).
Max Drawdown (%) Stessa cosa in percentuale del capitale iniziale. Versione normalizzata, confrontabile tra strategie.
Profit / MaxDD Ratio Net Profit / Max Drawdown. Ranking di efficienza profitto/rischio.
Profit / AvgDD Ratio Net Profit / Drawdown medio (non solo il massimo). Più stabile del Recovery Factor: il Max DD può essere uno spike isolato, l’Avg DD descrive il drawdown tipico.
Current DD ($) Drawdown corrente alla fine del periodo. Indica se la strategia è in fase di sofferenza attiva.
Current DD / Max DD Quanto del Max DD storico è “consumato” ora. Sopra 0.8 = strategia molto vicina al suo peggio storico (warning). Sotto 0.2 = zona comfort.
Ulcer Index Misura ponderata della profondità e durata dei drawdown. Più severa del Max DD: un DD profondo ma breve ha Ulcer Index più basso di uno modesto ma protratto.
Ulcer Performance Index (UPI) CAGR / Ulcer Index. Anche detto Martin Ratio. Una delle metriche preferite per il ranking composito: premia equity belle e penalizza periodi underwater lunghi.
VaR 95% Daily Perdita giornaliera superata solo nel 5% dei casi peggiori. Misura di rischio statistica. Utile per dimensionamento di capitale.
VaR 99% Daily Versione più severa: perdita superata solo nell’1% dei casi. Pre-stress test.
CVaR 95% Daily Media delle perdite oltre il VaR 95%. Anche detto Expected Shortfall. Cattura il rischio nella coda: misura “quanto è grave il peggio”.
CVaR 99% Daily Versione 99% del CVaR. Tail risk estremo.
VaR/CVaR 95%/99% Monthly Stesse metriche aggregate per mese. Più stabili dei daily ma richiedono più storico per essere affidabili.

6.3 Rischio aggiustato

Metric Cosa misura Higher Quando usarla
Sharpe Ratio Rendimento medio / deviazione standard dei rendimenti. La metrica risk-adjusted classica. Sopra 1 = decente, sopra 2 = molto buona, sopra 3 = sospetta (verificare overfit).
Sortino Ratio Come Sharpe ma penalizza solo la volatilità al ribasso. Tra le più usate in QANTHOS: la volatilità al rialzo non è rischio, è performance. Preferibile allo Sharpe per il ranking.
Calmar Ratio Rendimento annualizzato / Max Drawdown. Versione “drawdown-based” del rischio aggiustato. Sopra 1 = guadagna in un anno quanto ha mai perso.
K-Ratio Slope della regressione lineare dell’equity / errore standard della slope. Misura la costanza della crescita. Equity dritte producono K-Ratio alto, equity a scalini bassi.

6.4 Costanza ed equity quality

Metric Cosa misura Higher Quando usarla
Continuity Index Quanto i trade vincenti sono distribuiti uniformemente nel tempo (vs concentrati in pochi periodi). Distingue strategie genuinamente regolari da strategie con un periodo d’oro irripetibile.
Monthly Continuity Versione mensile del Continuity Index. Più robusto su strategie ad alta frequenza.
Equity R² Quanto la equity curve si avvicina a una retta (coefficiente di determinazione). 1.0 = equity perfettamente lineare, 0.0 = caos. Combinato col K-Ratio identifica strategie “smooth”.
Avg Recovery Days Giorni medi per recuperare un drawdown. Indica resilienza. Tempi di recupero brevi sono psicologicamente più sostenibili.
Max Recovery Days Tempo massimo storico per recuperare un drawdown. Worst-case di pazienza richiesta al trader.
Underwater % Percentuale del tempo passata in drawdown. Sotto il 30% = vive prevalentemente in equilibrio o nuovi massimi. Sopra il 70% = soffre continuamente.

6.5 Distribuzione dei rendimenti

Metric Cosa misura Higher Quando usarla
Win Rate % Percentuale di trade vincenti. Solo apparentemente importante: una strategia con Win Rate 30% ma Avg Win >> Avg Loss può essere ottima. Usare con cautela.
Excess Kurtosis Quanto le code della distribuzione sono “grasse” rispetto a una normale. ✗ (di solito) Kurtosis alta = grandi vincite/perdite occasionali (cigni neri). Vuoi distribuzioni “calme”.
Returns Skewness Asimmetria della distribuzione dei rendimenti. Positiva = code lunghe a destra (occasionali grandi vincite). Negativa = code lunghe a sinistra (pericoloso).
Annualized Volatility (%) Deviazione standard annualizzata dei rendimenti. Più bassa = più stabile. Da usare in coppia con il rendimento.
Monthly StdDev ($) Deviazione standard dei rendimenti mensili in dollari. Granularità mensile della volatilità.

6.6 Robustezza OOS / IS

Queste metriche confrontano la performance Out-of-Sample (dopo la data OOS configurata per la strategia) con quella In-Sample. Sono cruciali per identificare overfit.

Metric Cosa misura Higher Quando usarla
OOS Net Profit ($) Profitto totale realizzato dopo la data OOS. Test del “real world”: la strategia continua a guadagnare dopo lo sviluppo?
OOS Trades Count Numero di trade nell’OOS. Significatività statistica del giudizio OOS.
OOS Worst Trade ($) Singolo trade peggiore nell’OOS. Indica se ci sono stati shock fuori controllo.
OOS UPI UPI calcolato solo sul periodo OOS. Qualità della curva equity post-sviluppo.
OOS/IS Profit Ratio OOS Net Profit / IS Net Profit (annualizzato). Sopra 1.0 = continua a funzionare. Sotto 0.5 = degrado significativo.
OOS/IS Sharpe Ratio Rapporto degli Sharpe IS vs OOS. Misura il “decay” del rischio aggiustato.
OOS/IS Avg Trade Ratio Rapporto Avg Trade OOS / IS. Indica se la strategia ha mantenuto efficienza per trade.
OOS/IS MaxDD Ratio Rapporto Max DD OOS / IS. Sopra 1.5 = drawdown OOS sostanzialmente peggiori dell’in-sample (warning).

Una nota di prudenza sulle metriche OOS: hanno senso solo se hai configurato correttamente la data OOS di ciascuna strategia nel tab Strategie. Senza la separazione corretta non sono affidabili.

7. Errori comuni e come evitarli

Il sistema Percentile Rank + Custom Index è potente ma ha tre punti di attenzione che vale la pena conoscere prima di metterci le mani.

7.1 Ordine dei filtri

Il Percentile Rank Filter (anche in modalità Injector) deve essere sopra il Custom Index che usa i suoi percentili. Se l’ordine è invertito, il Custom Index leggerà un campo percentile che non esiste ancora e produrrà errori. In QANTHOS l’ordine dei filtri è quello mostrato a video, dall’alto verso il basso: trascina i filtri nella sequenza giusta. Lo strumento ideale per verificarlo è il Filters Analysis Tab, che mostra riga per riga quante strategie ogni filtro lascia passare e quante ne scarta.

7.2 Percentile calcolato sull’universo corrente

Questo è il dettaglio meno intuitivo. Se metti il Percentile Rank dopo un quality gate severo, il percentile è calcolato solo sulle sopravvissute. Esempio numerico (i valori esatti dipendono dal tuo portafoglio):

  • Pool iniziale di N strategie totali.
  • Il quality gate ne elimina una buona parte. Restano K (con K < N).
  • Percentile Rank Sortino: i percentili vanno da ~0 a ~100, calibrati sulle K sopravvissute.

La conseguenza pratica: una strategia che ha percentile 95 dopo il quality gate non è necessariamente nel top 5% del pool iniziale di N. Potrebbe essere stata in posizione media nel pool iniziale, ma diventare “top 5%” tra le K sopravvissute. Questo non è un bug, è esattamente come deve funzionare: stiamo costruendo una classifica relativa al pool di candidati validi, non al pool di tutte le strategie esistenti. Se vuoi un ranking sull’universo completo, metti il Percentile Rank prima dei quality gate — ma in genere non è quello che vuoi.

7.3 Numero minimo di strategie

Il calcolo del percentile richiede almeno 2 strategie nel gruppo. Se i filtri precedenti lasciano passare 0 o 1 sola strategia, il Percentile Rank Filter si comporta come passthrough (le strategie attraversano invariate, senza percentili iniettati). Questo significa che se hai una pipeline troppo restrittiva i Custom Index a valle riceveranno strategie senza i campi percentile e produrranno zeri. La soluzione è alleggerire i quality gate sopra.

8. Esempi pratici di Custom Index

Le formule qui sotto sono esempi didattici per mostrare la sintassi e le combinazioni possibili. Sono pensate per dare un punto di partenza; non sono ricette ottimali, e in particolare non sono state validate per il tuo specifico pool di strategie. Ogni trader deve testare e validare le proprie formule via Walk-Forward Analysis prima di metterle in produzione.

8.1 Composite Multi-Percentile

(pct_sortino_ratio + pct_ulcer_performance_index + pct_k_ratio) / 3

Richiede tre Percentile Rank Filter (Sortino, UPI, K-Ratio) in modalità Injector prima del Custom Index. Produce un punteggio 0–100 che misura il bilanciamento della strategia su tre dimensioni: rischio aggiustato (Sortino), qualità della curva equity (UPI) e linearità della crescita (K-Ratio).

8.2 Quality + OOS bias

(pct_sortino_ratio * 0.6) + (pct_oos_is_profit_ratio * 0.4)

Combina il Sortino con il rapporto OOS/IS Profit, dando peso a strategie che hanno mostrato continuità fra il periodo di sviluppo e quello successivo. Un esempio di formula in cui si è deciso di pesare diversamente le due componenti.

8.3 Smooth Equity Premium

equity_r_squared * k_ratio / (max_dd_pct + 1)

Una formula in stile Visual: senza percentili, usa direttamente le metriche. Cerca equity curve molto lineari (equity_r_squared alto), con K-Ratio alto, e penalizza i drawdown in percentuale. È meno adattiva del Composite Multi-Percentile ma più immediata da leggere.

9. Esempio di flusso operativo

Per chi vuole sperimentare lo schema visto in questo capitolo, ecco un esempio di sequenza di passaggi. Va inteso come percorso di esplorazione, non come ricetta da applicare alla lettera:

  1. Apri il tab Portfolio Analyzer → Builder.
  2. Imposta uno o più filtri di quality gate assoluti (gli esempi visti sopra sono solo punti di partenza: la severità effettiva dipende dal tuo pool).
  3. Aggiungi i Percentile Rank Filter per le metriche che vuoi includere nel ranking, con threshold = 0 (Injector mode). Imposta il lookback in funzione della frequenza di rotazione e della frequenza di trade delle tue strategie.
  4. Apri il Custom Index Manager dal Builder e crea un nuovo Custom Index in modalità Formula Editor. Scrivi una formula che combini i percentili iniettati nel modo che meglio rappresenta cosa cerchi.
  5. Aggiungi al Builder un filtro Top N per il Custom Index, con N = numero di strategie desiderate nel portafoglio.
  6. Valuta se aggiungere a valle lo stadio di Correlazione per gestire la diversificazione.
  7. Genera Portafoglio e analizza il risultato nel tab Equity e Filters Analysis. Confronta le performance Walk-Forward con quelle di altre configurazioni prima di decidere.

Il meccanismo del Percentile Rank ha la proprietà notevole di auto-calibrarsi al variare del pool e del contesto di mercato: la soglia relativa continua a funzionare anche quando le condizioni assolute cambiano radicalmente. È una proprietà preziosa per portafogli che devono attraversare diversi regimi di mercato senza richiedere costanti ritocchi manuali. Resta comunque al trader la responsabilità di validare che il comportamento dello schema corrisponda alle proprie aspettative, attraverso Walk-Forward Analysis, stress test e monitoraggio nel tempo: lo strumento è potente, ma l’interpretazione resta umana.

10. Per approfondire

  • Portfolio Rules — la catena di regole, impostazioni di lookback, scope e money management.
  • Custom Index — il dialog completo di costruzione degli indici compositi (Visual Builder e Formula Editor).
  • Correlazioni — lo stadio di decorrelazione e i filtri di diversificazione.
  • Tab del Builder — Equity e validazione walk-forward, Filters Analysis (lettura dell’impatto dei filtri rotazione per rotazione).
QANTHOS è uno strumento di analisi, validazione e scoperta, non un servizio di consulenza finanziaria. Le metriche e i valori mostrati hanno scopo illustrativo e descrivono comportamenti passati. Il trading su strumenti finanziari a leva comporta un rischio significativo di perdita.