I 5 migliori Libri di introduzione al Trading Algoritmico

Il trading algoritmico viene solitamente percepito dai principianti come una materia complicata con cui confrontarsi. Copre una vasta gamma di discipline, con alcuni aspetti che richiedono un grado significativo di maturità matematica e statistica. Di conseguenza, può essere estremamente scoraggiante per chi non è esperto in questi settori. In realtà, i concetti generali sono chiari da comprendere, mentre i dettagli possono essere appresi in modo iterativo e continuo.

 

Il vantaggio del trading algoritmico consiste nella possibilità testare le proprie capacità e conoscenze senza utilizzare denaro reale, dato che molti broker forniscono simulatori di mercato (demo) altamente realistici. Nonostante ci siano alcuni aspetti a cui fare attenzione, tali sistemi forniscono un ambiente per favorire una maggiore comprensione e verifica delle strategie, senza alcun rischio di capitale.

 

Una domanda comune è “Come posso iniziare con l’analisi quantitativa e il trading algoritmico?”. Ho già scritto una guida per principianti al trading quantitativo, ma un articolo non può sperare di coprire tutta la diversità di questa materia. Così ho deciso di scrivere questo articolo per raccomandare i miei libri preferiti relativi al trading quantitativo entry-level.

Il primo compito è ottenere una solida visione del soggetto. Ho trovato che sia molto più facile evitare pesanti dimostrazioni matematiche fino a quando le basi del tradingi algoritmico non siano state trattate e comprese. I migliori libri che ho trovato utili per tale scopo sono i seguenti:

  • Quantitative Trading di Ernest Chan – Questo è uno dei miei libri di finanza preferiti. Dr. Chan fornisce una grande panoramica del processo di creazione di un sistema di tradingi quantitativo “retail”, utilizzando MatLab o Excel. Rende il soggetto molto accessibile e dà l’impressione che “chiunque possa farlo”. Sebbene ci siano molti dettagli che vengono saltati (principalmente per brevità), il libro è un’ottima introduzione al funzionamento del trading algoritmico. Discute di generazione di alfa (“il modello di trading”), gestione del rischio, sistemi di esecuzione automatizzati e determinate strategie (in particolare il momentum e la reversione media). Questo libro è il punto di partenza.
  • Inside the Black Box di Rishi K. Narang – In questo libro il dottor Narang spiega in dettaglio come funziona un hedge fund quantitativo professionale. È destinato a un investitore esperto che sta valutando se investire in una “scatola nera” del genere. Nonostante l’apparente irrilevanza per un trader al dettaglio, il libro contiene in realtà una grande quantità di informazioni su come dovrebbe essere realizzato un “corretto” sistema di trading quantitativo. Ad esempio, vengono illustrati l’importanza dei costi di transazione e la gestione del rischio, con idee su dove cercare ulteriori informazioni. Molti algotrader al dettaglio dovrebbero analizzare le informazioni riportate in questo libero e approfondire come i ‘professionisti’ effettuano il loro trading.
  • Algorithmic Trading & DMA di Barry Johnson – La frase “trading algoritmico”, nel settore finanziario, si riferisce di solito agli algoritmi di esecuzione utilizzati da banche e broker per eseguire transazioni efficienti. Sto usando questo termine per includere non solo gli aspetti di esecuzione del trading, ma anche quelli di trading quantitativo o sistematico. Questo libro riguarda principalmente il primo, scritto da Barry Johnson, che è uno sviluppatore di software quantitativo presso una banca d’investimento. Questo significa che non è di alcuna utilità per il trader retail? Affatto. Possedere una comprensione più profonda di come funzionano gli exchange e della “microstruttura del mercato” può aiutare enormemente la redditività delle strategie di vendita al dettaglio. Nonostante sia un tomo pesante, vale la pena studiarlo.

 

Una volta che i concetti di base sono stati assimilati, è necessario iniziare a sviluppare una strategia di trading. Questo è solitamente noto come il componente del modello alfa di un sistema di trading. Le strategie sono semplici da trovare in questi giorni, tuttavia il vero valore viene nel determinare i propri parametri di trading tramite ricerche approfondite e backtesting. I seguenti libri illustrano alcuni tipi di sistemi di trading e di esecuzione, e come implementarli:

  • Algorithmic Trading di Ernest Chan – Questo è il secondo libro di Dr. Chan. Nel primo libro sono state introdotte le strategie di momentum, di  mean reversion e ad alcune strategie ad alta frequenza. Questo libro tratta in modo approfondito tali strategie e fornisce importanti dettagli di implementazione, anche se con maggiore complessità matematica rispetto (ad esempio filtri di Kalman, stazionarietà / cointegrazione, CADF ecc.). Le strategie, ancora una volta, fanno ampio uso di MatLab ma il codice può essere facilmente modificato in C ++, Python / panda o R, per chi ha esperienza con questi linguaggi di programmazione. Fornisce inoltre aggiornamenti sugli ultimi comportamenti del mercato, in quanto il primo libro è stato scritto qualche anno fa.
  • Trading and Exchanges di Larry Harris – Questo libro si concentra sulla microstruttura del mercato, che personalmente ritengo sia un’area essenziale da apprendere, anche nelle fasi iniziali del trading quantistico. La microstruttura del mercato è la “scienza” di come i partecipanti al mercato interagiscono e le dinamiche che si verificano nel book degli ordini. È strettamente correlato al modo in cui funzionano gli exchanges e a ciò che accade effettivamente quando viene effettuata una transazione. Questo libro parla meno delle strategie di trading in quanto tali, ma di altri aspetti di cui è necessario essere a conoscenza quando si progettano i sistemi di esecuzione. Molti professionisti nel settore della finanza quantistica considerano questo libro eccellente e anche io lo consiglio vivamente.

 

A questo punto, come trader al dettaglio, sarai in grado di iniziare ad approfondire le singole componenti di un sistema di trading, come il meccanismo di esecuzione (e la sua profonda relazione con i costi di transazione), la gestione del rischio e del portafoglio. Suggerirò alcuni libri per questi argomenti negli articoli successivi.

 

I Trader Algoritmici hanno Possibilità di Avere Successo a Livello Retail?

Tipicamente, un trader algoritmico principiante che opera a livello “retail” si interroga su come poter avere successo nel trading, dovendo competere con i grandi fondi quantistici istituzionali. In questo articolo vorrei sostenere che, a causa della natura del contesto normativo dove operano – come ad esempio, la struttura organizzativa e la necessità di mantenere le relazioni con gli investitori, i fondi soffrono di alcuni svantaggi che non riguardano i trader algoritmici al dettaglio.

 

I limiti di capitale e i vincoli normativi imposti ai fondi di investimento causano determinati e prevedibili comportamenti, che possono essere sfruttati da un operatore al dettaglio. “I grandi soldi” muovono i mercati, e come tale si possono inventare molte strategie per trarre vantaggio da tali movimenti. In futuro scriverò articoli su alcune di queste strategie. In questa fase vorrei evidenziare i vantaggi di cui gode un  trader algoritmico rispetto ai grandi fondi di investimento.

 

Vantaggi del Trading

