giovedì 21 maggio 2015

Modelli per la generazione di serie storiche

RANDOM WALK

La passeggiata aleatoria, è il modello base utilizzato per descrivere i movimenti dei prezzi azionari nei principali modelli di gestione del rischio. È una successione di variabili aleatorie con uguale distribuzione di probabilità e indipendenti l'una dall'altra.

Un esempio elementare di una passeggiata aleatoria semplice è la  distribuzione di Bernoulli che assume il valore 1 con probabilità p ( un passo verso destra) e -1 con probabilità 1 - p (un passo verso sinistra) ad ogni passo. Un semplice, discreta, piedi unidimensionale senza pregiudizi la stessa probabilità di andare a destra che a sinistra, vale a dire p = 0,5 .

Se sono fatti N realizzazioni, allora abbiamo una distribuzione binomiale:

La distribuzione di probabilità è:
P(k)\ =\ P(X_1+X_2+\ldots+X_n=k)\ =\ {n \choose k} p^k q^{n - k}


MOTO BROWNIANO

Un processo casuale che descrive il comportamento di alcune variabili casuali lo spostamento nel tempo. Questo processo è spesso usato in modelli finanziari per descrivere l'evoluzione dei prezzi nel tempo. Quando viene applicato ai prezzi, moto browniano presuppone che il passaggio da un periodo all'altro non sono associati con il livello di prezzi oppure a serie storiche delle variazioni dei prezzi. Cioè, ogni variazione di prezzo è indipendente dalle variazioni di prezzo del passato e la volatilità delle variazioni dei prezzi è costante. 
In molte indagini simulazione geometrico browniano movimento viene utilizzato per calcolare le probabilità di perdita dopo un certo tempo T, se siete dei titoli che sono i prezzi processi indipendenti o correlate. 






TRASFORMAZIONE DI BOX-MULLER


È un metodo per generare coppie di numeri casuali indipendenti e distribuiti gaussianamente con media nulla e varianza uno.
La trasformazione viene comunemente espressa in due forme. La forma principale è quella del lavoro originale: si campionano due numeri dalla distribuzione uniforme sull'intervallo (0,1] e si ricavano due numeri distribuiti normalmente. La forma polare campiona due numeri su un intervallo differente ([-1,+1]) e permette di ricavare due numeri distribuiti normalmente senza l'uso delle funzioni seno e coseno.
FORMA BASE 

Siano U_1 e U_2 due variabili aleatorie indipendenti ed uniformemente distribuite nell'intervallo (0,1]. Sia
 Z_0 = R \cos(\Theta) =\sqrt{-2 \ln U_1} \cos(2 \pi U_2) 
e
Z_1 = R \sin(\Theta) = \sqrt{-2 \ln U_1} \sin(2 \pi U_2).
Allora Z0 e Z1 sono variabili aleatorie indipendenti con distribuzione normale di deviazione standard unitaria.
La dimostrazione è basata sul fatto che, in un sistema cartesiano bidimensionale nel quale le coordinate X e Y sono descritte da due variabili casuali indipendenti normalmente distribuite, le variabili casuali R2 e \Theta nelle corrispondenti coordinate polari sono a loro volta indipendenti e possono essere espresse comeR^2 = -2\cdot\ln U_1  e \Theta = 2\pi U_2.

Strategie di Trading

TECNICHE DI TRADING A MARTINGALA

La Martingala è un metodo utilizzato in tutti i campi, dalla matematica al gioco d’azzardo, e anche nel trading online.
La verità è che il metodo della Martingala è molto semplice, e dal punto di vista della logica, ineccepibile. Talmente ineccepibile che a qualche trader è balzato in mente di implementarlo e traslarlo nell’universo del trading. Le tecniche derivanti dalla Martingala hanno riscosso un certo successo ma sono ancora oggi al centro di accese discussioni.
Il metodo Martingala è una sfida al caso. Lo è non tanto per una questione di basse probabilità, ma proprio perché – almeno in linea teorica – si propone di sconfiggere il caso stesso. Il principio che sta alla base è che prima o poi il caso volgerà a nostro favore, e quando ciò accadrà riusciremo a recuperare quanto abbiamo perso fino a quel momento.
Il metodo consiste nel puntare sempre su un dato evento e raddoppiare la posta in gioco ad ogni puntata. Un esemipo banale è il caso del “testa o croce”, in cui il metodo Martingala consisterebbe quindi nel puntare sempre su testa (o sempre su croce) investendo prima 1 euro, poi 2 euro, 4 euro, 8 euro e così via. In questo sarebbero sufficienti poche vincite per compensare gli investimenti persi.
Uno dei pro delle tecniche a Martingala è rappresentato dall’estrema semplicità. D’altronde, è possibile utilizzarle anche quando si gioca a “testa o croce”, dunque non ci possono essere dubbi in termini di accessibilità.
Un altro pro è che ha dalla sua la logica, oltre che la teoria. Il trader ha il 50% di probabilità di fallire la posizione, ma anche il 50% di andare a segno. Prima o poi, e questo per la legge dei grandi numeri, la fortuna volgerà a suo favore, e quando ciò accadrà il profitto ricompenserà tutte le perdite.
Ovviamente, ci sono anche dei contro rilevanti.
In primo luogo, la Martingala implica una mancanza di controllo da parte del trader. Questi non ha il polso della situazione per il semplice fatto che a muovere la sua mano non è un analisi del mercato o una strategia redatta sulla scorta di qualche indicatore, ma la semplice logica del 50% di probabilità.
Da qui, il corollario: la Martingala potrebbe non funzionare. Questo in teoria dovrebbe fare parte del gioco, ma quando si parla di questo gioco il rischio è di perdere un mucchio di soldi, se la posizione vincente non si verifica.

