Salta al contenuto principale

Buone pratiche

> Disclaimer: Questo contenuto è fornito esclusivamente a scopo educativo e di riferimento per i software builder. Non costituisce consulenza medica, legale, finanziaria o normativa. Consulta un professionista qualificato prima di prendere decisioni basate su questo contenuto.

1. Usa la Validazione del LEI come Gate Pre-Transazione

Valida il LEI della controparte tramite l'API GLEIF prima di accettare qualsiasi input di operazione nella pipeline di transaction reporting. Rifiuta i LEI con stato LAPSED, RETIRED o PENDING_ARCHIVAL. Implementa una cache LEI con TTL di 24 ore per ridurre le chiamate API, con invalidazione immediata quando viene rilevata una variazione di stato. Un singolo LEI non valido causerà il rifiuto del report RTS 22 da parte dell'ARM e potenzialmente una violazione normativa.

2. Memorizza i Timestamp UTC in Ogni Fase del Ciclo di Vita

Tutti i timestamp delle operazioni nei sistemi MiFID II (ricezione ordine, esecuzione, presentazione del reporting) devono essere memorizzati in UTC con precisione almeno al millisecondo. Lo standard di sincronizzazione degli orologi RTS 25 (Regolamento Delegato della Commissione 2017/574) richiede che i sistemi delle sedi di negoziazione sincronizzino gli orologi con UTC entro 1 millisecondo per i sistemi di trading non-HFT e registrino i timestamp con precisione al millisecondo per gli strumenti azionari. Per i gateway HFT (High-Frequency Trading), il requisito è più stringente: sincronizzazione entro 100 microsecondi (Allegato I del Regolamento Delegato 2017/574). Non convertire mai in ora locale nel database - memorizza UTC e converti solo a livello di visualizzazione.

3. Separa il Transaction Reporting dalla Logica di Business

Implementa la pipeline di transaction reporting come contesto delimitato o servizio separato, non inline con il flusso di esecuzione delle operazioni. Questo consente: (1) gestione indipendente dei fallimenti e dei retry per il servizio di reporting senza impattare l'esecuzione; (2) test più facile della mappatura dei 65 campi RTS 22 rispetto ai dati mock; (3) monitoraggio indipendente degli SLA di presentazione dei report. Usa un'architettura event-driven dove ogni operazione eseguita pubblica un evento OperazioneEseguita consumato dal servizio di reporting.

4. Implementa la Categorizzazione del Cliente come Macchina a Stati

Modella la categorizzazione del cliente come una macchina a stati formale con transizioni valide: NON_CATEGORIZZATO → RETAIL → PROFESSIONALE (elettivo) → CONTROPARTE_QUALIFICATA. Ogni transizione deve richiedere: prove raccolte, una decisione di valutazione, un responsabile approvatore e un timestamp. Memorizza ogni transizione di stato in un log immutabile. Applica il controllo della categorizzazione a ogni acquisto di prodotto o abbonamento al servizio.

5. Versiona KID e KIID con Tracciamento della Consegna

Ogni aggiornamento del KID e del KIID deve creare una nuova versione del documento con un numero di versione semantica e la data di entrata in vigore. Prima che un cliente al dettaglio esegua una transazione in un PRIIP o UCITS, verifica che: (1) la versione corrente del KID/KIID sia stata consegnata al cliente; (2) la consegna sia avvenuta prima della conferma della transazione; (3) il timestamp della consegna e l'accettazione del cliente siano registrati. Tratta la consegna del KID come un gate rigido - blocca l'esecuzione se la consegna non può essere confermata.

6. Implementa la Presentazione all'ARM con Retry Idempotente

I report sulle transazioni presentati agli ARM possono fallire a causa di errori di rete transitori o lato ARM. Implementa retry idempotente con backoff esponenziale e una finestra di retry massima di T+1 (la scadenza normativa). Assegna a ogni report sulle transazioni un ID report univoco globale prima della presentazione. Al momento del retry, reinvia con lo stesso ID report in modo che l'ARM possa deduplicare senza creare report duplicati all'NCA. Monitora gli SLA di presentazione tramite un dashboard di compliance dedicato.

