domenica 22 giugno 2014

Sell in may and go away if you have no other way: the CSS statistic


Le anomalie periodiche hanno sempre catalizzato l'interesse degli accademici; L'unica, ad essere snobbata o liquidata al massimo con poche righe è "Sell in may & go away". Un paio di esempi:

pdf1     pdf2


Provo a colmare la lacuna, ribaltando diametralmente alcune conclusioni; una su tutte: è molto più anomalia questa che il celebrato "effetto gennaio".

Diamo inizialmente un'occhiata ai volumi. I volumi di maggio presentano la tendenza ad essere inferiori rispetto ai volumi di aprile. Il fenomeno è evidente calcolando  il delta% t/t-1 e cumulandolo. Possiamo vederlo in due diversi modi abbastanta intuitivi


Tuttavia, se osserviamo la media dei volumi di maggio, con la media mensile dei volumi (dal 1950), scopriamo che maggio è un mese assolutamente normale in valore assoluto.
 
                               stats        volume S&p500          volume may

        mean(millions of shares)  767.6259                800.1083


nb: tutte le statistiche sono state effettuate utilizzando lo Standard&Poors 500

Detto ciò, poichè di questo "sell in may and go away" lo sento praticamente da sempre,  faccio una cosa banale.

Isolo i rendimenti di ogni singolo mese ed indago su possibili fenomeni di dipendenza seriale. La prima indagine consiste nello scoprire evidenza di "long range dependence" o memoria di lungo periodo. E' un fenomeno importante e largamente discusso in ambito accademico poichè inficia esplicitamente l'impossibilità di arbitraggio in un mercato efficiente. Leggimi

Utilizzo inizialmente un test a firma Andrew Lo (1991)  modified rescaled range ((R/S, "range over standard deviation")  che non è altro che il classico R/S test di Hurst (1951), quello usato per scoprire ciclicità nelle piene del fiume Nilo, aggiustato per essere meno sensibile ai valori più recenti.

I risultati li vedete nel primo grafico* e, maggio, sembrerebbe essere il mese che conserva più memoria tra i 12 costituents dell'anno. Il valore si avvicina al livello critico e questo mi spinge ad affinare i metodi di indagine.

*nb :" actual_month" vs " earlier month" - (nel caso in esame maggio vs aprile)

Passo alla Cosine Self Similarity, una sorta di fattore di autocorrelazione(ad un ritardo in questp test) dinamico. L'algoritmo è molto veloce e comodo e, usato tramite EWMA, consente di indagare sul decadimento della persistenza (memoria, similarità col passato etc..etc.etc.) utlizzando vari fattori di smoothing. Sembra complicato ma realmente non lo è; non faccio altro che misurare se maggio attuale è "simile" all'aprile appena passato, scivolando lungo lo scorrere degli anni.

Per evidenziare quando "maggio" sia anomalo, anticipo la fine di questo pseudo giallo di terza categoria; la CSS_Statistic misurata sui dodici mesi (dopo vedremo la formula, razionale)

guardate il "numero" di maggio rispetto al "numero" degli altri mesi...e fate le proporzioni.








Come si giunge a quel numero evidenziato e che si discosta in maniera così sensibile dagli altri; plottiamo ll'autosimilarità di coseno relativa a maggio.

Il fattore di smoothing per la Exponential Weighted Moving Average(EWMA)  utilizzato è 0.97, un classico per osservazioni mensili.

Le righe orizzontali tratteggiate evidenziano la significatività statistica della misura ,sopra(o sotto) tali bande abbiamo memoria nella serie temporale (in mezzo la relazione è debole). Lo "zero" separa i valori positivi da quelli negativi, il "carattere" della serie temporale. Valori prossimi a 1 decretano una serie che tende a replicare il comportamento passato. Valori prossimi a  -1 evidenziano una serie che tende a fare il contrario di quanto fatto in passato.



La maggioranza dei valori è >0 e la maggioranza dei valori >0  è > del livello di significatività statistica - EWMA decay factor= 0.97


il fattore di decadimento è importante, decide la sensibilità ai valori più recenti della nostra stima. Importante è quindi indagare su come cambiano i risultati spostando l'incidenza dei pesi (EWMA-> media mobile esponenziale pesata) ->guardami

Indago sul comportamento da un valore di smoothing iniziale di 0.97 e scalando fino a 0.49
"mean"= media della misurazione        "cv" = coefficiente di variazione della misurazione
i valori medi rimangono piuttosto elevati e il coefficiente di variazione aumenta con l'aumentare della sensibilità della stima (come è lecito aspettarsi) senza scarti eccessivi.


Poichè mi interessa indagare su "una persistenza"  presente in una finestra ampia, ripeto la stima con fattore di smoothing 0.97 su tutti i mesi dell'anno, ognuno di essi confrontato con il proprio comportamento passato.

ottengo
ucv99,ucv975,ucv95 etc..= upper critical value at statsig%
maggio, con un valore medio di 0.26, mostra memoria (nb:di trend osservato sino alla più recente osservazione passata) con una significatività statistica compresa tra il 97.5% e 99%, quindi molto alta. E' un valore riferito tuttavia, alla media della misurazione effettuata con esponenziale pesata.

La CSS statistic , per evidenziare la memoria di lungo-medio e corto termine è data da:

la media della stima di cosine self similarity ottenuta tramite ewma con fattore di decadimento lambda(0.97 in questo caso) diviso il coefficiente di variazione di detta stima onde ottenere una misura quanto più possibile impermeabile agli outliers ed alla varianza che rappresentano un vero e proprio bias nelle misure di autocorrelazione generiche.

calcoliamola per utti i mesi dell'anno e rivediamo quello 0.187 evidenziato precedentemente in giallo che cade tra il 90% e il 95% di significatività statistica


tutta questa pappardella sopra per dire che (sperando che ancora qualcuno non sia svenuto per la noia)?

Maggio è un mese singolare: presenta la forte propensione ad avere un comportamento simile all'aprile appena passato.
 Anno dopo anno. Ha una memoria spiccata direi e, quando c'è memoria, una semplice media mobile garantisce risultanti eccellenti (fino al sopraggiungere dell'arteriosclerosi seriale..che funziona come negli uomini...ti ricordi perfettamente quello che facevi 30anni fa ma scordi dove hai messo la dentiera prima di andare a dormire)

 Tale memoria è assolutamente anomala rispetto a quanto rilevato per  rimanenti undici mesi dell'anno (coppie) e pur non potendo escludere quel pernicioso fenomeno del data snooping (essendomi limitato alle sole osservazioni mensili dello S&P500 che sono circa 65 per ogni mese, 774 in totale) , conoscendo la correlazione positiva del "mondo" verso lo SPX sono abbastanza confidente che un fenomeno simile si sia trasmesso agli indici più liquidi da almeno 15 anni a questa parte.