STRATEGIA DI HEDGING (COPERTURA)

Con il termine di hedging si fa riferimento, in ambito finanziario, ad una strategia d’investimento fatta per ridurre il profilo di rischio di un investimento mediante l’utilizzo di strumenti derivati quali:  opzioni put e call, che sono strumenti derivati in base al quale l’acquirente dell’opzione acquista il diritto, ma non l’obbligo, rispettivamente di vendere o comprare un titolo a un dato prezzo d’esercizio; vendite allo scoperto, che sono operazioni finanziari consistenti nella vendita, effettuata nei confronti di uno o più soggetti terzi, di titoli non direttamente posseduti dal venditore; contratti future e forward. L’utilizzo di questi strumenti consente di ridurre la volatilità di un portafoglio riducendo di conseguenza la possibilità di perdite. Una strategia di hedging consente inoltre di assicurarsi una performance predeterminata anche in presenza di movimenti di mercato opposti a quelli previsti.

Ad esempio, si pensi ad un investitore che possiede un portafoglio diversificato di azioni e che decide di coprirsi dal rischio di ribasso acquistando opzioni Put sull'indice azionario (questa strategia e' nota come portfolio insurance strategy). In questo caso l'investitore beneficia di un rialzo del mercato in quanto possiede le azioni e perde fino ad un massimo pari al premio pagato se il mercato azionario scende. Se si volesse effettuare una copertura tramite futures il risultato sarebbe la "sterilizzazione" sia dei guadagni che delle perdite. In questo caso pero' la strategia non comporta alcuna perdita a priori in quanto nessun premio deve essere pagato. 

Fonti: http://it.wikipedia.org/

Misure di Performance


SHARPE RATIO




Il risultato della formula non è espresso in termini percentuali, bensì assoluti ed un numero positivo esprime il buon esito dell’investimento alternativo, mentre un risultato negativo ne sancisce il fallimento.



In sintesi, in un determinato periodo considerato, quanto più è elevato il valore dell’indicatore Sharpe ratio, tanto più il rendimento dell’investimento è stato ottenuto con minore rischiosità, cioè con una bassa deviazione standard dei rendimenti, cioè con un andamento meno altalenante dei profitti dell’investimento.


Sharpe ratio applicato ai trading system:


Relativamente ad una strategia di trading come un trading system, assumiamo Rrf = 0 e l’indice Sharpe misura il rapporto tra il profitto netto e la deviazione standard



Ad esempio uno Sharp ratio = 0.6 indica che per ogni sei dollari di profitto, il rischio è di perdere 10 dollari in media.



SORTINO


Il Sortino è una misura di performance aggiustata per il rischio che misura l'extra-rendimento di un portafoglio rispetto al rendimento minimo accettabile in relazione al downside risk associato al portafoglio.



L'Indice di Sortino (dal nome dell'economista che ha introdotto tale misura per la prima volta) è un indicatore di risk adjusted performance che misura l'extra-rendimento, rispetto al tasso risk free oppure rispetto al tasso di rendimento minimo accettabile (minimum acceptable return, MAR), di un certo portafoglio per unità di rischio intendendo quest'ultimo come possibilità di conseguire una differenza negativa rispetto al tasso risk free (o anche rispetto al rendimento minimo accettabile).
dove Rp rappresenta il rendimento medio del portafoglio gestito, Rf rappresenta il rendimento medio di un'attività risk free e DSR downside risk. 
A sua volta il DSR è calcolato come:
Tale indicatore è simile all'Indice di Sharpe e all'Indice di Treynor, ma ne differisce per due motivi:
1) l'extra-rendimento può essere calcolato rispetto a un tasso di rendimento minimo accettabile definito dall'investitore;
2) il concetto di rischio considerato si riferisce unicamente alla possibilità di conseguire un extra-rendimento negativo, mentre non si considerano i casi i cui l'extra rendimento è positivo.
La preferenza è per le attività che presentano un valore più elevato dell'indice di Sortino.

STRATEGIA DI TRADING


  • Per prima cosa dobbiamo creare una serie storica tramite passeggiata aleatoria dei prezzi, utilizzando dei dati pseudocasuali legati attraverso una distribuzione uniforme nell'intervallo [0,1]. Il delta (tick) assume il valore 10.

  • Costruzione media mobile e deviazione standard della serie storica creata nel punto precedente.
  • Confronto il prezzo con gli estremi superiore e inferiore rispettivamente. Se il prezzo è maggiore dell'estremo superiore (sup) avrò un punto di sell, altrimenti, se il prezzo è minore dell'estremo inferiore (inf), avrò un punto di buy.
          Nota Bene:
          PrezzoIniziale=100
          BudgetIniziale=1000

  • Assegno tutti i punti, creati precedentemente, alle rispettive liste.


  • Calcolo il profitto ( prezzoSell-prezzoBuy)

























  • Calcolo indice di performance ( ho utilizzato l'indice di Sharpe):
  • Output:
Serie Storica e Buy-Sell:
Profitto:

Indice di Sharpe:


VETTORIZZAZIONE DEGLI ELEMENTI DALLA MATRICE

Consideriamo:

  • una matrice 10x10 contenente tutti i prodotti (indice_riga x indice_colonna).
  • un vettore di dimensione uguale a 100
  • un vettore di dimensione uguale a 55

Obiettivo:

  1. Copiare i dati della matrice in un vettore, utilizzando esclusivamente un solo ciclo for.
  2. Copiare solamente i dati della matrice al di sotto della diagonale principale(compresa) e inserirli in un vettore, utilizzando le pairing function.
Codice VB-NET:














Output: