Premessa
Per quanto riguarda le applicazioni specifiche di metodi statistici e probabilistici alla finanza quantitativa,uno strumento indispensabile è il concetto di processo aleatorio( stocastico).
Che cos' è un processo stocastico?
E' una collezione di variabili aleatorie è un insieme ordinato di funzioni reali di un certo parametro che di solito è identificato con il tempo. Esistono molti tipi di processi studiati, che vengono applicati in contesti diversi,come lo studio di serie storiche, quello dei fenomeni fisici come il moto browniano o i processi connessi ad applicazioni termodinamiche. Per quanto riguarda le applicazioni alla finanza, i processi stocastici sono importanti perché ci consento di modellizzare l'andamento di fenomeni di interesse, come i prezzi, le quantità scambiabili ecc. E' possibile modellizzare queste quantità attraverso il concetto di processo aleatorio.
Strategia di trading
E' il caso più semplice di processo stocastico, cioè il caso di quando andiamo a testare una strategia di trading. La strategia di trading è un insieme di regole (algoritmo) prefissate per la compravendita di uno strumento finanziario.
Quali sono i strumenti principali finanziari che ci interessano ?
- Stock → azione
- Futures → Contratto a termine standardizzato con il quale le parti si impegnano a scambiare una certa attività (finanziaria o reale) a un prezzo prefissato e con liquidazione differita a una data futura.
- ETF → è l’acronimo di Exchange Traded Fund, un termine con il quale si identifica una particolare tipologia di fondo d’investimento o Sicav con due principali caratteristiche:
- Stockoptions → Strumento finanziario derivato attribuito da una società ai propri dipendenti, generalmente dirigenti, che conferisce loro il diritto di acquistare a un determinato prezzo di convenienza azioni della società stessa entro un termine stabilito.
- Futureoptions → si intende quel particolare tipo di contratto che conferisce al possessore il diritto, ma non l'obbligo di acquistare o vendere il titolo sul quale l'opzione stessa è iscritta, in questo caso il sottostante è un future.
Il nostro strumento finanziario lo possiamo vedere come una traiettoria nel tempo, cioè come un processo stocastico(aleatorio) che è parametrizzato rispetto al tempo, che ad un certo istante assumerà un certo valore P(t). Rappresenta appunto il prezzo dello strumento finanziario in un certo istante.
Una volta definita la nostra strategia di trading( set rules buy/sell) andiamo a testarla:
i tipi di Test sono :
1) fatti con i dati del passato(CSV o DBMS) → Back Test
2) fatti dati simulati, creare un processo aleatorio,non dati più letti in CSV o DBMS, ma generati al pc.
3) test fatti con dati che arrivano in tempo reale→ ForwardTesting e spesso con transazioni simulate → Paper Trading
Dal punto di vista della modellizzazione del prezzo, quando andiamo a simulare una sequenza di prezzi, è necessario considerare le due sequenze più o meno parallele :
- La sequenza di BID è la sequenza di ASK
- In qualunque stock exchange per qualunque strumento finanziario, abbiamo sempre due prezzi quello BID e quello ASK
- Per definizione il prezzo ASK è quello che noi applichiamo quando compriamo un certo strumento finanziario. Prezzo applicato agli acquisti(Buy)
- Per definizione il prezzo BID se allo stesso tempo c'è una persona che sta vendendo lo stesso strumento finanziario, è il prezzo applicato alle vendite(Sell).
- Lo Spread cioè la differenza di prezzo tra il prezzo ASK e il prezzo BID che è sempre positiva.
Il prezzo si muove su intervalli definiti di tempo, le transazioni sono eventi discreti, causano movimenti nella curva di prezzi indicizzati in intervalli discreti, quindi immaginiamo che il prezzo vari in intervalli discreti. La nostra non è una curva continua, il prezzo varia con salti finiti.
- La minima variazione di prezzo di uno strumento finanziario viene chiamato Tick
- La minima variazione di prezzo nel mercato dei cambi viene chiamato PIP
- Non solo abbiamo uno spazio degli indici(del tempo) discreto ma anche lo spazio degli stati cioè i valori che possono essere assunti.
- Ad ogni istante le nostre curve sono costituite da gradini pari all'incremento minimo di prezzo.
- Nella microstructure vedremo plottati degli scalini.
- Nella macrostructure cioè quando andremo a plottare su ampi spazi temporali non vedremo più una curva a scalini, la nostra curva ci apparirà più regolare e sembrerà continua.
Noi ci interessa la generazione di processi aleatori:
Quindi abbiamo
1) Spazio del tempo → discreto
2) Spazio degli stati → discreto
3) due curve di prezzi con spread aleatorio e con incremento da un tempo all'altro pari a Tick
Quindi a noi ci arriva una sequenza di variabili aleatorie indicizzate su uno spazio di tempi discreti. Noi abbiamo un flusso di dati derivanti dallo stock exchange del tipo ti(BIDi,ASKi).
Abbiamo una serie di regole e andiamo a plottare gli ordini secondo la nostra strategia, le nostre compravendite sono l' insieme di punti sulle nostre curve. Il profitto risulterà dall'opportuno conteggio dei profitti e perdite dovuti a questi ordini. La formula del profitto sarà:
Profitto = Q(Sell - Buy) con Q intesa come quantità che ho acquistato e venduto.
Pofit & Loss(PNL) → dalla composizione di questi ordini si genererà una serie di profitti o perdite.
Cioè parallelamente alla strategia, immaginiamo un altro processo aleatorio che ci dice come sta andando il nostro profitto e perdite, perché ad ogni ordine corrisponderà una variazione della curva dei profitti e perdita.
Dal punto di vista statistico e della modellizzazione a noi interessa:
1) Generazione delle curve dei prezzi con il relativo spread
2) applicazione di una strategia
3) calcolo del PNL e altri parametri di interesse
Il PNL = 𝑓(ordini e prezzi correnti) funzione degli ordini e dei prezzi correnti.
Considerando con Ps = prezzo sell e con Pb = prezzo buy otteniamo con Q la rispettiva quantità.
Profitto(+) = Q( Ps - Pb)
loss(-) = Q( Ps - Pb)
I futures o le future options hanno associato un moltiplicatore che non è altro che un numero che va a modificare la grandezza :
MQ( Ps - Pb)
E' la formula con cui calcolo il mio PNL relativo ad una semplice compravendita con una quantità uguale per i due ordini Buy e Sell.
Nella realtà le quantità e le sequenze di Buy e Sell posso essere diverse! Si parla di profitti Unrealized e Realized :
Unrealized → quando siamo nella curva BID e il prezzo sale noi abbiamo un ipotetico realizzo o perdita
Realized → quando realmente abbiamo realizzato un profitto o una perdita
Posso vedere il mio PNL = Realized + Unrealized.
Quindi vogliamo simulare i dati che arrivano da uno Stock Exchange o se vengolo dal passato(CSV,DBMS) cioè una :
sequenza di tempi e un prezzo BID e un prezzoprezzo, ti(BIDi,ASKi) .
Possiamo utilizzare un processo di bernoulli per andare a generare questa salto uguale al Tick che può essere verso l'alto o verso il basso. Noi possiamo immaginare di generare per esempio la BiD e otteniamo l'ASK sommando lo Spread che potrà essere aleatorio. Cioè noi partiamo da Pi al tempo ti e noi al tempo ti+1 avremmo un prezzo Pi+1 che dipende alla variazione di prezzo che è data dalla variazione positiva o negativa del Tick. Poi il prezzo in questo caso della ASK la otteniamo come somma del Prezzo BID più lo spread.
l'oggetto Random → è una funzionalità base che serve a generare numeri (pseudo) casuali nell'intervallo compreso tra zero e uno. Otteniamo un numero compreso tra (0,1) con distribuzione uniforme continua in (0,1)
Il metodo Next Double → ci rilascia questo valore u ∈ (0,1) compresa tra 0 e 1. Quindi il nostro punto di partenza grazie all'oggetto random è l'uniforme continua. Noi vogliamo passare da un uniforme continua ad una bernoulliana che assume valori {0,1} cioè o zero o 1 .
Ripartiamo l'intervallo {0,1} in due parti proporzionali a P e 1-P(cioè le rispettive probabilità)
Se u cade nell'intervallo lungo P assocerò 1 se invece cade su 1 - P assocerò zero.
Questo è un esempio di Random Walk(passeggiata aleatoria) Bernoulliana, dove a partire da un perto P0 il punto di origine come asse delle ordinate, e corrispettivamente come asse del tempo quello delle ascisse t0, andiamo ad effettuare un salto la cui identità può essere + - 1 cioè un Tick(incremento minimo del prezzo) quindi salti unitari, indipendenti cioè ciascun incremento generato indipendetemente da quello accaduto nel passato. Inoltre tutti questi incrementi appartengono tutti alla stessa distribuzione che è la Bernoulli con il parametro P:
- Incrementi IID e identicamente distribuiti cioè di incrementi stazionari.
- Questo processo appena visto è una sequenza di variabili aleatorie, questa Randow Walk è :
- Definita nel tempo discreto