Trading Quantitativo Guida Per Principianti

In questo articolo ti presenterò alcuni dei concetti di base che accompagnano un sistema di trading quantitativo end-to-end . Si spera che questo post serva due tipi di lettori. I primi saranno gli quelli che cercano di ottenere un lavoro in un fondo come trader quantitativo. Il secondo saranno le persone che desiderano provare a creare la propria attività di trading algoritmico “al dettaglio”.

Il trading quantitativo è un’area estremamente sofisticata della finanza quantistica. Può richiedere molto tempo per acquisire le conoscenze necessarie per superare un colloquio o costruire le tue strategie di trading. Non solo, ma richiede una vasta esperienza di programmazione, almeno in un linguaggio come MATLAB, R o Python. Tuttavia, con l’ aumentare della frequenza di negoziazione della strategia, gli aspetti tecnologici diventano molto più rilevanti. Pertanto, avere familiarità con C / C ++ sarà di fondamentale importanza.

Un sistema di negoziazione quantitativa è costituito da quattro componenti principali:

  • Identificazione della strategia – Trovare una strategia, sfruttare un vantaggio e decidere la frequenza di trading
  • Backtesting della strategia : ottenere dati, analizzare le prestazioni della strategia e rimuovere i pregiudizi
  • Sistema di esecuzione – Collegamento a una mediazione, automazione del trading e minimizzazione dei costi di transazione
  • Gestione del rischio : allocazione ottimale del capitale, “dimensione della scommessa” / criterio di Kelly e psicologia del trading

Inizieremo dando un’occhiata a come identificare una strategia di trading.

Trading Quantitativo Guida Per Principianti

Identificazione della strategia

Tutti i processi di negoziazione quantitativa iniziano con un periodo iniziale di ricerca. Questo processo di ricerca comprende la ricerca di una strategia, vedere se la strategia si inserisce in un portafoglio di altre strategie che potresti essere in esecuzione, ottenere tutti i dati necessari per testare la strategia e cercare di ottimizzare la strategia per rendimenti più elevati e / o rischi minori. Dovrai tenere conto dei tuoi requisiti patrimoniali se esegui la strategia come operatore “al dettaglio” e in che modo i costi di transazione influenzeranno la strategia.

Contrariamente alla credenza popolare, in realtà è abbastanza semplice trovare strategie redditizie attraverso varie fonti pubbliche. Gli accademici pubblicano regolarmente risultati di trading teorici (anche se principalmente al lordo dei costi di transazione). I blog di finanza quantitativa discuteranno in dettaglio le strategie. Le riviste specializzate illustreranno alcune delle strategie impiegate dai fondi.

Potresti chiederti perché gli individui e le aziende sono desiderosi di discutere le loro strategie redditizie, specialmente quando sanno che altri “affollare il commercio” possono impedire alla strategia di funzionare a lungo termine. Il motivo sta nel fatto che spesso non discuteranno i parametri esatti e i metodi di ottimizzazione che hanno effettuato. Queste ottimizzazioni sono la chiave per trasformare una strategia relativamente mediocre in una strategia altamente redditizia. In effetti, uno dei modi migliori per creare strategie uniche è quello di trovare metodi simili e quindi eseguire la propria procedura di ottimizzazione.

Ecco un piccolo elenco di luoghi per iniziare a cercare idee strategiche:

  • Rete di ricerca in scienze sociali – www.ssrn.com
  • arXiv Quantitative Finance – arxiv.org/archive/q-fin
  • Alla ricerca di Alpha – www.seekingalpha.com
  • Elite Trader – www.elitetrader.com
  • Nuclear Phynance – www.nuclearphynance.com
  • Quantivity – quantivity.wordpress.com

Molte delle strategie che affronterai ricadranno nelle categorie di inversione della media e di trend / momentum . Una strategia di ripristino della media è quella che tenta di sfruttare il fatto che esiste una media a lungo termine su una “serie di prezzi” (come lo spread tra due attività correlate) e che alla fine le deviazioni a breve termine da questa media verranno ripristinate. Una strategia di slancio tenta di sfruttare sia la psicologia degli investitori sia la struttura dei grandi fondi “facendo l’autostop” su una tendenza del mercato, che può raccogliere slancio in una direzione e seguire la tendenza fino a quando non si inverte.

