Data Pipeline del Trading Bot: Kafka, n8n e Notifiche Telegram

AI Trading Bot Data Pipeline – l’infrastruttura che alimenta le notifiche real-time. n8n orchestra tutto: consumando 4 topic Kafka, scrivendo sul datalake e inviando alert Telegram quando le posizioni vengono aperte o chiuse.

La Sfida: Notifiche di Trading in Tempo Reale

Quando si costruisce un bot di trading autonomo, rimanere informati sulle sue attività è cruciale. Devi sapere quando le operazioni vengono aperte, chiuse, quando i target vengono raggiunti o quando gli stop loss vengono attivati – tutto in tempo reale, ovunque tu sia.

La soluzione? Un’architettura basata su messaggi usando Apache Kafka per lo streaming di eventi, n8n per l’automazione dei workflow e Telegram per notifiche istantanee sul cellulare.

Architettura AI Trading Bot Data Pipeline

L’AI Trading Bot produce eventi su 4 topic Kafka. n8n agisce come orchestratore centrale, consumando tutti i topic e instradandoli alle destinazioni:

                    ┌─ Market Topic ──┐
                    ├─ Alerts Topic ──┤
Trading Bot → Kafka ├─ Decisions Topic┼→ n8n → Datalake
                    └─ Executions Topic┘
                              │
                              └────────→ n8n → Telegram

Ogni componente ha un ruolo specifico:

  • Trading Bot: Produce eventi su 4 topic Kafka (Market, Alerts, Decisions, Executions)
  • Apache Kafka: Message broker che garantisce consegna affidabile e persistenza
  • n8n Orchestrator: Hub centrale che consuma TUTTI i topic Kafka e li instrada
  • Datalake: n8n raggruppa i messaggi e li scrive via SSH per analisi storiche
  • Telegram: n8n invia notifiche istantanee quando le posizioni si aprono/chiudono

Apache Kafka: La Spina Dorsale degli Eventi

Apache Kafka funge da sistema nervoso centrale per tutti gli eventi di trading. Fornisce:

  • Durabilità: I messaggi vengono persistiti e possono essere riprocessati
  • Scalabilità: Gestisce migliaia di eventi al secondo
  • Disaccoppiamento: Producer e consumer lavorano indipendentemente
  • Ordinamento: I messaggi in una partizione mantengono l’ordine

L’AI Trading Bot usa 4 topic Kafka dedicati:

  • Market Topic: Dati prezzi in tempo reale e indicatori di mercato
  • Alerts Topic: Alert di sistema, warning e notifiche errori
  • Decisions Topic: Log decisioni AI con score e ragionamento
  • Executions Topic: Esecuzioni trade (aperture, chiusure, aggiornamenti)

Ogni messaggio contiene dati JSON strutturati:

{
  "event_type": "TRADE_OPENED",
  "symbol": "BTC-USD",
  "direction": "LONG",
  "entry_price": 94250.50,
  "target_price": 96500.00,
  "stop_loss": 93000.00,
  "leverage": 3,
  "bot_name": "trend_follower",
  "timestamp": "2025-12-30T19:58:11Z",
  "priority": "normal"
}

n8n: L’Orchestratore Centrale

n8n è l’orchestratore centrale dell’intera data pipeline dell’AI Trading Bot. Esegue due workflow principali che gestiscono tutto l’instradamento dati:

Workflow 1: Kafka verso Datalake

Questo workflow consuma tutti i 4 topic Kafka simultaneamente, raggruppa i messaggi per file e li scrive sul datalake via SSH:

AI Trading Bot Data Pipeline - workflow n8n 4 topic Kafka verso Datalake
Workflow n8n che consuma Market, Alerts, Decisions ed Executions topics – raggruppando e scrivendo sul datalake

Workflow 2: Kafka verso Telegram

Questo workflow ascolta le notifiche di trade e invia alert istantanei su Telegram quando le posizioni vengono aperte o chiuse:

AI Trading Bot Data Pipeline - Kafka verso Telegram via n8n
Workflow n8n: Kafka Trigger → Parse Message → Invia notifica Telegram

Componenti Chiave del Workflow