Ci sono molti modi in cui un algo trader “retail” può competere con un fondo durante il processo di trading, ma ci sono anche alcuni svantaggi:

  • Capacità – Un operatore al dettaglio ha una maggiore libertà di operatività nei mercati più piccoli. Possono generare ritorni significativi in questi spazi, dove i fondi istituzionali non possono.
  • “Cavalcare” il trade – I fondi subiscono il “trasferimento di tecnologia”, dato che il turnover del personale può essere elevato. Gli accordi di non divulgazione e gli accordi di non competizione possono mitigare il problema, ma portano comunque molti fondi quantistici ad “inseguire lo stesso trade”. Il sentimento capriccioso degli investitori e la “prossima cosa calda” amplificano il problema. I trader al dettaglio non sono costretti a seguire le stesse strategie e quindi possono essere indipendenti dall’operatività dei fondi più grandi.
  • Impatto sul mercato – Quando si opera in mercati altamente liquidi e non-OTC, il basso capitale di conti “retail” riducono sostanzialmente l’impatto sul mercato.
  • Leverage – Un trader al dettaglio, a seconda della sua configurazione legale, è vincolato dalle normative sul margine / leva finanziaria. I fondi di investimento privati non soffrono dello stesso svantaggio, sebbene siano ugualmente soggetti a tale vincolo in una prospettiva di gestione del rischio.
  • Liquidità – Avere accesso a una brokerage prioritario è fuori dalla portata del trader algoritmico al dettaglio. Devono “arrangiarsi” con un intermediario al dettaglio come Interactive Brokers. Quindi, vi è un accesso ridotto alla liquidità in alcuni strumenti. Anche l’instradamento degli ordini “retail” è meno efficiente ed è una causa delle diffirenza delle prestazioni della strategia tra backtesting e live-trading.
  • Flusso di notizie dei clienti – Potenzialmente, il più importante svantaggio del trader al dettaglio è la mancanza di accesso al flusso di notizie prioritario tra un intermediario o istituto di credito e i loro clienti. I trader retail devono fare uso di fonti non tradizionali come gruppi di meetup, blog, forum e riviste finanziarie ad accesso pubblico.

 

Gestione del rischio

I trader algoritmici al dettaglio adottano spesso un approccio alla gestione del rischio diverso rispetto ai fondi quantitativi più grandi. Spesso è vantaggioso essere “piccoli e agili” nel contesto del rischio.

Fondamentalmente, non vi è alcun budget di gestione del rischio imposto al trader oltre a quello che decide di rischiare in completa autonomia, né esiste un reparto di compliance o risk management che imponga il controllo. Ciò consente al trader al dettaglio di implementare metodologie di modellazione del rischio personalizzate o preferite, senza la necessità di seguire “standard di settore” (un requisito implicito per gli investitori).

Tuttavia, l’argomento alternativo è che questa flessibilità può portare i trader al dettaglio a diventare “sciatti” con la gestione del rischio. Le politiche di gestione del rischio possono essere integrate nel processo di backtest e di esecuzione, senza ulteriori considerazioni date dall’analisi del portafoglio del rischio nel suo insieme. Sebbene il “pensiero profondo” possa essere applicato al modello alfa (strategia), la gestione del rischio potrebbe non raggiungere un simili livello di attenzione.

 

Relazioni con gli investitori

Gli investitori esterni sono la differenza fondamentale tra i trader al dettaglio e i grandi fondi. Ciò comporta una serie di problematiche e processi di gestioni per i fondi di investimento – problemi di cui i trader al dettaglio non devono preoccuparsi di:

  • Struttura retributiva – Nell’ambiente del trading “retail”, il trader è interessato solo al rendimento assoluto. Non ci sono limiti di budget da rispettare e nessuna regola di gestione del capitale da seguire. I trader al dettaglio sono anche in grado di seguire curve di equity più volatili poiché non ci sono investitori esterni che monitorano le prestazioni delle operazioni e che potrebbero riscattare il loro capitale dal fondo.
  • Regolamentazione e rendicontazione – Oltre alla tassazione, il trader al dettaglio ha pochissimi obblighi normativi in ​​materia di segnalazione. Inoltre, non è necessario fornire report sulle prestazioni mensili o “vestire” un portfolio prima che venga inviata una newsletter del cliente. Questo è un grande risparmio di tempo.
  • Confronto con benchmark – I fondi non devono confrontarsi solo con i loro pari, ma anche con “benchmark di settore”. Per un fondo azionario americano long-only, gli investitori vorranno vedere, ad esempio, rendimenti superiori all’S&P500. I trader al dettaglio non subisco la stessa pressione durante il confronto delle loro strategie con un benchmark.
  • Commissioni sulle performance – Lo svantaggio di gestire il proprio portafoglio come un operatore al dettaglio è la mancanza di ricevere le commissioni di gestione e di rendimento che i fondi di investimento applicano ai loro clienti.

 

Tecnologia

Un’area in cui il trader al dettaglio ha un vantaggio significativo è la scelta dello stack tecnologico per il suo sistema di trading. Il trader non solo può scegliere i “migliori strumenti di lavoro” che preferisce, ma non ha problemi di integrazione dei sistemi legacy o sulle politiche IT a livello di azienda. Inoltre i principali e più recenti  linguaggi di programmazione, come Python o R, hanno ha disposizione pacchetti per costruire un sistema end-to-end di backtesting, esecuzione, gestione del rischio e portfolio management con un numero di linee di codice molto inferiore (LOC) che potrebbe essere necessario in un linguaggio più dettagliato come C ++ .

 

Tuttavia, questa flessibilità ha un prezzo. Si deve costruire lo stack o esternalizzarlo (in tutto o in parte) ai fornitori software . Questo è costoso in termini di tempo, capitale o entrambi. Inoltre, un trader deve eseguire il debug di tutti gli aspetti del sistema di trading – un processo lungo e potenzialmente scrupoloso. Tutte le macchine di ricerca e tutti i server co-localizzati devono essere pagati direttamente dai profitti del trading poiché non ci sono commissioni di gestione per coprire le spese.

 

In conclusione, si può vedere che i trader al dettaglio hanno vantaggi comparativi significativi rispetto ai fondi più grandi. Potenzialmente, ci sono molti modi in cui questi vantaggi possono essere sfruttati. Gli articoli successivi discuteranno alcune strategie che fanno uso di queste differenze.

 

Guida introduttiva al trading algoritmico e quantitativo

In questo articolo ho intenzione di introdurre alcuni dei concetti base di un sistema di trading quantitativo.

Il trading quantitativo è un’area estremamente complessa della finanza quantistica. Può richiedere molto tempo per acquisire le conoscenze necessarie per costruire le proprie 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 trading, gli aspetti tecnologici diventano molto più rilevanti. Quindi avere familiarità con C / C ++ sarà di fondamentale importanza. Un sistema di trading quantitativo è costituito da quattro componenti principali:

  • Identificazione della strategia – Trovare una strategia, sfruttare un vantaggio e decidere la frequenza del trading; 
  • Backtesting della strategia – Acquisizione dei dati, analisi delle prestazioni della strategia e rimozione dei bias;
  • Sistema di esecuzione – Collegamento a una società di intermediazione o broker, automatizzando il trade e riducendo al minimo i costi di transazione;
  • Gestione del rischio – Assegnazione ottimale del capitale, “dimensionamento del trade” / criterio di Kelly e psicologia di trading;

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

 

Identificazione della Strategia

Tutti i processi del trading quantitativo iniziano con un periodo di ricerca. Questo processo di ricerca comprende la ricerca di una strategia, verificare se la strategia si inserisce in un portafoglio di altre strategie che sono già in esecuzione, ottenere tutti i dati necessari per testare la strategia e cercare di ottimizzare la strategia per avere rendimenti più elevati e / o un rischio inferiore. Sarà necessario tenere conto del proprio profilo patrimoniale nel caso si gestisce la strategia come operatore “al dettaglio” e considerare come i costi di transazione influiranno sulla strategia.

 