La CSS Statistic serve solo a questo? In effetti sì, in pratica no; vediamo un utilizzo diverso e divertente

La CSS Statistic vs Ponzi scheme


Le misure canoniche per l'evidenza di una "memoria" nelle serie storiche hanno dei limiti. Non possono dirci "quanto" questa memoria è artificiale.


otteniamo, su osservazioni mensili:

Il Farfield Sentry "presentava" una spiccata memoria di lungo termine..e come non avrebbe potuto aggiungo io?Il problema è che, pur mostrando un valore significativo, >2.098 non ho altre informazioni. Deduco quello che hanno dedotto prima del fallimento i tanti istituzionali che hanno infilato questo rendimento costante in portafoglio senza farsi troppe domande. Bastava comprarlo per guadagnare.

Vediamo come si muove la cosine self similarity ad un ritardo; plottiamola stimata con fattore di smoothing 0.97 e test di significatività statistica al 99%


Non c'è dubbio; questa "è" manna caduta dal cielo..c'è tanta, tanta memoria persistente.  (La memoria degli ultimi sottoscrittori a vantaggio dei primi, tipico schema piramidale)

Calcoliamo la CSS Statistic e riflettiamo sulla sua formulazone.

"Cosine Self Similarity (ewma df 0.97) / coefficient of variation"





il valore è circa 22 volte il limite di significatività statistica al 99%. Per costruzione la statistica ha un numeratore che varia da -1 a 1 ed un denominatore composto dalla deviazione standard della stima diviso la media in modulo.  Un valore cosi alto viene fuori solamente se il coefficiente di variazione presenta una sproporzione enorme tra numeratore(deviazione standard) e denominatore (media). E questa sproporzione, che rendeva il fondo simile ad una costante di rendimento, una macchina stampa soldi, difficilmente la possiamo osservare su serie estratte da dati finanziari(generico). Ergo, diffidate di valori anomali e indagate ulteriormente con tutti i mezzi a disposizione.