Kafka Trigger

Ascolta il topic trading.crypto.notifications con consumer group n8n-telegram-notifications

Parser Messaggi

Estrae il payload JSON e valida i campi richiesti per il processing

Router Priorità

Instrada eventi critici (liquidazioni, P&L elevati) diversamente dalle notifiche normali

Logica Retry

I messaggi critici ritentano 5 volte, i normali 3 volte in caso di fallimento

Notifiche Telegram

La destinazione finale degli eventi di trading è un canale Telegram dedicato. Ogni notifica è formattata per una lettura rapida con le informazioni chiave a colpo d’occhio:

NUOVA OPERAZIONE APERTA
Simbolo: BTC-USD
Direzione: LONG
Entrata: $94.250,50
Target: $96.500,00 (+2,4%)
Stop: $93.000,00 (-1,3%)
Leva: 3x
Bot: Trend Follower

Diversi tipi di evento attivano formati di notifica differenti:

  • TRADE_OPENED: Dettagli entrata, target, stop loss, rapporto rischio/rendimento
  • TRADE_CLOSED: Prezzo uscita, importo e percentuale P&L, durata
  • TARGET_HIT: Notifica di successo con dettagli profitto
  • STOP_LOSS_HIT: Notifica di perdita con dati post-mortem
  • POSITION_UPDATE: Modifiche alle posizioni esistenti
  • SYSTEM_ALERT: Errori bot, problemi API, problemi di connettività

AI Trading Bot Data Lake

Il workflow n8n datalake raggruppa i messaggi da tutti i 4 topic Kafka e li scrive sul datalake via SSH. Questo permette:

  • Tracking Performance: Calcolare win rate, P&L medio, drawdown
  • Analisi Strategia: Confrontare le performance dei bot nel tempo
  • Riconoscimento Pattern: Identificare quali condizioni di mercato favoriscono ogni strategia
  • Backtesting: Validare nuove strategie sui dati storici
  • Audit Trail: Registro completo di tutte le attività di trading

Il data lake memorizza ogni evento con contesto completo, permettendo query complesse come “Qual era il win rate per le operazioni LONG su BTC durante periodi di alto Fear & Greed?”

Deploy con Docker

L’intera pipeline gira in container Docker, rendendo facile il deploy e la gestione su un home server o istanza cloud:

services:
  kafka:
    image: confluentinc/cp-kafka:latest
    ports:
      - "9092:9092"

  n8n:
    image: n8nio/n8n
    ports:
      - "5678:5678"
    volumes:
      - ./n8n-data:/home/node/.n8n

  postgres:
    image: postgres:14
    volumes:
      - ./postgres-data:/var/lib/postgresql/data

Tutti i servizi comunicano su una rete Docker condivisa, con Kafka accessibile internamente a kafka:9092.

Vantaggi di Questa Architettura

Affidabilità

Kafka persiste i messaggi, quindi anche se n8n è temporaneamente giù, nessuna notifica viene persa. Si accodano e vengono processate al ripristino del servizio.

Estensibilità

Aggiungi nuovi consumer facilmente – notifiche Discord, alert email o analytics aggiuntive senza modificare il codice del bot.

Osservabilità

Visibilità completa su cosa sta facendo il bot di trading, quando avvengono le operazioni e come performano le strategie nel tempo.

Disaccoppiamento

Il bot di trading si concentra sulla logica di trading. La logica di notifica vive in n8n. Ogni componente può essere aggiornato indipendentemente.


Conclusione

Costruire una data pipeline per le notifiche di trading può sembrare eccessivo per un progetto personale, ma i benefici sono sostanziali. Visibilità in tempo reale sulle attività di trading, uno storico per le analisi e la flessibilità di estendere il sistema lo rendono worthwhile.

Combinato con l’AI Trading Bot della Parte 1, questo crea un sistema di trading autonomo completo che ti tiene informato senza richiedere un monitoraggio costante.

Disclaimer: Questo è un progetto personale che gira su testnet a scopo educativo. Il trading di criptovalute comporta rischi significativi. Non fare mai trading con soldi che non puoi permetterti di perdere.

Approfondimenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna in alto