Contrariamente alla credenza popolare, in realtà è abbastanza semplice trovare strategie redditizie attraverso varie fonti pubbliche. Gli accademici pubblicano regolarmente risultati delle loro simulazioni di trading (anche se per lo più al lordo dei costi di transazione). I blog di finanza quantitativa discuto in dettaglio le strategie. Le riviste specializzate delineano alcune delle strategie utilizzate dai fondi.

 

Potreste chiedervi perché gli individui e le aziende sono desiderosi di condividere le loro strategie redditizie, specialmente quando sanno che la pubblicazione può impedire alla strategia di funzionare nel lungo termine. La ragione sta nel fatto che spesso non condividono i parametri esatti e i metodi usati per ottimizzare la strategia. Queste ottimizzazioni sono la chiave per trasformare una strategia relativamente mediocre in una molto redditizia. In effetti, uno dei modi migliori per creare le strategie uniche è trovare metodi simili e quindi eseguire una procedura di ottimizzazione.

Ecco una piccola lista di siti per iniziare a cercare nuove idee:

 

Molte delle strategie che troverete rientreranno nelle categorie di mean-reversion e trend-following / momentum. Una strategia di “mean reverting” tenta di sfruttare il principio della media a lungo termine su una “serie di prezzi” (come lo spread tra due asset correlati) e quindi le deviazioni a breve termine tendono a tornare verso la media. Una strategia di momentum tenta invece di sfruttare la psicologia degli investitori e dei grandi fondi strutturati, cercando di “cavalcare” il momentum del mercato, che può acquisire un impulso in una direzione e seguire il trend fino a quando non si inverte.

 

Un altro aspetto estremamente importante del trading quantitativo è la frequenza di trading. Il trading a bassa frequenza (LFT) si riferisce generalmente a qualsiasi strategia che tiene aperte posizioni per più di un giorno di negoziazione. Corrispondentemente, il trading ad alta frequenza (HFT) si riferisce generalmente a una strategia apre e chiude operazioni all’interno di un giorno. Il trading ad altissima frequenza (UHFT) si riferisce a strategie che effettuano operazioni nell’ordine di secondi e addirittura millisecondi. Per un professionista retail l’HFT e l’UHFT sono possibili e redditizi solamente tramite una conoscenza dettagliata dello “stack tecnologico” del trading e delle dinamiche dell’order book.

 

Una volta identificata una strategia o una serie di strategie, è necessario testare la redditività tramite i dati storici. Questo è il dominio del backtesting.

 

Backtesting della Strategia

L’obiettivo del backtesting consiste nel verificare che la strategia identificata tramite il processo appena descritto è proficua se applicata a dati sia storici che a dati “out-of-sample”. Questo stabilisce l’aspettativa di come la strategia si comporterà nel “mondo reale”. Tuttavia, per vari motivi, il backtesting NON è una garanzia di successo. È forse l’area più delicata sottile del trading quantitativo poiché comporta numerosi bias, che devono essere attentamente considerati e il più possibile eliminati. Discuteremo i tipi comuni di bias, tra cui bias previsionali, bias di sopravvivenza e bias di ottimizzazione (noto anche come bias “data-snooping”). Altre aree importanti nel backtesting comprendono la disponibilità e la pulizia dei dati storici, il factoring in  costi di transazione realistici e l’adozione su una solida piattaforma di backtesting. Discuteremo ulteriormente dei costi di transazione nella seguente sezione Sistemi di esecuzione.

 

Dopo aver identificato una strategia, è necessario ottenere i dati storici attraverso i quali effettuare i test e ottimizzare la strategia. Esiste un numero significativo di fornitori di dati per qualsiasi mercato desiderate operare. Generalmente i costi si adattano alla qualità, alla profondità e alla tempestività dei dati. Il tradizionale punto di partenza per i trader algoritmici principianti (almeno a livello retail) è utilizzare il set di dati gratuito di Yahoo Finance. Non mi dilungherò troppo sui fornitori qui, piuttosto mi piacerebbe concentrarmi sulle caratteristiche generali che deve assolutamente avere un set di dati storici.

 

Le caratteristiche principali dei set di dati storici includono accuratezza / pulizia, bias di sopravvivenza e aggiustamento delle azioni aziendali come dividendi e scissioni di azioni:

  • L’Accuratezza riguarda la qualità complessiva dei dati, indipendentemente dal fatto che contenga errori. Gli errori a volte possono essere facili da identificare, ad esempio con un filtro spike, che individuerà gli “spike” non corretti nei dati delle serie temporali e li correggeranno. Altre volte possono essere molto difficili da individuare. Spesso è necessario avere due o più provider e quindi controllare tutti i dati dell’uno con i dati del’altro.
  • Il Bias di sopravvivenza è spesso una “caratteristica” dei set di dati gratuiti o poco costosi. Un set di dati con bias di sopravvivenza non contiene gli asset che non vengono più scambiati. Nel caso dei titoli azionari, significa che non contiene le azioni delistate o in bancarotta. Questo pregiudizio significa che qualsiasi strategia di trading azionario testata su un set di dati di questo tipo avrà probabilmente prestazioni migliori rispetto al “mondo reale” in quanto i “vincitori” storici sono già stati preselezionati.
  • Le Azioni societarie comprendono le attività “logistiche” svolte dall’azienda che di solito causano un cambiamento del prezzo grezzo con andamento pari a una funzione a gradini. Tali attività non dovrebbero essere incluse nel calcolo della variazione del prezzo. Gli aggiustamenti per dividendi e le scissioni di azioni sono i principali colpevoli. È necessario eseguire un processo noto come back adjustment per ciascuna di queste azioni. Bisogna stare molto attenti a non confondere una divisione azionaria con un vero aggiustamento dei ritorni!

 

Per eseguire una procedura di backtest è necessario utilizzare una piattaforma software. Si può scegliere tra software dedicati, come Tradestation o Multicharts, 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 completo di tecnologie interne (per i motivi illustrati di seguito). Uno dei vantaggi di utilizzare uno stack interno consiste nell’elevata integrazione tra il software di backtesting e il sistema di esecuzione, e quindi avere la possibilità di implementare strategie statistiche estremamente avanzate. In particolare per le strategie HFT è essenziale utilizzare un’implementazione personalizzata.

 

Quando si esegue il backtest di un sistema, si deve essere in grado di quantificare le performance della strategia. Le metriche “standard del settore” per le strategie quantitative sono il massimo drawdown e il Sharpe Ratio. Il massimo drawdown rappresenta la perdita più elevata, cioè la discesa più elevata da “picco-a-valle” nella curva dell’equity in un particolare periodo di tempo (solitamente annuale). Questo numero è spesso rappresentato con notazione percentuale. Le strategie LFT tenderanno ad avere drawdown maggiori rispetto alle strategie HFT, a causa di una serie di fattori statistici. Un backtest storico mostrerà il massimo drawdown nel passato, che è un buon indicatore per le future prestazioni della strategia. La seconda misura è il Sharpe Ratio, che è definito euristicamente come la media dei rendimenti divisa per la deviazione standard di tali rendimenti. Qui, i rendimenti si riferiscono al ritorno della strategia al di sopra di un benchmark predeterminato, come l’S&P500 o un Treasury Bill trimestrale. Si noti che il rendimento annualizzato non è una misura solitamente utilizzata, in quanto non tiene conto della volatilità della strategia (diversamente dal Sharpe Ratio).

 

Una volta che una strategia è stata testata e ritenuta priva di bias (nella misura in cui ciò è possibile!), con un buon Sharpe e drawdown minimizzato, è tempo di costruire un sistema di esecuzione.

 

Sistema di Esecuzione