nb: la statistica è ancora in fase di studio per delimitarne matematicamente il range di significatività. Sono ben accetti suggerimenti, critiche,commenti, osservazioni costruttive.

ps: un grazie a Paolo Einaudi che ha pescato al volo una mia leggerezza di programmazione. Sapere che ci legge un VERO programmatore è un bel conforto, credetemi. Grazie ancora Paolo!

lunedì 16 giugno 2014

Bubbles&Antibubbles: Black Swans, Dragon Kings and Flying Donkeys

Da Nassim N. Taleb a Diedier Sornette, sembra che le catastrofi debbano necessariamente essere associate ad animali (reali o di fantasia)

Noi non siamo da meno e ci inseriamo in questa corsa per il titolo di miglior menagramo a dorso di somaro. Spavaldi.

Taleb e Sornette ultimamente se le danno di santa ragione (guardami). Visioni assolutamente contrapposte con il primo che cavalca la l'impossibilità di predirre Eventi realmente estremi ed il secondo che presenta modelli (piuttosto confusi invero..almeno per me) per catturare in tempo lo scoppio delle bolle finanziarie e gestirle.  Black Swans & Dragon Kings, e' guerra


Nessuno dei due eminenti studiosi cita gli asini che volano, animali che si presentano al culmine delle bolle,  quando si crede pervicacemente di aver scoperto la macchina dei soldi a moto perpetuo  (non consuma energia perfino).


Gli asini che volano sono gli animali più pericolosi in finanza;  quando si crede ad essi le probabilità di veder disattese le proprie aspettive sono altissime.

Gli asini che volano non sono belli come cigni ne maestosi come draghi( "d" minuscola...) ma guai a sottovalutarli.

Descriviamo gli "asini che volano":

  1. pre 1987 crash: tutti si convinsero che bastava mettere i soldi in borsa per fare "più" soldi. Con le IPO in special modo il retail (e con takeovers in special modo le società quotate). Asini che volano leggimi
  2. pre 2000 crash: tutti si convinsero che bastava mettere soldi in borsa per fare più "soldi"(again...). Con le Dot-com in special modo, neonate stampatrici di bigliettoni alimentate a bytes. Asini che volano leggimi
  3. pre 2007 crash: tutti si convinsero che bastava chiedere soldi alle banche per acquistare casa o metterli in borsa....per fare più soldi (mercato mobiliare e immobiliare in crescita apparentemente irrefrenabile). Asini che volano leggimi
Differenza sostanziale tra "bolla" e "cigno nero"; nel primo caso si assiste ad una sorta di schema Ponzi spontaneo, dove gli ultimi (quelli che credono agli asini che volano) sono certamente i più penalizzati dal successivo "scoppio". Nel secondo caso, tutti sono democraticamente penalizzati.

I volumi esplodono "ex ante" nelle bolle e "ex post" nei cigni neri.


Le bolle vedono crescita di volumi e sottostante e forse sono "avvertibili". Ha ragione Sornette imho.

I cigni neri vedono crescita di volumi(panico) e decrescita del sottostante, solitamente gran parte del movimento è molto rapido (esempio di rapidità il flash crash del 6 maggio 2010) e non sono, per i comuni mortali prevedibili (escludiamo qualche "non comune" insider). Ha ragione Taleb imho.



Come identificare gli asini volanti