Un altro aspetto estremamente importante del trading quantitativo è la frequenza della strategia di trading. Il trading a bassa frequenza (LFT) si riferisce generalmente a qualsiasi strategia che detiene attività più a lungo di un giorno di negoziazione. Di conseguenza, il trading ad alta frequenza (HFT) si riferisce generalmente a una strategia che detiene attività infragiornaliere. Il trading ad altissima frequenza (UHFT) si riferisce a strategie che detengono attività nell’ordine di secondi e millisecondi. Come operatore di vendita al dettaglio, HFT e UHFT sono certamente possibili, ma solo con una conoscenza dettagliata dello “stack tecnologico” di trading e delle dinamiche degli ordini . Non discuteremo questi aspetti in larga misura in questo articolo introduttivo.

Una volta che una strategia, o una serie di strategie, è stata identificata, ora deve essere testata per la redditività sui dati storici. Questo è il dominio del backtesting .

Backtesting strategico

L’obiettivo del backtesting è fornire prove del fatto che la strategia identificata tramite il processo sopra descritto è redditizia se applicata a dati storici e fuori campione . Questo stabilisce l’aspettativa di come la strategia si comporterà nel “mondo reale”. Tuttavia, il backtesting NON è una garanzia di successo, per vari motivi. È forse l’area più sottile del commercio quantitativo poiché comporta numerosi pregiudizi, che devono essere attentamente considerati ed eliminati il ​​più possibile. Discuteremo i tipi comuni di distorsione tra cui pregiudizi look-ahead , pregiudizi sopravvivenza e pregiudizi ottimizzazione(noto anche come distorsione da “snooping dei dati”). Altre aree importanti nell’ambito del backtesting includono la disponibilità e la pulizia dei dati storici, il factoring in costi di transazione realistici e la scelta di una solida piattaforma di backtesting. Discuteremo ulteriormente i costi di transazione nella sezione Sistemi di esecuzione di seguito.

Una volta identificata una strategia, è necessario ottenere i dati storici attraverso i quali eseguire i test e, forse, il perfezionamento. Esiste un numero significativo di fornitori di dati in tutte le classi di attività. I loro costi generalmente si adattano alla qualità, alla profondità e alla tempestività dei dati. Il tradizionale punto di partenza per i trader quantisti principianti (almeno a livello di vendita al dettaglio) è utilizzare il set di dati gratuito di Yahoo Finance. Non mi dilungherò troppo sui fornitori qui, piuttosto vorrei concentrarmi sulle questioni generali quando si tratta di set di dati storici.

Le principali preoccupazioni relative ai dati storici includono accuratezza / pulizia, propensione alla sopravvivenza e adeguamento per azioni societarie come dividendi e frazioni azionarie:

  • La precisione riguarda la qualità generale dei dati, indipendentemente dal fatto che contenga errori. A volte gli errori possono essere facili da identificare, ad esempio con un filtro spike , che individuerà “spike” errati nei dati delle serie temporali e li correggerà. Altre volte possono essere molto difficili da individuare. Spesso è necessario disporre di due o più provider e quindi verificare tutti i loro dati uno contro l’altro.
  • La distorsione da sopravvivenza è spesso una “caratteristica” di set di dati gratuiti o economici. Un set di dati con distorsione di sopravvivenza significa che non contiene asset che non sono più scambiati. Nel caso delle azioni questo significa titoli cancellati / falliti. Questo pregiudizio significa che qualsiasi strategia di trading azionario testata su un set di dati di questo tipo probabilmente avrà un rendimento migliore rispetto al “mondo reale” poiché i “vincitori” storici sono già stati preselezionati.
  • Le azioni societarie comprendono attività “logistiche” svolte dalla società che di solito causano una variazione graduale del prezzo grezzo, che non dovrebbero essere incluse nel calcolo dei rendimenti del prezzo. Gli aggiustamenti per dividendi e frazioni azionarie sono i colpevoli comuni. È necessario eseguire un processo noto come regolazione della schiena in ciascuna di queste azioni. Bisogna stare molto attenti a non confondere una scissione di titoli con una vera rettifica dei rendimenti. Molti trader sono stati catturati da un’azione aziendale!

