Definisci la liquidità per lo scalping prima di testarla
La liquidità per lo scalping non è un singolo numero. Nella pratica, descrive se puoi eseguire in modo affidabile operazioni piccole su orizzonti temporali brevi con costi di transazione accettabili e con movimenti di prezzo avversi limitati tra l’invio dell’ordine e l’esecuzione.
Un modo utile per rendere questo testabile è tradurre la “liquidità” in risultati di esecuzione misurabili:
- Probabilità di esecuzione (fill probability): quanto spesso gli ordini (entro la finestra temporale scelta) vengono eseguiti.
- Spread realizzato / costo effettivo: quanto il prezzo eseguito è distante da un riferimento scelto (spesso il bid/ask prevalente al momento dell’invio, se puoi misurarlo).
- Slippage: la differenza tra il tuo prezzo al momento della decisione (o il mid) e il prezzo effettivamente eseguito.
- Movimento avverso tra ordini: se il mercato si muove contro di te rapidamente durante la finestra di esecuzione.
Definendo questi risultati in anticipo, eviti di mescolare meccaniche di mercato stabili con fattori variabili come la velocità di esecuzione, la gestione degli ordini o il routing specifico del provider.
Formula un’ipotesi falsificabile e una baseline
Un test funziona meglio quando ha un’ipotesi chiara e una baseline che rappresenti “nessun vantaggio speciale”. Ad esempio, un’ipotesi generale potrebbe essere:
- Ipotesi (negoziabilità della liquidità): “In condizioni definite, l’esecuzione su orizzonti temporali brevi ha costi realizzati stabili e accettabili rispetto a un riferimento di baseline.”
La baseline non dovrebbe assumere una specifica strategia di trading. Piuttosto, dovrebbe rappresentare un riferimento neutrale di esecuzione, come:
- un prezzo di riferimento benchmark al momento dell’invio (ad es. bid/ask o mid, a seconda di ciò che puoi registrare),
- un confronto tra esecuzioni e mancati eseguiti (non-fills) sotto vincoli identici,
- oppure un confronto tra regimi di mercato (calmi vs. attivi) mantenendo le stesse regole di esecuzione.
Se non puoi misurare bid/ask al momento dell’invio, il tuo test può comunque essere fatto, ma devi dichiarare che il tuo riferimento è approssimato (ad esempio usando l’ultimo prezzo scambiato come proxy). Questa limitazione deve essere esplicitata nelle assunzioni.
Progetta la divisione dei dati: meccaniche stabili vs condizioni variabili
La liquidità cambia con il tempo e con le condizioni, quindi hai bisogno di più “fette” di dati. Dividi il tuo dataset in almeno tre modi:
- Ora del giorno e giorno della settimana: la qualità dell’esecuzione può differire tra le sessioni.
- Regime di mercato: ad esempio, categorizza in base alla volatilità o al fatto che il prezzo cambi molto vs. poco. Usa una regola coerente così da poterla riprodurre.
- Dimensione dell’ordine / aggressività: testa ordini piccoli vs. ordini più grandi e testa diversi tipi di ordine (per quanto i tuoi dati lo consentano), poiché il consumo della profondità e il comportamento della coda possono cambiare.
Poi definisci la finestra di valutazione per la liquidità per lo scalping. Ad esempio, potresti scegliere una finestra di esecuzione breve (minuti, non ore) e misurare se l’ordine viene eseguito entro quella finestra e a quale costo effettivo.
Specifica le assunzioni e includi i costi in modo esplicito
Qualsiasi “test di liquidità” diventa privo di significato se i costi vengono omessi o modellati in modo incoerente. Anche con informazioni generali, puoi comunque rendere il tuo test verificabile in modo indipendente scrivendo le assunzioni.
Includi almeno:
- Costi di transazione che tratterai come parte della qualità dell’esecuzione (ad es. commissioni o fee se fanno parte del tuo framework di misurazione).
- Riferimento dello spread e come calcoli lo spread effettivo. Se usi i midpoint, dichiaralo chiaramente.
- Assunzioni sulla gestione degli ordini (ad es. se assumi di poter osservare bid/ask al momento dell’invio, oppure se ti affidi a snapshot).
- Regole della finestra di esecuzione (cosa succede quando un ordine non viene eseguito prima della fine della finestra).
Se non hai dati live del book ordini, puoi comunque testare i risultati realizzati a partire dalle stampe di trading che effettivamente osservi, ma devi distinguere:
- Esecuzioni e prezzi osservati (dati che hai davvero), vs.
- Microstruttura non osservata (cose che deduci ma non puoi confermare, come la posizione in coda).
Questa separazione aiuta a evitare di sovrastimare ciò che il test misura realmente.
Approccio basato su evidenze o esempio: misura la qualità dell’esecuzione, non i segnali
Poiché vuoi testare la liquidità per lo scalping piuttosto che un segnale di trading, struttura le evidenze come metriche di qualità dell’esecuzione.
Un esempio pratico di design (concettuale, non legato a prezzi reali) potrebbe essere questo:
- Scegli un insieme di regole di esecuzione per lo scalping che riguardano il timing degli ordini e i vincoli, non la previsione della direzione.
- Per ogni fetta (tempo/regime/dimensione), simula o valuta le esecuzioni usando le stesse regole.
- Calcola le metriche:
- tasso di esecuzione entro la finestra di esecuzione,
- costo effettivo mediano e nelle code,
- distribuzione dello slippage.
- Confronta i risultati con il riferimento di baseline tra le varie fette.
Un punto chiave: l’“evidenza” è se gli esiti dell’esecuzione restano entro una banda accettabile in modo consistente tra le condizioni, non se riesci a creare uno scenario che sembri profittevole. Il tuo report dovrebbe includere la variabilità, ad esempio come si comportano i costi in regimi stressati o in fasi di movimento rapido del mercato.
Costi e controlli di robustezza
Per evitare che un test catturi stranezze una tantum, esegui controlli di robustezza che cambiano una scelta di modellazione alla volta.
I controlli di robustezza comuni includono:
- Sensibilità al prezzo di riferimento: ripeti i calcoli usando il riferimento bid/ask vs. il proxy del midpoint (se consentito) e verifica se le conclusioni restano qualitativamente coerenti.
- Sensibilità della finestra di esecuzione: testa finestre di esecuzione più brevi e più lunghe per vedere quanto rapidamente la “negoziabilità della liquidità” peggiora.
- Sensibilità alla definizione del regime: modifica leggermente la regola di soglia del regime (ad es. un cutoff di volatilità diverso) e osserva se i risultati restano stabili.
- Sensibilità del modello dei costi: se i costi sono incerti, esegui scenari in cui fee o componenti di costo variano entro un intervallo ragionevole e verifica se la classifica delle condizioni cambia.
Questi controlli ti aiutano a separare “il comportamento reale della liquidità” dagli artefatti di misurazione e dalle assunzioni.
Limitazioni e rischi: dove i test di liquidità possono fallire
In qualsiasi test di liquidità per lo scalping, almeno una limitazione materiale dovrebbe essere riconosciuta:
- Meccaniche di esecuzione che non puoi osservare: se i tuoi dati non includono profondità del book ordini o informazioni sulla coda, potresti scambiare una liquidità apparente per una reale negoziabilità.
- Differenze tra provider e routing: due implementazioni che usano gli stessi dati di mercato pubblici possono differire negli esiti realizzati a causa della velocità di esecuzione e della gestione degli ordini.
- Non-stazionarietà: relazioni che sembrano stabili storicamente possono rompersi quando cambiano i regimi di volatilità.
- Rischio nelle code: le medie possono apparire accettabili mentre eventi rari (picchi rapidi, ritiro temporaneo della profondità) generano slippage elevato.
Nota anche una limitazione generale: le relazioni storiche non stabiliscono risultati futuri. Anche un’analisi forte in stile backtest sulla qualità dell’esecuzione potrebbe non riprodursi in condizioni operative diverse.
Infine, giurisdizione e contesto regolatorio possono influenzare gli obblighi di reporting e le pratiche di esecuzione. Se ti serve quel livello di certezza, fai affidamento su fonti primarie attuali piuttosto che su assunzioni statiche.
Verifica e prossime domande
Per verificare in modo indipendente il tuo test di liquidità per lo scalping, assicurati che il tuo lavoro includa:
DOCUMENT END