7. Applica la Compatibilità del Mercato Target Prima della Vendita del Prodotto

Per ogni offerta di prodotto a un cliente al dettaglio o professionale, esegui un controllo di compatibilità del mercato target: confronta il profilo del cliente (conoscenza, esperienza, situazione finanziaria, tolleranza al rischio, orizzonte di investimento) con la definizione del mercato target del produttore per il prodotto. Se il cliente non rientra nel mercato target, registra l'evento di incompatibilità, avvisa il consulente e richiedi un override con giustificazione documentata. Memorizza tutte le decisioni di compatibilità e gli override in un audit log accessibile alla compliance.

8. Automatizza la Raccolta delle Prove di Migliore Esecuzione

Per ogni ordine, acquisisci e memorizza: (1) la sede di esecuzione effettivamente utilizzata e il codice MIC; (2) le sedi alternative considerate; (3) il prezzo ottenuto rispetto all'EBBO al momento del routing; (4) la motivazione della sede scelta (es. miglioramento del prezzo, latenza ridotta). Queste prove devono essere disponibili su richiesta per le ispezioni NCA e devono supportare la generazione dei report annuali RTS 28. Non fare mai affidamento sulla ricostruzione a posteriori - acquisisci le prove al momento dell'esecuzione.

9. Monitora il Volume Dark rispetto alle Soglie DVC in Tempo Reale

Se si gestisce o si è connessi a un dark pool che utilizza waiver del prezzo di riferimento o waiver delle operazioni negoziate, implementa il monitoraggio DVC in tempo reale che confronta il volume scambiato in dark con i tetti pubblicati da ESMA (4% per sede, 8% totale UE). Quando il volume si avvicina all'80% del tetto applicabile, genera un alert e passa a strategie di esecuzione alternative. Quando viene annunciata una sospensione DVC da ESMA, disabilita automaticamente il routing di ordini dark per lo strumento sospeso nella stessa sessione di negoziazione.

10. Implementa la Valutazione dell'Adeguatezza come Gate Pre-Investimento

Per i servizi di consulenza in materia di investimenti e gestione di portafogli, blocca l'esecuzione finché una valutazione di adeguatezza valida non conferma che lo strumento è adeguato per il cliente. Una valutazione di adeguatezza è valida solo se: (1) le informazioni del cliente sono state raccolte entro il periodo di aggiornamento definito dalla società; (2) tutte e tre le dimensioni di adeguatezza (conoscenza/esperienza, situazione finanziaria, obiettivi) sono coperte; (3) la logica di determinazione dell'adeguatezza è stata applicata e registrata. Genera un report di adeguatezza e consegnalo al cliente prima o con la conferma dell'operazione.

11. Progetta il Monitoraggio dei Limiti di Posizione per i Derivati su Merci

Per i derivati su merci, implementa l'aggregazione delle posizioni in tempo reale che somma tutte le posizioni (possedimenti diretti, posizioni economicamente equivalenti, posizioni detenute tramite entità del gruppo) rispetto al limite di posizione NCA applicabile. Implementa blocchi rigidi quando un cliente raggiunge il 90% del limite e blocchi assoluti al 100%. Per le posizioni dei grandi operatori, automatizza la generazione del report giornaliero sulle posizioni e la presentazione all'NCA pertinente prima della scadenza applicabile.

12. Testa la Connettività ARM e il Formato del Report rispetto allo Schema ESMA

Prima dell'avvio, presenta un batch di report sulle transazioni di test all'ambiente di test del tuo ARM e valida le risposte. Le cause comuni di rifiuto RTS 22 includono: ISIN non valido (non presente in FIRDS), LEI scaduto, campo obbligatorio mancante, codice MIC non valido per la sede di esecuzione, timestamp fuori dall'intervallo previsto e mancata corrispondenza dell'indicatore acquirente/venditore con la capacità di negoziazione. Implementa un validatore pre-presentazione che verifichi tutti i 65 campi rispetto allo schema ESMA prima dell'invio all'ARM.