Un sistema di esecuzione è il mezzo con cui le azioni (comprare / vendere) generate dalla strategia sono inviate ed eseguite dal broker. Indipendemente dal fatto che la generazione del trade possa essere parzialmente o completamente automatizzata, il meccanismo di esecuzione può essere manuale, semi-manuale (cioè “one-click”) o completamente automatizzata. Per le strategie LFT, le tecniche manuali e semi-manuali sono le più comuni. Per le strategie HFT è necessario creare un meccanismo di esecuzione completamente automatizzato, che sarà spesso strettamente associato al generatore dei trade (a causa dell’interdipendenza tra strategia e tecnologia). 

Le principali caratteristiche di un sistema di esecuzione sono:

  • l’interfaccia con il broker;
  • la minimizzazione dei costi di transazione (compresa la commissione, lo slippage e lo spread);
  • la divergenza delle prestazioni del sistema live dalle prestazioni backtested;

 

Esistono molti modi per interfacciarsi con una società di intermediazione. Si va dal chiamare il broker tramite telefono fino ad un’interfaccia API (Application Programming Interface) ad alte prestazioni completamente automatizzata. Idealmente, l’obiettivo è automatizzare il più possibile l’esecuzione dei tuoi trade. Questo libera il tuo tempo per concentrarti su ulteriori ricerche e ti consente di eseguire più strategie simultaneamente o anche strategie con frequenza più elevata (in effetti, HFT è essenzialmente impossibile senza l’esecuzione automatica). I più comuni software di backtest descritti sopra, come MATLAB, Excel e Tradestation, sono validi per strategie a bassa frequenza, e quindi sono più semplici. Tuttavia sarà necessario sviluppare un sistema di esecuzione interno, scritto in un linguaggio ad alte prestazioni come il C ++, se si vuol operare in HFT. Come aneddoto, in un’azienda dove ho collaborato, si prevedeva un “ciclo di trading” di 10 minuti in cui si doveva scaricare i nuovi dati di mercato ogni 10 minuti e quindi eseguire operazioni basate su tali informazioni nello stesso arco di tempo. Per far questo ho sviluppato uno script Python ottimizzato. Per qualsiasi cosa si avvicini ai dati di frequenza al secondo, o di tick, credo che sarebbe più opportuno utilizzare C / C++.

 

Nei grandi fondi, l’algotrader non si occupa di ottimizzare l’esecuzione dei trade. Tuttavia, nelle piccole società o nelle i negozi più piccoli o nelle aziende di HFT, gli algotrader sono anche gli esecutori quindi è spesso auspicabile uno skillet molto più ampio. 

Le tue capacità di programmazione saranno altrettanto importanti, se non di più, delle tue statistiche e dei tuoi talenti di econometria!

 

Un altro importante problema che ricade nell’ambito del sistema di esecuzione è quello della minimizzazione dei costi di transazione. Ci sono generalmente tre componenti per i costi di transazione: le commissioni (o imposte), che sono le commissioni addebitate dall’intermediario, dall’exchange e dalla SEC (o un ente governativo simile); slippage, che è la differenza tra il prezzo a cui volevi comprare un asset rispetto al prezzo al quale il trade viene effettivamente eseguito; lo spread, che è la differenza tra il prezzo bid/ask del titolo oggetto del trade. Si noti che lo spread NON è costante e dipende dalla liquidità corrente (vale a dire la disponibilità di ordini di acquisto / vendita) sul mercato.

I costi di transazione possono fare la differenza tra una strategia estremamente redditizia con un buon Sharpe Ratio e una strategia estremamente non redditizia con un Sharpe Ratio terribile. Può essere molto difficile prevedere correttamente i costi di transazione tramite un backtest. A seconda della frequenza della strategia, sarà necessario accedere ai dati storici, che devono includere i dati di tick per i prezzi bid/ask. Per questi motivi i grandi fondi di investimento dedicano intere squadre di quants solamente ai processi di ottimizzazione dell’esecuzione. Si consideri, ad esempio, il caso in cui un fondo voglia chiudere una notevole quantitaà di posizioni (le ragioni per farlo sono molte e varie!). “Scaricando” così tante azioni sul mercato, esse deprimeranno rapidamente il prezzo e potrebbero non ottenere un’esecuzione ottimale. Quindi, nonostate gli algoritmi prevedano la gestione di ordini “drip feed” per uscire o entrare sui mercati, i grandi fondi corrono il rischio di slippage. Oltre a ciò, esistono strategie che “cacciano” queste situazioni e possono sfruttare queste inefficienze. Questo è il dominio dell’ fund structure arbitrage.

 

Infine il principale problema dei sistemi di esecuzione riguarda la divergenza delle prestazioni della strategia dalle prestazioni backtested. Questo può accadere per una serie di motivi. Abbiamo già discusso in precedenza del bias di previsione e l’ottimizzazione, prendendo in considerazione i test retrospettivi. Tuttavia, alcune strategie non permettono di testare facilmente questi bias prima della attiviazione della strategia nel mercato reale. Questo si verifica prevalentemente nel HFT. Inoltre potrebbero esserci dei bug nel sistema di esecuzione o nella stessa strategia di trading che non viene rilevato nella fase di backtesting ma si presenta nel live-trading. Il mercato potrebbe essere stato soggetto ad un cambio di regime dopo lo sviluppo della tua strategia. Nuovi contesti normativi, variazione del sentiment degli investitori e fenomeni macroeconomici possono portare a divergenze nel modo in cui il mercato si comportato fino a quel momento e quindi influenzare la redditività della tua strategia.

 

Gestione del Rischio

L’ultimo componente di un sistema di trading quantitativo è il processo di gestione del rischio. Il “Risk Management” include tutti i bias discussi in precedenza. Include il rischio della tecnologia, come la possibilità di malfunzionamenti nei server che ospitano il nostro sistema o nei server dell’exchange. Comprende il rischio di intermediazione, come ad esempio la bancarotta di un broker (non è uno scenario così improbabile, come è accaduto con MF Global!). Sinteticamente il “Rischio” comprende quasi tutto ciò che potrebbe interferire con l’implementazione dei nostri trading system, e sono molte le cause di queste interferenze. Moltissimi libri sono dedicati alla gestione del rischio per le strategie quantitative, quindi non rimando alla letteratura disponibile se si vuole approfondire questa tematica.

 

La gestione del rischio comprende anche ciò che è noto come allocazione ottimale del capitale, che è una branca della Gestione del Portafoglio. Quest’ultima descrive il modo in cui il capitale viene assegnato a un insieme di strategie diverse e ai singoli trade all’interno di tali strategie. È un’area complessa e si basa su una matematica non banale. L’approccio standard con cui viene gestito il capitale e il levarege delle strategie è il criterio di Kelly. Dato che questo è un articolo introduttivo, non mi dilungherò sulle formule che lo compongono. Il criterio di Kelly fa alcune ipotesi sulla natura statistica dei rendimenti, che non sono del tutto validi per i mercati finanziari, quindi gli algotrader sono spesso prudenti quando si tratta dell’implementazione di questo criterio.

 

Un altro componente chiave della gestione del rischio è la gestione emotiva e psicologica. Ci sono molti bias cognitivi che possono insinuarsi nel trading. Anche se questo è meno problematico con il trading algoritmico se il sistema viene lasciato lavorare senza interruzioni una volta che è stato avviato! Un bias comune è quello dell’avversione alla perdita, in cui una posizione perdente non viene chiusa a causa del dolore provocato dal dover realizzare una perdita. Allo stesso modo, i profitti possono essere presi troppo presto nel timore di perdere un profitto già guadagnato. Un altro bias comune è noto come recency bias. Questo si manifesta quando i trader mettono troppa enfasi sugli eventi recenti e trascurano la visione a lungo termine. Poi, naturalmente, ci sono i classici bias emotivi: come la paura e l’avidità. Questi possono spesso portare a un leverage eccessivo o troppo ridotto, che può causare un blow-up (cioè la liquidazione di tutte le posizione e, addirittura, la chiusura del conto) o una notevole riduzione dei profitti.

 

