Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk6 min

Trading algoritmico in Python: come creare e testare un bot momentum in paper trading

Una guida pratica per separare dati, segnali momentum, regole di portafoglio, backtest e paper trading, chiarendo limiti e ipotesi di ogni fase.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Per costruire un bot di trading algoritmico in Python, separa i dati di mercato dal calcolo del segnale, dalle regole di portafoglio e dall’invio degli ordini. Definisci con precisione che cosa intendi per momentum, verifica la strategia su dati storici senza usare informazioni future e poi prova il flusso operativo in paper trading. Quest’ultimo aiuta a trovare problemi d’integrazione, ma non dimostra che la strategia sarà redditizia o che gli ordini avranno gli stessi risultati sul mercato reale.

Quali componenti servono per un bot di trading?

Una pipeline utile tratta separatamente ogni passaggio, così puoi capire se un risultato dipende dal segnale, dai dati o dalle ipotesi di esecuzione. Registra le decisioni e conserva le impostazioni usate: senza questa traccia, è difficile riprodurre o diagnosticare un test.

As an Amazon Associate I earn from qualifying purchases.

  1. Dati: acquisisci prezzi e timestamp, quindi controlla sessioni, fusi orari, duplicati e osservazioni mancanti.
  2. Segnale: calcola la regola momentum solo con informazioni disponibili al momento della decisione.
  3. Portafoglio: traduci il segnale in una posizione obiettivo, definendo dimensionamento ed esposizioni massime.
  4. Esecuzione: specifica quando e come inviare l’ordine e come gestire rifiuti, ordini parziali o stati non aggiornati.
  5. Valutazione storica: testa la stessa logica su dati passati con ipotesi esplicite su tempi, riempimenti e costi.
  6. Paper trading: prova la connessione, il ciclo degli ordini e la riconciliazione delle posizioni in un ambiente simulato.

Una pipeline accademica descritta da Zhang e coautori comprende l’acquisizione tramite API, il calcolo di indici e segnali, la definizione delle condizioni di trading e una dashboard per monitorare segnali, liquidità, posizioni e ROI. È un modello concettuale di implementazione, non una prova di redditività né documentazione aggiornata di uno specifico broker (studio arXiv del 2022).

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Come scegliere e validare i dati di mercato?

Fissa prima il perimetro

Decidi quali strumenti includere, il mercato, la frequenza delle barre e l’ora in cui il bot prende le decisioni. Per un esempio azionario statunitense, un servizio di dati può fornire barre storiche e in tempo reale; le richieste, le classi di asset disponibili e le condizioni di accesso dipendono dall’account e dal prodotto scelto. La guida Alpaca alla Market Data API documenta installazione dell’SDK, chiavi e richieste di dati. La documentazione e il repository ufficiale di alpaca-py descrivono client Python per dati storici, streaming e trading, oltre alla conversione dei dati in DataFrame pandas.

Controlla timestamp e aggiustamenti

  • Normalizza i timestamp in un fuso definito e verifica il calendario delle sessioni del mercato scelto.
  • Controlla barre mancanti o duplicate e distingui un mercato chiuso da un problema di acquisizione.
  • Verifica per l’endpoint specifico se i prezzi sono aggiustati per split e dividendi. Non mescolare serie aggiustate e non aggiustate senza una regola coerente.
  • Conserva l’universo investibile nel tempo. Usare oggi soltanto i titoli ancora quotati può introdurre survivorship bias nel backtest.

Per gli account Alpaca Paper Only, la documentazione consultata il 7 ottobre 2026 indica accesso ai soli dati IEX. Non presumere quindi che un account paper-only fornisca copertura consolidata o universale; controlla disponibilità e copertura per account e mercato nella documentazione Paper Trading.

Che cosa significa momentum e quale formula usare?

Time-series e cross-sectional non sono la stessa regola

Nel momentum time-series confronti il rendimento passato di uno strumento con una soglia, per esempio zero: il segnale riguarda la sua direzione storica. Nel momentum cross-sectional confronti invece più strumenti tra loro e li ordini in base al rendimento passato; il segnale è relativo all’universo selezionato. Un bot deve dichiarare quale dei due usa, perché formula, selezione e interpretazione del portafoglio cambiano.

Una definizione di riferimento: prior 2–12

La metodologia del fattore Mom di Kenneth French usa i rendimenti precedenti dal mese 12 al mese 2, escludendo così il mese più recente. La costruzione mensile descritta dalla Kenneth R. French Data Library forma sei portafogli value-weighted all’intersezione di due gruppi per dimensione e tre per rendimento passato; il dettaglio indica titoli NYSE, AMEX e NASDAQ con dati di rendimento precedente. È una convenzione per costruire un fattore, non una formula universale né la prova che quel periodo sia ottimale per ogni bot.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Esempio didattico: momentum time-series su barre giornaliere

Il codice seguente calcola una regola long-or-cash su una serie di prezzi di chiusura già preparata. Usa 252 osservazioni come approssimazione dei giorni di borsa in un anno, esclude le 21 osservazioni più recenti e produce un segnale al termine della barra. Non scarica dati, non invia ordini e non simula riempimenti.

