Come Funzionano i Sistemi Basati su Regole nel Forex
Risposta diretta
I Sistemi Basati su Regole nel forex sono processi decisionali automatizzati o semi-automatizzati che applicano regole predefinite a input provenienti dai dati di mercato e dal contesto del conto. Il sistema valuta le condizioni in un ordine specifico e produce un output come la decisione di non fare nulla, aprire, chiudere o modificare l’esposizione. L’idea chiave è il determinismo: dati gli stessi input e lo stesso insieme di regole, gli output devono derivare dalla logica piuttosto che dal giudizio discrezionale.
Meccanica: definizione, input e sequenza
Una regola in questo contesto è un’affermazione condizionale, comunemente scritta in uno stile se-allora. Ad esempio, una regola può dire: se un valore misurato supera una soglia e una condizione temporale è soddisfatta, allora produrre una determinata azione. Un Sistema Basato su Regole è tipicamente una raccolta di tali regole più una struttura che definisce come combinarle.
Input tipici
I Sistemi Basati su Regole possono utilizzare input come:
- Valori derivati dai prezzi (ad esempio, prezzo corrente, rendimenti su una finestra temporale, o variazioni tra due momenti).
- Calcoli simili a indicatori definiti esplicitamente come output di formule (anche se chiamati “caratteristiche”).
- Filtri temporali (ad esempio, valutare le regole solo in determinate ore).
- Contesto del conto o dell’esecuzione (ad esempio, se il trading è consentito, limiti massimi di esposizione o se esiste già una posizione).
Poiché questa è una spiegazione didattica, si suppone che il sistema utilizzi i dati che definisci come input. Se una piattaforma fornisce flussi dati diversi, spread o timestamp, gli output delle regole possono cambiare.
Sequenza di valutazione delle regole
La maggior parte dei sistemi segue una sequenza come questa:
- Preparazione dei dati: calcolare gli input richiesti dai dati di mercato grezzi utilizzando formule fisse.
- Verifica delle condizioni: per ogni regola, valutare se la sua parte “se” è vera.
- Selezione dell’azione: decidere l’output in base a tutte le regole, utilizzando un metodo di combinazione documentato (come ordine di priorità, conteggio delle regole corrispondenti o richiesta di accordo totale).
- Generazione dell’output: tradurre l’azione selezionata in una forma di istruzione concreta (ad esempio, creare un oggetto decisione “acquista/vendi/mantieni”).
- Gestione dell’esecuzione (opzionale ma comune): se il sistema è collegato a un componente di esecuzione, applicare vincoli definiti come limiti di dimensione degli ordini o “non operare se mancano condizioni”.
Un punto importante è che la logica riguarda il processo decisionale, non la previsione certa del futuro. L’insieme di regole definisce cosa fare sotto determinate condizioni osservate.
Esempio o modello concreto (con ipotesi esplicite)
Considera un semplice esempio di regola completamente specificato (non una raccomandazione):
- Ipotesi A: Il sistema riceve una serie temporale di prezzi a intervalli regolari.
- Ipotesi B: Il sistema calcola una caratteristica di rendimento a un passo r_t = (P_t − P_{t-1}) / P_{t-1}.
- Regola R1: se r_t > 0, allora genera un’azione “aumenta l’esposizione di un importo fisso”, altrimenti genera “riduci l’esposizione di un importo fisso”.
Ora estendiamolo in un Sistema Basato su Regole con logica di combinazione:
- Regola R2: se un filtro temporale è attivo (ad esempio, il flag di trading consentito è vero), allora permetti l’azione di R1; altrimenti genera “mantieni”.
- Regola di combinazione: applica prima R2 (perché può bloccare il trading), poi applica R1 solo se il trading è consentito.
In questo modello, l’output del sistema è completamente determinato dal r_t calcolato, dal P_t corrente e dal flag di trading consentito al momento della valutazione. Se un input è indisponibile o calcolato diversamente (dimensione dell’intervallo diversa, formula diversa, allineamento dei timestamp diverso), gli output risultanti possono cambiare.
Per sistemi più realistici, regole aggiuntive spesso aggiungono struttura come:
- Regole di ingresso vs. uscita (regole che aprono l’esposizione in modo diverso da quelle che la chiudono).
- Regole di stato della posizione (le regole dipendono dal fatto che tu abbia già un’esposizione).
- Regole di vincolo (regole che impediscono azioni quando le ipotesi falliscono, come dati mancanti).
Limitazioni e rischi: dove i sistemi basati su regole possono fallire
I Sistemi Basati su Regole possono fallire in modi prevedibili perché i mercati reali e i sistemi reali raramente soddisfano tutte le ipotesi.
1) Cambiamenti di regime di mercato
Le regole sono spesso calibrate su un particolare schema di comportamento. Quando il carattere statistico del mercato cambia (ad esempio, variazioni della volatilità o cambiamenti nel comportamento direzionale tipico), le stesse condizioni se-allora possono attivarsi più o meno spesso del previsto.
2) Overfitting alle relazioni storiche
Se le regole sono progettate utilizzando dati storici limitati e troppi gradi di libertà, possono catturare rumore invece di comportamenti duraturi. In tal caso, il successo storico non si trasferisce necessariamente a nuove condizioni.
3) Problemi di dati e tempistiche
La valutazione delle regole è sensibile all’allineamento dei dati. Problemi comuni includono:
- Utilizzo di input obsoleti o ritardati.
- Diverse convenzioni di timestamp tra il flusso dati e il tempo di esecuzione.
- Differenze di calcolo (ad esempio, se i rendimenti sono calcolati sui prezzi di chiusura o sui prezzi di metà).
4) Costi di esecuzione e slittamento
Anche con una logica corretta delle regole, il risultato effettivo può differire dalla valutazione ideale della regola a causa dei costi (spread, commissioni) e degli effetti di esecuzione. Una regola che assume riempimenti immediati può comportarsi diversamente quando i riempimenti avvengono a prezzi variabili.
5) Mancanza di controlli e modalità di errore
I Sistemi Basati su Regole necessitano comunque di un “comportamento sicuro” esplicito quando le ipotesi falliscono. Esempi includono:
- Se gli input richiesti mancano, il sistema dovrebbe di default generare un output di “mantieni/non fare nulla”.
- Se il sistema non può confermare lo stato del conto, dovrebbe evitare di creare azioni in conflitto.
Queste limitazioni sono generiche e si applicano indipendentemente dalla piattaforma.
Verifica e prossime domande
Puoi verificare autonomamente se un Sistema Basato su Regole è ben specificato controllando quattro elementi:
- Input: Tutti i campi dati e i calcoli sono esplicitamente definiti, inclusi formule e timestamp?
- Output: Cosa produce esattamente ogni regola (decisione, ordine o modifica di stato), e come vengono risolti i conflitti?
- Assunzioni: Quali condizioni devono essere soddisfatte affinché il sistema si comporti come previsto?
- Comportamento in caso di errore: Cosa succede quando mancano gli input, quando l’esecuzione è ritardata o quando vengono attivati vincoli?
Se desideri approfondire, una domanda utile successiva è: “Come sono definite la priorità delle regole e la risoluzione dei conflitti?” perché una logica di combinazione poco chiara è una causa comune di comportamenti inattesi.