Per eseguire una procedura di backtest è necessario utilizzare una piattaforma software . Puoi scegliere tra software di backtest dedicato, come Tradestation, una piattaforma numerica come Excel o MATLAB o un’implementazione completamente personalizzata in un linguaggio di programmazione come Python o C ++. Non mi dilungherò troppo su Tradestation (o simili), Excel o MATLAB, poiché credo nella creazione di uno stack tecnologico interno completo (per i motivi descritti di seguito). Uno dei vantaggi di farlo è che il software di backtest e il sistema di esecuzione possono essere strettamente integrati, anche con strategie statistiche estremamente avanzate. Per le strategie HFT, in particolare, è essenziale utilizzare un’implementazione personalizzata.

Quando si esegue il backtesting di un sistema, è necessario essere in grado di quantificare le prestazioni. Le metriche “standard di settore” per le strategie quantitative sono il massimo drawdown e lo Sharpe Ratio. Il massimo drawdown caratterizza il calo maggiore da picco a minimo della curva del patrimonio netto in un determinato periodo di tempo (generalmente annuale). Questo è spesso citato in percentuale. Le strategie LFT tenderanno ad avere maggiori svantaggi rispetto alle strategie HFT, a causa di una serie di fattori statistici. Un backtest storico mostrerà il massimo drawdown passato, che è una buona guida per le future performance di drawdown della strategia. La seconda misurazione è lo Sharpe Ratio, che è euristicamente definito come la media dei rendimenti in eccesso divisa per la deviazione standard di tali rendimenti in eccesso. Qui, i rendimenti in eccesso si riferiscono al ritorno della strategia al di sopra di un benchmark predeterminato, come l’S & P500 o un buono del tesoro di 3 mesi. Si noti che il rendimento annualizzato non è una misura normalmente utilizzata, in quanto non tiene conto della volatilità della strategia (diversamente dal Sharpe Ratio).

Una volta che una strategia è stata testata a posteriori ed è considerata priva di distorsioni (per quanto possibile!), Con una buona Sharpe e riduzioni al minimo, è tempo di costruire un sistema di esecuzione.

Sistemi di esecuzione

Un sistema di esecuzione è il mezzo tramite il quale l’elenco di operazioni generate dalla strategia viene inviato ed eseguito dal broker. Nonostante il fatto che la generazione commerciale possa essere semi-o addirittura completamente automatizzata, il meccanismo di esecuzione può essere manuale, semi-manuale (cioè “un clic”) o completamente automatizzato. Per le strategie LFT, le tecniche manuali e semi-manuali sono comuni. Per le strategie HFT è necessario creare un meccanismo di esecuzione completamente automatizzato, che sarà spesso strettamente associato al generatore commerciale (a causa dell’interdipendenza tra strategia e tecnologia).

Le considerazioni chiave durante la creazione di un sistema di esecuzione sono l’ interfaccia per l’intermediazione , la minimizzazione dei costi di transazione (inclusi commissioni, slippage e spread) e la divergenza delle prestazioni del sistema live dalle prestazioni backtestate.