Stante il ragionamento sopra ho pensato che nelle bolle, volumi e sottostante debbano necessariamente crescere insieme e in maniera "anomala" , con probabili fenomeni di autocorrelazione seriale. Nel grafico che segue "MeanGrowth" è la crescita media di indice e volumi e "fit" è la tendenza media di questa crescita comune (nell'esempio utilizzo dati dello SPX)



isoliamo la crescita media di logvolumi e logprezzo ed il fitting per vederlo meglio



se andiamo a misurare la deviazione standard tra la curva che rappresenta la crescita "prezzo&volumi" ed il fitting della stessa, che dovrebbe rappresentare il valore fisiologico rilevato sul passato otteniamo



seguendo il ragionamento precedente, ovvero che le bolle si creano quando prezzi e volumi crescono insieme ed in maniera anomala, condiziono la deviazione standard cui sopra ad assumere valore=0 quando la crescita media è sotto il valore di fitting (ovvero quando o cresce il prezzo ma non i volumi o quando crescono i volumi ma non il prezzo) ottenendo:



evidenziando la deviazione standard misurata quando la crescita di "volumi & prezzo" si allontana dalla media puntando verso l'alto.

faccio la stessa cosa ma evidenziando la deviazione standard misurata durante l'allontamento verso il basso

Poi mi toccherà essere noioso..(come al solito)


musica noiosa


Ho normalizzato la deviazione standard dal fitting. La distribuzione dei due "lati" si presenta come una variabile debolmente stazionaria a distribuzione gaussiana, con le comode peculiarità che sono state evidenziate qui

ottengo infatti:


e gli asini che volano, mettendomi prossimo alle bande che evidenziano i limiti della distribuzione di probabilità (vicino a +\- 0.2) sono , con questa metodologia rudimentale, abbastanza evidenti. Credo..



Ribadisco il ragionamento senza essere Didier Sornette o Nassim Taleb:

Le bolle a mio avviso devono essere necessariamente caratterizzate da fattori univoci concomitanti; corsa all'acquisto irrazionale e crescita dei volumi i principali (che determinano lo schiacciamento della distribuzione prima che si riallunghi repentinamente ai primi cenni di "scoppio" ma andiamo sul troppo noioso..immaginate di spingere e lasciare un palloncino pieno di liquido); una sorta, come già detto, di schema ponzi spontaneo dove gli ultimi rimangono col famoso cerino in mano (i volumi non posssono essere infiniti a differenza della teorica crescita dell'indice). Con questo metodo non necessitiamo di alcuna stima e gungiamo a risultati pressochè identici e con invarianza di scala.

Ovvero, se cambio time frame e passo al settimanale, le mie "bolle" sono egualmente evidenti:


e lo stesso se aumento ancora la frequenza passando al giornaliero:


è solo questione di rumore e di code della distribuzione che si inspessiscono leggermente spostando l'intervallo di confidenza (allargandolo un po')

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
nb: i più spregiudicati masochisti potranno agevolmente intuire una forma a "U", con ciò che ne deriva..divertirsi con dei test (With or Without U) e trarre conclusioni personali. Ricordo tuttavia che secondo e quarto momento, in finanza, sono virtualmente(?) infiniti.


 fine nb.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

se conforntiamo quanto sopra con l fitting "ciclico" tramite LPPL(log periodic power law - Sornette) boh!? A me pare facciano una fatica immane per ottenere risultati tutto sommato equiparabili.