Conclusione

Come si può ben intuire, il trading algoritmico e quantitativo è un settore estremamente complesso, anche se molto interessante, della finanza quantitativa. In questo articolo ho solamente sfiorato la superficie dell’argomento, e sta già diventando piuttosto lungo! Sono stati scritti interi libri e documenti su questioni a cui ho dedicato solamente una o due frasi. Per questo motivo, prima di andare live con sistemi di trading quantitativo, è necessario prevedere un significativo periodo di studio. Per lo meno avrai bisogno di un ampio background in statistica ed econometria, con molta esperienza nella programmazione, attraverso un linguaggio di programmazione come MATLAB, Python o R.

Per strategie più sofisticate per approcci HFT è inoltre necessario un set di competenze in aspetti come la modifica del kernel Linux, conoscenza avanzata del C / C ++, programmazione assembler e ottimizzazione della latenza della rete.

 

Se sei interessato a provare a creare le tue strategie di trading algoritmiche, il mio primo suggerimento è sicuramente quello di diventare un bravo programmatore. Inoltre dovrai implementare, il più possibile personalmente (o almeno conoscere ogni singolo aspetto funzionale e tecnico) il processo di acquisizione dati, le strategie di backtester e il sistema di esecuzione.

Dato che stai facendo trading con il tuo capitale, non dormiresti meglio la notte sapendo che hai completamente testato il tuo sistema e sei consapevole delle sue insidie e dei possibili problemi? L’esternalizzazione a un fornitore, se potenzialmente permette di risparmiare tempo nel breve termine, potrebbe essere estremamente costoso nel lungo termine.

 

Derivazione dell’Equazione di Black-Scholes

trading-algoritmico-calcolo-stocastico

Ora che abbiamo derivato il Lemma di Ito , siamo in grado di derivare l’equazione di Black-Scholes.

Supponiamo di voler valutare un credito contingente europeo vanilla \(C\), su un asset variabile nel tempo \(S\), che maturerà a \(T\). Assumeremo che \(S\) segua un moto browniano geometrico con tasso di crescita medio di \(\mu\) e volatilità \(\sigma\). \(r\) rappresenterà il tasso di interesse privo di rischio a capitalizzazione continua. \(r\), \(\mu\) e \(\sigma\) non sono funzioni del tempo, \(t\) o del prezzo dell’asset \(S\) e quindi sono fissi per la durata dell’opzione.

Poiché il nostro prezzo dell’opzione, \(C\), è una funzione del tempo \(t\) e del prezzo dell’asset \(S\), useremo la notazione \(C = C(S, t)\) per rappresentare il prezzo dell’opzione. Notare che in questa fase stiamo assumendo che \(C\) esista e sia ben definito. In seguito dimostreremo che questa è un’affermazione giustificata.

Il primo passo è utilizzare il Lemma di Ito sulla funzione \(C(S, t)\) per darci un SDE:

\(\begin{eqnarray} dC = \frac{\partial C}{\partial t} dt + \frac{\partial C}{\partial S} (S,t) dS + \frac{1}{2}\frac{\partial^2 C}{\partial S^2}(S,t)dS^2 \end{eqnarray}\)

Il nostro prezzo dell’asset è modellato da un moto browniano geometrico, la cui espressione è qui richiamata. Nota che \(\mu\) e \(\sigma\) sono costanti, cioè non funzioni di \(S\) o \(t\):

\(\begin{eqnarray*} dS(t) = \mu S(t)dt + \sigma S(t) dX(t) \end{eqnarray*}\)

Possiamo sostituire questa espressione nel Lemma di Ito per ottenere:

\(\begin{eqnarray*} dC = \left(\frac{\partial C}{\partial t} (S,t) + \mu S \frac{\partial C}{\partial S} (S,t) + \frac{1}{2} \sigma^2 S^2 \frac{\partial^2 C}{\partial S^2}(S,t)\right)dt + \sigma S \frac{\partial C}{\partial S} (S,t) dX \end{eqnarray*}\)

Il fulcro del nostro argomento di derivazione sarà essenzialmente quello di affermare che un portafoglio completamente coperto, eliminati tutti i rischi, crescerà al tasso privo di rischio. Pertanto, dobbiamo determinare come cambia il nostro portafoglio nel tempo. Nello specifico, siamo interessati alla variazione infinitesimale di una combinazione di un’opzione call e una quantità di asset. La quantità sarà indicata con \(\Delta\). Quindi:

\(\begin{eqnarray*} d(C+\Delta S) = \left(\frac{\partial C}{\partial t} (S,t) + \mu S \frac{\partial C}{\partial S} (S,t) + \frac{1}{2} \sigma^2 S^2 \frac{\partial^2 C}{\partial S^2}(S,t) + \Delta \mu S\right) dt + \Delta S \left(\frac{\partial C}{\partial S}+\Delta\right) dX \end{eqnarray*}\)

Questo ci porta a scegliere \(\Delta\) che eliminerà il termine associato alla casualità. Se impostiamo \(\Delta = -\frac {\partial C} {\partial S} (S, t) \) riceviamo:

\(\begin{eqnarray*} d(C+\Delta S) = \left(\frac{\partial C}{\partial t}(S,t) + \frac{1}{2} \sigma^2 S^2 \frac{\partial^2 C}{\partial S^2}(S,t)\right)dt \end{eqnarray*}\)

Si noti che abbiamo sorvolato sulla questione di quale sia la derivata di \(\Delta\). Torneremo su questo più tardi.

Questa tecnica è nota come Delta-Hedging e ci fornisce un portafoglio privo di casualità. È così che possiamo applicare l’argomento secondo cui dovrebbe crescere al tasso privo di rischio, altrimenti, come con i nostri argomenti precedenti, avremmo un’opportunità di arbitraggio. Pertanto, il tasso di crescita del nostro portafoglio con copertura delta deve essere uguale al tasso privo di rischio a capitalizzazione continua, \(r\). Possiamo quindi affermare che:

\(\begin{eqnarray*} \frac{\partial C}{\partial t}(S,t) + \frac{1}{2} \sigma^2 S^2 \frac{\partial^2 C}{\partial S^2}(S,t) = r\left(C-S\frac{\partial C}{\partial S}\right) \end{eqnarray*}\)

Se riorganizziamo questa equazione e usando la notazione abbreviata per eliminare la dipendenza da \((S, t)\) arriviamo alla famosa equazione di Black-Scholes per il valore della nostra affermazione contingente:

\(\begin{eqnarray*} \frac{\partial C}{\partial t} + rS\frac{\partial C}{\partial S}+\frac{1}{2} \sigma^2 S^2 \frac{\partial^2 C}{\partial S^2} – rC = 0 \end{eqnarray*}\)

Sebbene abbiamo derivato l’equazione, non possediamo ancora condizioni sufficienti per fornire una soluzione unica. L’equazione è un’equazione differenziale parziale lineare (PDE) del secondo ordine e senza condizioni al contorno (come una funzione di payoff per la nostra affermazione contingente), non saremo in grado di risolverla.

Una funzione di payoff che possiamo utilizzare è quella di un’opzione call europea coniata a \(K\). Ha una funzione di guadagno alla scadenza, \(T\), di:

\(\begin{eqnarray*} C(S,T)=\max(S-K,0) \end{eqnarray*}\)

Siamo ora in grado di risolvere l’equazione di Black-Scholes.

Il Lemma di Ito

trading-algoritmico-calcolo-stocastico