Esistono molti modi per interfacciarsi con una mediazione. Esse vanno dal chiamare il tuo broker al telefono fino a un’API (Application Programming Interface) completamente automatizzata ad alte prestazioni. Idealmente, vuoi automatizzare il più possibile l’esecuzione delle tue operazioni. Ciò ti consente di concentrarti su ulteriori ricerche, oltre a consentirti di eseguire più strategie o persino strategie di frequenza più elevata (in effetti, l’HFT è sostanzialmente impossibile senza l’esecuzione automatica). Il comune software di backtesting descritto sopra, come MATLAB, Excel e Tradestation, è utile per strategie più semplici e a bassa frequenza. Tuttavia sarà necessario costruire un sistema di esecuzione interno scritto in un linguaggio ad alte prestazioni come C ++ per fare qualsiasi vero HFT.Come aneddoto, nel fondo in cui ero impiegato, avevamo un “ciclo di negoziazione” di 10 minuti in cui scaricavamo i nuovi dati di mercato ogni 10 minuti e quindi eseguivamo operazioni basate su tali informazioni nello stesso lasso di tempo. Stava usando uno script Python ottimizzato. Per tutto ciò che si avvicina ai dati di seconda o seconda frequenza, credo che C / C ++ sarebbe più ideale.

In un fondo più ampio, spesso non è il dominio del trader quant a ottimizzare l’esecuzione. Tuttavia, nei negozi più piccoli o nelle aziende HFT, i trader SONO gli esecutori e quindi è spesso auspicabile un skillset molto più ampio. Tienilo a mente se desideri essere assunto da un fondo. Le tue capacità di programmazione saranno importanti, se non di più, dei tuoi talenti statistici ed econometrici!

Un altro grosso problema che rientra nel quadro dell’esecuzione è quello della minimizzazione dei costi di transazione. Ci sono generalmente tre componenti per i costi di transazione: commissioni (o tasse), che sono le commissioni addebitate dall’intermediazione, dallo scambio e dalla SEC (o simile organo di regolamentazione governativo); slippage, che è la differenza tra ciò che intendevi riempire il tuo ordine e quello in cui era effettivamente riempito; spread, che è la differenza tra il prezzo bid / ask del titolo negoziato. Si noti che lo spread NON è costante e dipende dalla liquidità attuale (ovvero dalla disponibilità di ordini di acquisto / vendita) sul mercato.

I costi di transazione possono fare la differenza tra una strategia estremamente redditizia con un buon rapporto Sharpe e una strategia estremamente non redditizia con un terribile rapporto Sharpe. Può essere una sfida prevedere correttamente i costi di transazione da un backtest. A seconda della frequenza della strategia, sarà necessario accedere ai dati storici di scambio, che includeranno i dati tick per i prezzi bid / ask. Per questi motivi, interi team di partecipanti si dedicano all’ottimizzazione dell’esecuzione nei fondi più grandi. Considera lo scenario in cui un fondo deve scaricare una notevole quantità di operazioni (di cui i motivi per farlo sono molti e vari!). “Scaricando” così tante azioni sul mercato, abbasseranno rapidamente il prezzo e potrebbero non ottenere un’esecuzione ottimale. Quindi esistono algoritmi che “gocciolano” gli ordini sul mercato, sebbene quindi il fondo rischia di scivolare. Inoltre, altre strategie “predano” queste necessità e possono sfruttare le inefficienze. Questo è il dominio diarbitraggio della struttura del fondo .

Il principale problema finale per i sistemi di esecuzione riguarda la divergenza delle prestazioni della strategia dalle prestazioni backtestate. Questo può accadere per una serie di motivi. Abbiamo già discusso in dettaglio del pregiudizio sul futuro e del pregiudizio per l’ottimizzazione, quando si considerano i backtest. Tuttavia, alcune strategie non semplificano il test di questi pregiudizi prima della distribuzione. Ciò si verifica soprattutto nella HFT. Potrebbero esserci dei bug nel sistema di esecuzione e nella stessa strategia di trading che non si presentano su un backtest ma si presentano nel trading dal vivo. Il mercato potrebbe essere stato soggetto a un cambio di regime successivo all’implementazione della tua strategia. Nuovi contesti normativi, cambiamenti nel sentimento degli investitori e fenomeni macroeconomici possono portare a divergenze nel comportamento del mercato e quindi nella redditività della vostra strategia.

Gestione del rischio