Well, detto ciò, se esistono le "bubbles" esisteranno le "antibubbles". Proverò a dire la mia (anicipo che a mio avviso OGGI siamo in un'antibubble e non capisco proprio quelli che preannunciano cataclismi ogni 5 minuti circa..che sia chiaro..possono capitare..ma per motivi diversi credo..anzi, opposti direi); proseguiamo con la navigazione..(.......)


venerdì 13 giugno 2014

TSA





Ho sempre apprezzato le cose semplici, non semplicistiche.


Tutti dicono che gli ultimi 10 anni sono stati difficili. Non è del tutto vero; l'introduzione della moneta unica in Europa ha determinato un'anomalia che, egoisticamente, spero rientri il più tardi possibile: la Germania come leader garante. I bond teutonici come certificati di deposito in valuta diversa dal dollaro ma, effettivamente, concorrenziale allo stesso. Inutile affrontare l'argomento su quanto la Germania abbia guadagnato dalla crisi dei periferici europei, forse giustamente. E' stato detto e scritto in più o meno tutte le salse. Quello che da anni cerco di comunicare è che, ancora oggi, la Germania è il miglior proxy per investire sulla crescita del maggior listino del mondo; lo Standard&Poors 500. L'Indice più liquido, l'indice più importante, l'indice che, in virtù della massa, attrae a se, correlandoli positivamente, tutti i settori e indici e strategie (tranne quella short sullo stesso) immaginabili. Bond e volatilità rimangono le asset classes che oppongono la resistenza maggiore.


Nel grafico di esempio la similarità calcolata in maniera dinamica tra lo S&P500 e Dax30 e Ftsemib. 100 è il valore di "similarità perfetta", ovvero il valore massimo possibile. Il grafico parte da un anno prima l'entrata in vigore della moneta unica europea.


TSA  è un trading system nato anni fa e piuttosto semplice: media a 200 giorni sullo Standard&Poors 500,  quando l'indice la supera si va long , quando l'indice viene superato dalla media si va short. Ma non sullo SPX, sul Dax. TSA sta per TsAmico o Timing Seeker Allocation

La versione "sofisticata", ma neanche così tanto, utilizza una variante divertente(e adattva, ovvero non necessita di stime) del modello "TAR" di Petruccelli e Woolford che trovate ad inizio pagina.

Usiamo dati mensili per ridurre il rumore pertanto, è bene specificarlo subito, non vedete quello che accade giorno per giorno. Fate finta sia un fondo veramente low cost dove non dovete pagare alcuna fee ma solamente i costi di transazione e  spese generiche.

Vediamo come si è comportato  in questi 14 anni circa oggettivamente difficili per una strategia passiva come il Buy&Hold nudo e crudo.

Il sistema va long e short (ma possiamo tranquillamente sostituire con dei bond quest'ultima gamba) sull'indice. Io l'ho concepito da sempre per un uso con ETF.




Qualche gestore potrebbe iniziare a sudare. Lo capisco, battere il TSA è dannatamente difficile, quale sia la versione. Genericamente, battere lo S&P500 come generatore di segnali da utilizzare su correlati(o ad esso simili) è veramente complicato.


TAR: Threshold Autoregressive(first order here..) Model. Modello a soglia autoregressivo di ordine primo. Un modello "non lineare" teoricamente..non è proprio vero a dir la verità..ma qui andiamo sul noioso.. :)


Per la costruzione del modello utilizzerò delle medie esponenziali pesate, EWMA con fattore di decadimento lambda =0.65. Già sento le grida dell'avvocato di contraparte: "questo è overfitting vostro onore!!!!!!". Condannato all'ergastolo senza appello.

In effetti 0.65 non è un valore scelto a caso ma è il valore meno overfittato possibile per catturare quell'effetto protagonista di una mezza tonnellata di lavori accademici e chiamato, universalmente, "momentum".

Tanti ne parlano, pochi capiscono effettivamente di cosa parlano, in questo lavoro, recentissimo, sanno quello che dicono e ritengo valga la pena leggerlo.

Il fenomeno che voglio catturare insiste sullo S&P500 in una finestra che varia dai 6 a 12 mesi.

Questo è il grafico del decadimento esponenziale del peso percentuale attribuito alle osservazioni mensili dal parametro di smoothing lambda=0.65.

Credo sia più chiaro di qualsiasi spiegazione (che potrete cmq. trovare agevolmente in rete o su testi specialistici)

> 90% il peso complessivo distribuito esponenzialmente dal fattore di smoothing prescelto e che insiste sulle sei più recenti osservazioni mensili,raggiungendo il 100% circa alla 12ma osservazione più recente(e quindi completando la distribuzione). Decadimento percentuale del peso per fattori di smoothing pari a 0.95, 0.85,0.75 e 0.65(in blue-dot curve)


ovviamente, la parte interessante per la costruzione del modello a soglia è:  "smoothing di cosa?"


Smoothing pesato esponenziale della forma assunta dalla distrubuzione dei rendimenti dello Standard&Poors500 nel tempo.

Parliamo di simmetria pesata. Parliamo di attribuire un rank alla distribuzione di probabilità per massimizzare le nostre aspettative di rendimento.

Il nostro modello TAR sarà matematicamente: EWMA(UPM1) + EWMA(LPM1) + K

ovvero, fatta K la nostra soglia, calcoleremo tramite EWMA il momento parziale superiore di primo ordine dei rendimenti dello SPX (probabilità positive, rendimenti >soglia) , calcoleremo tramite EWMA il momento parziale inferiore di primo ordine dei rendimenti dello SPX (probabilità negative, rendimenti<soglia) ed aggiungeremo a questo spread probabilistico "K", la nostra soglia&desiderata.

K= EWMA(logrendimenti percentuali SPX) con fattore di decadimento quanto più possibile prossimo a 1. Ovvero massima persistenza del drift.





TARtrigger=EWMA(UPM1(r)) + EWMA(LPM1(r)) +K(EWMA(r)*)

 *( fattore di smoothing quanto più possibile prossimo ad 1)





Il risultato, entrando in acquisto(a t+1) sui correlati (Dax30, MDax,EStoxx50 e Ftsemib nell'esempio) quando TARtrigger positivo ed in vendita quando TARtrigger negativo lo vedete qui e non mi sembra malaccio, considerate le spese di "gestione" del sistema.


Vediamo in numeri e misure di performance di cosa stiamo parlando:

qualche numero "since its inception" e solo 2014 di più sottostanti. Notare l'indice italiano nel 2014 o l'indice greco prima che trovassero l'errore nei conti.... :)



(......)
La Grande Onda