l Lemma di Ito è una componente chiave nell’Ito Calculus, utilizzato per determinare la derivata di una funzione dipendente dal tempo di un processo stocastico. Svolge il ruolo della regola della catena in un contesto stocastico, analogo alla regola della catena nel calcolo differenziale ordinario. Il Lemma di Ito è una pietra angolare della finanza quantitativa ed è intrinseco alla derivazione dell’equazione di Black-Scholes per i prezzi dei crediti contingenti (opzioni).

È necessario comprendere i concetti di moto browniano , equazioni differenziali stocastiche e moto browniano geometrico prima di procedere.

La regola della catena

Uno degli strumenti fondamentali del calcolo ordinario è la regola della catena. Consente il calcolo della derivata della composizione funzionale concatenata. Formalmente, se \(W(t)\) è una funzione continua e:

\(\begin{eqnarray*} d W(t) = \mu (W(t),t) dt \end{eqnarray*}\)

Quindi la regola della catena afferma:

\(\begin{eqnarray*} d(f(W(t))) = f'(W(t)) \mu (W(t), t) dt \end{eqnarray*}\)

Quando \(f\) ha anche \(t\) come diretto parametro dipendente, sono necessari termini aggiuntivi e derivate parziali. In questo caso, la regola della catena è data da:

\(\begin{eqnarray*} d(f(W(t),t)) = \left(\frac{\partial f}{\partial w}(W(t),t) \mu(W(t), t) + \frac{\partial f}{\partial t}(W(t),t)\right) dt \end{eqnarray*}\)

Al fine di modellare correttamente una distribuzione del prezzo di un’attività in modo log-normale, verrà utilizzata una versione stocastica della regola della catena per risolvere un’equazione differenziale stocastica che rappresenta il moto browniano geometrico.

Il compito principale è ora quello di estendere correttamente la versione di calcolo ordinario della regola della catena per essere in grado di far fronte a variabili casuali.

Lemma di Ito

Teorema (Lemma di Ito)

Sia \(B(t)\) un moto browniano e \(W(t)\) un processo Ito di diffusione di deriva che soddisfa l’equazione differenziale stocastica:

\(\begin{eqnarray*} dW(t) = \mu(W(t),t)dt + \sigma(W(t),t)dB(t) \end{eqnarray*}\)

Se \(f(w, t) \in C^2(\mathbb{R}^2,\mathbb{R})\) allora \(f(W(t), t)\) è anche un processo  di diffusione della deriva di Ito, con il suo differenziale dato da:

\(\begin{eqnarray*} d(f(W(t),t)) = \frac{\partial f}{\partial t}(W(t),t)dt + f'(W(t),t)dW + \frac{1}{2}f”(W(t),t)dW(t)^2 \end{eqnarray*}\)

Con \(dW(t)^2\) dato da: \(dt ^ 2 = 0\), \(dt dB (t) = 0 \) e \( dB (t) ^ 2 = dt \).

Moto Browniano Geometrico

trading-algoritmico-calcolo-stocastico

Il modello usuale per l’evoluzione temporale del prezzo di un asset \(S(t)\) è dato dal moto browniano geometrico, rappresentato dalla seguente equazione differenziale stocastica:

\(\begin{eqnarray*} dS(t) = \mu S(t) dt + \sigma S(t) dB(t) \end{eqnarray*}\)

Notare che i coefficienti \(\mu\) e \(\sigma\), che rappresentano rispettivamente la deriva e la volatilità dell’asset, sono entrambi costanti in questo modello. In modelli più sofisticati possono essere fatti per essere funzioni di \(t\), \(S(t)\) e altri processi stocastici.

La soluzione \(S(t)\) può essere trovata applicando il Lemma di Ito all’equazione differenziale stocastica.

Dividendo per \(S(t)\) nell’equazione precedente si ottiene:

\(\begin{eqnarray*} \frac{dS(t)}{S(t)} = \mu dt + \sigma dB(t) \end{eqnarray*}\)

Si noti che il lato sinistro di questa equazione è simile alla derivata di \(\log S (t)\). Applicando il Lemma di Ito a \(\log S(t)\) si ottiene:

\(\begin{eqnarray*} d(log S(t)) = (log S(t))’ \mu S(t) dt + (log S(t))’ \sigma S(t) dB(t) + \frac{1}{2}(log S(t))” \sigma^2 S(t)^2 dt \end{eqnarray*}\)

Questo diventa:

\(\begin{eqnarray*} d(log S(t)) = \mu dt + \sigma dB(t) – \frac{1}{2}\sigma^2 dt = \left(\mu – \frac{1}{2} \sigma^2 \right)dt + \sigma dB(t) \end{eqnarray*}\)

Questo è un processo di Ito di diffusione della deriva. È un moto browniano standard con un termine di deriva. Poiché la formula precedente è semplicemente una scorciatoia per una formula integrale, possiamo scriverla come

\(\begin{eqnarray*} log(S(t)) – log(S(0)) = \left(\mu – \frac{1}{2} \sigma^2 \right)t + \sigma B(t) \end{eqnarray*}\)

Infine, prendendo l’esponenziale di questa equazione si ottiene:

\(\begin{eqnarray*} S(t) = S(0) \exp \left(\left(\mu – \frac{1}{2}\sigma^2\right)t + \sigma B(t)\right) \end{eqnarray*}\)

Questa è la soluzione dell’equazione differenziale stocastica. Infatti è una delle poche soluzioni analitiche ottenibili dalle equazioni differenziali stocastiche.

Equazioni differenziali stocastiche

trading-algoritmico-calcolo-stocastico

Il precedente articolo sul moto browniano e il processo Wiener ha introdotto il moto browniano standard, come mezzo per modellare i percorsi dei prezzi degli asset. Tuttavia, un moto browniano standard ha una probabilità di essere negativo diversa da zero. Questa non è chiaramente una proprietà condivisa da asset del mondo reale: i prezzi delle azioni non possono essere inferiori a zero. Quindi, sebbene la natura stocastica di un moto browniano per il nostro modello debba essere mantenuta, è necessario regolare esattamente come viene distribuita quella casualità. In particolare, verrà ora introdotto il concetto di moto browniano geometrico (GBM), che risolverà il problema dei prezzi azionari negativi.

Tuttavia, prima di considerare il moto browniano geometrico, è necessario discutere il concetto di equazione differenziale stocastica (SDE). Questo ci permetterà di formulare il GBM e risolverlo per ottenere una funzione per il percorso del prezzo dell’asset.

Equazioni differenziali stocastiche

Ora che abbiamo definito il moto browniano, possiamo utilizzarlo come elemento base per iniziare a costruire equazioni differenziali stocastiche (SDE). Abbiamo bisogno delle SDE per descrivere come si comportano le funzioni \(f=f(S)\) e le loro derivate rispetto a \(S\), dove \(S\) è il prezzo di un titolo azionario  determinato da un moto browniano.

Alcune delle regole del calcolo ordinario non funzionano come previsto in un mondo stocastico. Dobbiamo modificarli per tenere conto sia del comportamento casuale del moto browniano sia della sua natura non differenziabile. Inizieremo discutendo degli integrali stocastici, che ci condurranno in modo naturale al concetto delle SDE.

Definizione (integrale stocastico)
Un integrale stocastico della funzione \(f = f(t)\) è una funzione \(W = W(t)\), \( t \in[0, T] \) data da:

\(\begin{eqnarray*} W(t) = \int^t_0 f(s) dB(s) = \lim_{n\rightarrow \infty} \sum_{k=1}^N f(t_{k-1})\left(B(t_k)-B(t_{k-1})\right) \end{eqnarray*}\)

dove \(t_k = \frac{kt}{N}\).

Da notare che la funzione \(f\) non è anticipante, nel senso che indipendente dalla storia futura del processo di Wiener,  Ciò significa che non ha informazioni sui valori della variabile casuale in \(X(t_k)\). Supponendo che \(f\) rappresentasse un’allocazione di portafoglio basata su \(B\), se non fosse valutata a \(t_{k-1}\), ma piuttosto a \(t_k\), saremmo in grado di anticipare il futuro e modificare il portafoglio di conseguenza.

L’espressione precedente fornita per $ W (t) $ è un’espressione integrale e quindi è ben definita per una variabile non differenziabile, $ B (t) $, a causa della proprietà di finitezza, nonché della media e della varianza scelte. Tuttavia, desideriamo poterlo scrivere in forma differenziale:

\(\begin{eqnarray*} dW = f(t)dB \end{eqnarray*}\)

Va sottolineato che questa è una notazione abbreviata per la forma integrale. Infatti, per dividere \(dB\) sarebbe necessaria la definizione di \(\frac{dW} {dB}\) – un operatore differenziale su una funzione non regolare \(W\).

Si può considerare il termine \(dB\) come una variabile casuale distribuita normalmente con media zero e varianza \(dt\).
La definizione formale è la seguente:

Definizione (equazione differenziale stocastica)
Sia \(B(t)\) un moto browniano. Se \(W(t)\) è una sequenza di variabili casuali, tale che per tutti i \(t\),

\(\begin{eqnarray*} W(t+\delta t)-W(t)-\delta t \mu (t, W(t)) – \sigma(t, B(t)) (B(t+\delta t)-B(t)) \end{eqnarray*}\)

è una variabile casuale con media e varianza che sono \(o(\delta t)\), quindi:

\(\begin{eqnarray*} d W = \mu(t, W(t)) dt + \sigma(t, W(t)) dB \end{eqnarray*}\)

è un’equazione differenziale stocastica per \(W(t)\).

Quindi una data sequenza di variabili casuali, da quanto sopra, è chiamata processo di diffusione di deriva Ito , o semplicemente processo Ito o processo stocastico .

Si può vedere che \(\mu\) e \(\sigma\) sono entrambe funzioni di \(t\) e \(W\). \(\mu\) ha l’interpretazione di un coefficiente di deriva non stocastico , mentre \(\sigma\) rappresenta il coefficiente di volatilità – è moltiplicato per il termine \(dB\) stocastico. Quindi, le equazioni differenziali stocastiche hanno sia una componente non stocastica che una componente stocastica.

Nel prossimo articolo sul moto browniano geometrico , verrà utilizzata un’equazione differenziale stocastica per modellare i movimenti dei prezzi degli asset.

Moto browniano e processo Wiener

trading-algoritmico-calcolo-stocastico

Abbiamo già descritto la logica per il calcolo stocastico per quanto riguarda la finanza quantitativa. Sono inoltre state definite le proprietà di Markov e di Martingale. In entrambi gli articoli è stato affermato che il moto browniano avrebbe fornito un modello per il percorso del prezzo di un asset nel tempo. In questo articolo verrà definito formalmente il moto browniano e verrà spiegato il suo analogo matematico, il processo di Wiener. Verrà dimostrato che un movimento browniano standard è insufficiente per i movimenti dei prezzi degli asset e che è necessario un movimento browniano geometrico.

Nella discussione precedente sulle proprietà Markov e Martingala, è stato effettuato un esperimento discreto del lancio della moneta, con un numero arbitrario di fasi temporali. L’obiettivo attuale è lavorare verso una random walk a tempo continuo, che fornirà un modello più sofisticato per il prezzo degli asset, che è variabile nel tempo. Per ottenere ciò, sarà necessario aumentare il numero di fasi temporali. Tuttavia, l’aumento di questo numero deve avvenire in un modo specifico, in modo da evitare un risultato senza senso (infinito).

Si considera un intervallo di tempo reale continuo \([0, T]\), con \(T> 0\). In questo intervallo verranno effettuati \(N\) lanci di monete, ciascuno dei quali richiede un tempo \(T / N\) e quindi sono equidistanti. Allo stesso tempo, il risultato restituito da ogni lancio di moneta verrà modificato. La sequenza di variabili casuali discrete che rappresentano il lancio della moneta è \( Z_i \in \{- 1,1\}\). È possibile definire un’ulteriore sequenza di variabili casuali discrete, \(\tilde {Z} _i \in \{\sqrt{T / N}, – \sqrt{T / N} \} \). La definizione di una tale sequenza di DRV viene utilizzata per fornire una variazione quadratica molto specifica del lancio della moneta.

La variazione quadratica di una sequenza di DRV è definita semplicemente come la somma delle differenze al quadrato dei termini attuali e precedenti:

\(\begin{eqnarray*} \sum^i_{k=1}\left(S_k-S_{k-1}\right)^2 \end{eqnarray*}\)

Per \(Z_i\), la precedente sequenza di variabili casuali di lancio della moneta, la variazione quadratica è data da:

\(\begin{eqnarray*} \sum^i_{k=1}\left(S_k-S_{k-1}\right)^2 = i \end{eqnarray*}\)

Per \(\tilde {Z} _i\), la variazione quadratica delle somme parziali \(\tilde {S}_i\) è:

\(\begin{eqnarray*} \sum^N_{k=1}\left(\tilde{S}_k-\tilde{S}_{k-1}\right)^2 = N \times \left(\sqrt{\frac{T}{N}}\right)^2 = T \end{eqnarray*}\)

Quindi, per costruzione, la variazione quadratica del lancio modificato della moneta \(\tilde{Z}_i\) è semplicemente la durata totale di tutti i lanci, \(T\).

È importante notare che entrambe le proprietà di Markov e di Martingale vengono mantenute da \( \tilde{Z}_i\). Poiché \(N\rightarrow \infty\), la random walk del lancio della moneta non diverge. Se il valore dell’asset al tempo \(t\), con \(t\in[0, T]\), è dato da \(S(t)\), allora la sua aspettativa condizionale alla fine dell’intervallo, dato che \(S(0) = 0 \), è \(\mathbb{E}(S(T))=0\) con una varianza di \(\mathbb{E}(S(T)^2) = T\).

Sebbene i dettagli tecnici non saranno discussi, poiché il numero di passaggi \( N \) diventa infinito, si ottiene il processo di Wiener, più comunemente chiamato moto browniano standard , che sarà indicato con \(B (t)\). Formalmente, la definizione è data da:

Definizione (processo di Wiener / moto browniano standard)
Una sequenza di variabili casuali \(B(t)\) è un moto browniano se \(B(0) = 0\), e per tutti i \( t, s \) tali che \( s <t\), \(B(t) – B(s)\) è normalmente distribuito con varianza \(ts\)  e la distribuzione di \(B(t) – B(s)\) è indipendente da \(B(r)\) per \( r \leq s \) .

Proprietà del moto browniano

Il moto browniano standard ha alcune proprietà interessanti. In particolare:

  • I moti browniani sono finiti . La costruzione di \(\tilde{Z}_i\) è stata scelta con cura in modo che nel limite di \(N\) grande, \(B\) sia finito che diverso da zero.
  • I moti browniani hanno variazioni illimitate . Ciò significa che se il segno di tutti i gradienti negativi fosse cambiato in positivo, \(B\) raggiungerebbe l’infinito in un periodo di tempo arbitrariamente breve.
  • I moti browniani sono continui . Sebbene i moti browniani siano continui ovunque, non sono differenziabili da nessuna parte. Essenzialmente questo significa che un moto browniano ha una geometria frattale. Ciò ha importanti implicazioni per quanto riguarda la scelta dei metodi di calcolo quando i moti browniani devono essere manipolati.
  • I moti browniani soddisfano sia le proprietà di Markov che di Martingala. La distribuzione condizionale di \(B(t)\), data l’informazione fino a \(s<t\) dipende solo da \(B(s)\) e, data informazione fino a \(s<t\), l’aspettativa condizionale di \(B(t)\) è \(B(s)\).
  • I moti browniani sono fortemente distribuiti normalmente . Ciò significa che, per \(s<t\), \(s, t \in[0, T]\), \(B(t) – B(s)\) è normalmente distribuita con media zero e varianza \(ts\).

Da notare che l’ultima proprietà NON è la stessa di avere B(t) normalmente distribuito con media zero e varianza t – questa è una proprietà più debole.

I moti browniani sono una componente fondamentale nella costruzione di equazioni differenziali stocastiche , che alla fine consentiranno la derivazione della famosa equazione di Black-Scholes per i prezzi dei crediti contingenti.

Le proprietà di Markov e Martingale

trading-algoritmico-calcolo-stocastico

Per definire formalmente il concetto di moto browniano e utilizzarlo come base per un modello dei prezzi degli asset, è necessario definire le proprietà di Markov e di Martingale. Queste forniscono un’intuizione su come si comporterà il prezzo di un asset nel tempo.

La proprietà di Markov afferma essenzialmente che un processo stocastico “non ha memoria”, cioè la distribuzione di probabilità condizionata degli stati futuri del processo è indipendente da qualsiasi stato precedente, ad eccezione dello stato corrente. La proprietà di Martingale afferma che l’aspettativa futura di un processo stocastico è uguale al valore corrente, date tutte le informazioni note sugli eventi precedenti.

Entrambe queste proprietà sono estremamente importanti nella modellazione dei movimenti dei prezzi degli asset.

La proprietà di Markov

Un modo sensato per introdurre la proprietà di Markov è attraverso una sequenza di variabili casuali \(Z_i\), che può assumere uno dei due valori dell’insieme \(\{1, -1 \}\). Questo è noto come lancio di una moneta. Possiamo calcolare le aspettative di \(Z_i\):

\(\begin{eqnarray*} \mathbb{E}(Z_i) = 0, \mathbb{E}(Z_i^2) = 1, \mathbb{E}(Z_i Z_k) = 0 \end{eqnarray*}\)

Il punto chiave è che l’ aspettativa di \(Z_i\) non ha alcuna dipendenza da alcun valore precedente all’interno della sequenza . Prendiamo le somme parziali delle nostre variabili casuali all’interno del lancio della moneta, che indicheremo con \(S_i\):

\(\begin{eqnarray*} S_i = \sum^i_{k=1} Z_i \end{eqnarray*}\)

Possiamo ora calcolare le aspettative delle nostre somme parziali, utilizzando la linearità dell’operatore aspettativa:

\(\begin{eqnarray*} \mathbb{E}(S_i) = 0, \mathbb{E}(S_i^2)= \mathbb{E}(Z_1^2 + 2 Z_1 Z_2 + …) = i \end{eqnarray*}\)

Vediamo che, ancora una volta, non c’è dipendenza dall’aspettativa di \(S_i\) con qualsiasi valore precedente all’interno della sequenza di somme parziali. Possiamo estenderlo per discutere l’ aspettativa condizionale . L’aspettativa condizionata è l’aspettativa di una variabile casuale rispetto a una certa distribuzione di probabilità condizionata. Quindi, possiamo chiedere che se \(i = 4\) (cioè eseguiamo quattro lanci di monete), cosa significa questo per l’aspettativa di \(S_5\)?

\(\begin{eqnarray*} \mathbb{E}(S_5 | Z_1, Z_2, Z_3 , Z_4) = S_4 \end{eqnarray*}\)

Cioè, il valore atteso di \(S_i\) dipende solo dal valore precedente \(S_{i-1}\), non da alcun valore precedente a quello. Questo è noto come proprietà di Markov. In sostanza, non c’è memoria di eventi passati oltre il punto in cui si trova attualmente la nostra variabile all’interno della sequenza. Quasi tutti i modelli finanziari discussi in questi articoli possederanno la proprietà di Markov.

La proprietà di Martingale

Una proprietà aggiuntiva che vale per la nostra sequenza di somme parziali è la proprietà di Martingale. Questa proprietà afferma che l’aspettativa condizionale della sequenza di somme parziali, \(S_i\) è semplicemente il valore corrente:

\(\begin{eqnarray*} \mathbb{E}(S_i | S_k, k<i) = S_k \end{eqnarray*}\)

In sostanza, la proprietà martingala garantisce che in un “gioco leale”, la conoscenza del passato non sarà di alcuna utilità per prevedere le vincite future.

Queste proprietà saranno di fondamentale importanza per la definizione del moto browniano, che verrà successivamente utilizzato come modello per un percorso dei prezzi degli asset.

Introduzione al Calcolo Stocastico

trading-algoritmico-calcolo-stocastico

Il calcolo stocastico è l’area della matematica che si occupa dei processi contenenti una componente stocastica e consente quindi la modellazione di sistemi casuali. Molti processi stocastici si basano su funzioni continue, ma in non differenziabili in nessun punto. Quindi si esclude le equazioni differenziali che richiedono l’uso di termini derivati, poiché non possono essere definiti su funzioni non uniformi. Invece, è necessaria una teoria dell’integrazione dove le equazioni integrali non necessitano della diretta definizione in termini derivativi. Nella finanza quantitativa, la teoria è nota come Ito Calculus .

L’uso principale del calcolo stocastico in finanza è attraverso la modellazione del movimento casuale del prezzo di un’attività nel modello di Black-Scholes. Il processo fisico del moto browniano (in particolare, un moto browniano geometrico ) viene utilizzato come modello dei prezzi degli asset, tramite il processo Weiner . Questo processo è rappresentato da un’equazione differenziale stocastica , che nonostante il suo nome, è in realtà un’equazione integrale.

Il modello binomiale fornisce un mezzo per derivare l’equazione di Black-Scholes. Uno strumento fondamentale di calcolo stocastico, noto come Lemma di Ito, permette di derivazione alternativa dell’equazione. Il Lemma di Ito è l’analogo stocastico della regola della catena nel calcolo ordinario. La differenza fondamentale tra il calcolo stocastico e il calcolo ordinario è che il calcolo stocastico consente alla derivata di avere una componente casuale determinata da un moto browniano. La derivata di una variabile casuale ha sia una componente deterministica che una componente casuale, che ha una distribuzione normale.

Negli articoli successivi utilizzeremo la teoria del calcolo stocastico per derivare la formula di Black-Scholes. Per questo dobbiamo presumere che il prezzo del nostro asset non sarà mai negativo. Un asset come un titolo azionario ha sempre questa proprietà. In questo caso un moto browniano standard non può essere utilizzato come modello qui, poiché esiste una probabilità diversa da zero che il prezzo diventi negativo. Viene invece utilizzato un moto browniano geometrico, dove il logaritmo del prezzo delle azioni ha un comportamento stocastico.

Si crea un’equazione differenziale stocastica per il movimento del prezzo di un asset e la si risolve per ricavare il percorso del prezzo dell’asset. Al fine di valutare il nostro credito contingente, noteremo che il prezzo del credito dipende dal prezzo dell’attività e che mediante una costruzione intelligente di un portafoglio di crediti e beni, elimineremo le componenti stocastiche mediante la cancellazione. Possiamo quindi finalmente utilizzare un argomento senza arbitraggio per valutare un’opzione call europea tramite l’equazione derivata di Black-Scholes.