L’ultimo pezzo del puzzle di trading quantitativo è il processo di gestione del rischio . “Rischio” include tutti i pregiudizi precedenti che abbiamo discusso. Include il rischio tecnologico, come i server collocati nello scambio che sviluppano improvvisamente un malfunzionamento del disco rigido. Include il rischio di intermediazione, come il fallimento del broker (non così folle come sembra, dato il recente spavento con MF Global!). In breve, copre quasi tutto ciò che potrebbe interferire con l’implementazione del trading, di cui esistono molte fonti. Libri interi sono dedicati alla gestione del rischio per strategie quantitative, quindi non cercherò di chiarire qui su tutte le possibili fonti di rischio.

La gestione del rischio comprende anche la cosiddetta allocazione ottimale del capitale , che è una branca della teoria del portafoglio . Questo è il mezzo con cui il capitale viene allocato a una serie di strategie diverse e alle negoziazioni all’interno di tali strategie. È un’area complessa e si basa su una matematica non banale. Lo standard del settore in base al quale l’allocazione del capitale e la leva finanziaria ottimali delle strategie sono correlate è chiamato criterio di Kelly . Dato che questo è un articolo introduttivo, non mi soffermerò sul suo calcolo. Il criterio di Kelly fa alcune ipotesi sulla natura statistica dei rendimenti, che spesso non valgono nei mercati finanziari, quindi gli operatori economici sono spesso prudenti in termini di implementazione.

Un’altra componente chiave della gestione del rischio è nel trattare il proprio profilo psicologico. Ci sono molti pregiudizi cognitivi che possono insinuarsi nel trading. Anche se questo è certamente meno problematico con il trading algoritmico se la strategia viene lasciata sola! Un pregiudizio comune è quello dell’avversione alla perdita in cui una posizione perdente non verrà chiusa a causa del dolore di dover realizzare una perdita. Allo stesso modo, i profitti possono essere presi troppo presto perché la paura di perdere un profitto già ottenuto può essere troppo grande. Un altro bias comune è noto come bias di recency . Ciò si manifesta quando gli operatori pongono troppa enfasi sugli eventi recenti e non sul lungo termine. Poi ovviamente ci sono i classici pregiudizi emotivi: paura e avidità. Questi possono spesso portare a un indebitamento eccessivo o eccessivo, che può causaresaltare in aria (ovvero il capitale proprio del conto a zero o peggio!) o ridurre i profitti.

Sommario

Come si può vedere, il trading quantitativo è un’area di finanziamento quantitativo estremamente complessa, sebbene molto interessante. Ho letteralmente graffiato la superficie dell’argomento in questo articolo e sta già diventando piuttosto lungo! Sono stati scritti interi libri e articoli su questioni alle quali ho solo dato una frase o due. Per tale motivo, prima di fare domanda per lavori di negoziazione di fondi quantitativi, è necessario svolgere una notevole quantità di studi di base. Per lo meno avrai bisogno di un vasto background in statistica ed econometria, con molta esperienza nell’implementazione, attraverso un linguaggio di programmazione come MATLAB, Python o R. Per strategie più sofisticate alla fine della frequenza più alta, è probabile che il tuo set di abilità includere la modifica del kernel Linux, C / C ++, la programmazione degli assembly e l’ottimizzazione della latenza di rete.

Se sei interessato a provare a creare le tue strategie di trading algoritmico, il mio primo suggerimento sarebbe quello di diventare bravo a programmare. La mia preferenza è quella di costruire da solo il maggior numero di raccoglitori di dati, backtester strategico e sistema di esecuzione. Se il tuo capitale è in pericolo, non dormiresti meglio la notte sapendo di aver testato completamente il tuo sistema e di essere consapevole delle sue insidie ​​e dei suoi problemi particolari? L’outsourcing di questo a un fornitore, sebbene potenzialmente risparmi tempo a breve termine, potrebbe essere estremamente costoso a lungo termine.

Si ringrazia: www.quantstart.com

Altre Nozioni di Trading

Autore

  • Massimiliano Biagetti

    Fondatore di Economia-italia.com, e Finanza.economia-italia.com è un divulgatore finanziario e trader.