import pandas as pd

def momentum_signal(adjusted_close: pd.Series) -> pd.DataFrame:
    """Segnale giornaliero long-or-cash; una riga per barra."""
    close = adjusted_close.sort_index()
    prior_12_to_1 = close.pct_change(periods=252).shift(21)
    signal = (prior_12_to_1 > 0).astype("int8").where(prior_12_to_1.notna())

    return pd.DataFrame({
        "prior_12_to_1_return": prior_12_to_1,
        "signal_at_close": signal,
        "target_for_next_bar": signal.shift(1),
    })

La funzione richiede una serie di chiusure coerente, ordinata per barra e aggiustata secondo una scelta esplicita del provider. Le prime righe non hanno dati sufficienti e restano senza segnale. target_for_next_bar sposta la decisione: un valore calcolato alla chiusura non viene trattato come se fosse già eseguibile a quella stessa chiusura. Per un sistema intraday o con un diverso orario decisionale, adatta sia le finestre sia il momento di esecuzione.

Una formula semplice non definisce ancora una strategia completa: occorre specificare universo, finestra, frequenza di ricalcolo, ingressi e uscite, sizing e vincoli. Non cambiare questi parametri dopo aver visto i risultati di valutazione senza separare nuovamente i dati di sviluppo da quelli di test.

Come trasformare un segnale in una posizione e in un ordine?

Il segnale dice se una condizione è vera; non stabilisce quanti titoli acquistare, quale rischio assumere o quale ordine inviare. Mantieni distinti questi livelli:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Feature e segnale: dati trasformati e regola che produce l’indicazione, con timestamp e valori di input.
  • Decisione di portafoglio: posizione obiettivo, dimensionamento, limiti di esposizione e condizioni di uscita.
  • Ordine: quantità e tipo d’ordine, momento d’invio e gestione degli errori o degli stati parziali.
  • Riconciliazione: confronto tra posizione attesa, ordini e stato riportato dall’API.

Per ogni decisione conserva almeno timestamp, input, segnale, posizione desiderata, ordine richiesto, risposta del broker e stato simulato. In questo modo puoi individuare, per esempio, una divergenza tra segnale generato e posizione risultante senza confondere un problema operativo con la performance della regola.

Per l’integrazione Python, l’SDK alpaca-py separa client per trading e per classi di dati. Tieni però l’accesso al provider dietro un livello dati dedicato: così il calcolo del segnale resta indipendente dal broker e puoi verificare separatamente acquisizione, strategia e invio degli ordini. La guida Alpaca del 4 giugno 2026 presenta esempi didattici con dati storici e real-time e flusso paper, ma dichiara che gli esempi sono ipotetici e non costituiscono raccomandazione o endorsement di una strategia (guida Alpaca).

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Come impostare un backtest che non inganni?

Un backtest è il risultato congiunto della regola e delle ipotesi su dati ed esecuzione. Prima di interpretarlo, annota:

  • l’universo investibile e come è ricostruito per ogni data;
  • il periodo, la granularità e il trattamento di dati mancanti e azioni societarie;
  • quando il segnale diventa disponibile e a quale prezzo o momento ipotizzi l’esecuzione;
  • frequenza di ribilanciamento, costi inclusi e modalità di calcolo dei rendimenti;
  • come separi lo sviluppo della regola dalla valutazione e, quando pertinente, come esegui un’analisi walk-forward.

Evita il look-ahead: un segnale calcolato usando la chiusura della barra non può essere eseguito retroattivamente a quella chiusura senza un modello che giustifichi la disponibilità e l’esecuzione. Evita anche il survivorship bias già nella definizione dell’universo. Confronta la strategia con un benchmark semplice e analizza più del rendimento complessivo: drawdown, volatilità, turnover e costi aiutano a capire il profilo dei risultati. Le fonti qui citate non stabiliscono una performance generale trasferibile a un bot momentum personalizzato; un risultato storico non è una previsione del rendimento futuro.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Che cosa verifica davvero il paper trading?

Il paper trading consente di provare il flusso software con ordini simulati e dati di mercato senza inviare quegli ordini a un exchange reale. Può essere utile per controllare che il programma acquisisca i dati, produca decisioni, invii richieste, gestisca risposte e mantenga coerenti gli stati simulati. Nella documentazione Alpaca, gli ordini simulati sono abbinati a prezzi di mercato secondo le ipotesi del sistema; la simulazione non equivale però all’esecuzione live.

Alpaca avverte: “When you run your algorithm with the live market, there are many things that can happen that you may not see in backtesting.” La documentazione Paper Trading elenca fattori non simulati o non pienamente riflessi, tra cui market impact, information leakage, slippage dovuto alla latenza, posizione nella coda degli ordini limit, price improvement, commissioni regolamentari e dividendi (documentazione Alpaca Paper Trading). Perciò il paper trading è un test d’integrazione e di processo, non una certificazione di eseguibilità o redditività. La disponibilità di account, chiavi e dati dipende inoltre dal prodotto e dal mercato: verifica i requisiti correnti del tuo account nella documentazione del provider.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.