Translate

giovedì 2 luglio 2015

QUELLA VOLTA IN CUI L'ALGORITMO DELLA GOLDMAN SACHS SI RIBELLO' AL SUO CREATORE, SPINGENDO LA BANCA ED IL MERCATO DELLE OPZIONI USA AD UN PASSO DAL TRACOLLO. IL FATTORE UMANO PT.1

Quello che successe circa 2 anni fa, fu -all'epoca- oggetto di un' attenta analisi ad opera di Nanex, snobbata dai media, derisa dai più. Oggi, invece, siamo in grado di poter dire, senza timore di essere smentiti, che Nanex aveva -come sempre- ragione e che gli algoritmi sono simili a creature di laboratorio da maneggiare con cura.
Prima di mostrarvi alcuni grafici tratti da Nanex, permettetemi qualche nota introduttiva a commento del grande game tecnologico che domina i mercati e del maggior rischio a questo associato, con riguardo al caso esaminato in questo post, sotto il profilo della componente umana.
In data 20 Agosto 2013, in conseguenza di un errore di configurazione riguardante uno degli order routers del segmento opzioni, la GS (Goldman Sachs) inviò erroneamente migliaia di limit orders con prezzo pari ad $ 1,00, sui mercati delle opzioni, prima dell'inizio della regolare sessione di market trading. Anteriormente all' apertura dei mercati (ore 9:30 a.m.), GS bloccò la creazione di ordini addizionali sulle opzioni ed intraprese procedure d'emergenza per la cancellazione di quelli errati inoltrati poco prima. Tuttavia, qualche minuto dopo l'apertura del regular market trading, ottenne l' esecuzione di una porzione di sell orders involontariamente immessi, rappresentanti approssimativamente 1.5 milioni di contratti d'opzione, a loro volta espressione di 150 milioni di azioni sottostanti. Anche se la banca d'affari affrontò un rischio di perdite potenziali pari a 500 milioni di dollari, quella effettiva ammontò a circa 38 milioni di dollari, al netto degli ordini eseguiti, cancellati e rettificati nel prezzo, in osservanza delle regole vigenti sulle varie piattaforme trattanti opzioni, in materia di trades chiaramente erronei. L'evento del 20 Agosto 2013 riguardante il trading sulle opzioni è il frutto di una serie fallimenti del sistema di risk management di GS e delle relative procedure di supervisione, in grado di esacerbare le conseguenze dell'errore umano di natura informatica.

In primo luogo, i price checks del Sigma Option order matching system di GS, mancarono di prevenire l'immissione di ordini pre-market erroneamente prezzati. Il sistema Sigma Option era usato per incrociare gli ordini su opzioni dei clienti con quelli dell'azienda, prima di inviarli ai mercati. Nel corso delle ore di mercato, Sigma Option applicava price checks basati sui bid/ask prices all'epoca correnti per ogni serie di opzioni quotate. Tuttavia, nel corso delle ore di pre-market impiegava un price check di default, consentente la trasmissione di ordini con un prezzo > di $ 0,01 e < ad 1,5 volte il più alto tra i prezzi di chiusura fatti registrare dalle opzioni quotate nel giorno precedente. In data 19 Agosto, il prezzo di chiusura più alto tra tutte le opzioni quotate era pari a $ 2.060 (il prezzo di una call option per acquistare 100 quote del Nasdaq 100 Index ad uno strike price di $ 1.000, con una data di scadenza fissata per Dicembre 2013). Dunque, in data 20 Agosto, gli option orders che furono immessi prima dell'apertura del mercato, riuscirono a passare il price check nella misura in cui fossero prezzate sopra il centesimo di dollaro e sotto i $ 3.090. Dal 20 Agosto 2013, l'azienda ha implementato i pre-market price checks tanto in Sigma Options, quanto nei trading systems in uso ai clienti, “users” del sistema di Direct Market Access di GS, basandoli sul prezzo di chiusura del giorno precedente per ogni singola opzione, unitamente all'impiego di una banda di oscillazione di +/- 100% del prezzo di chiusura del giorno precedente per le opzioni che avessero chiuso sotto il valore di 1 dollaro ed una banda di oscillazione di +/- 50% del prezzo di chiusura del giorno precedente per le opzioni che avessero chiuso ad 1 dollaro o più. In aggiunta, l'operatività e la gestione dei circuit breakers della GS, non impedirono effettivamente l'inoltro di ordini errati nel corso degli eventi del 20 Agosto. I circuit breakers hanno la funzione di impedire l'immissione di ordini errati, bloccando tutto il traffico informatico diretto verso i mercati una volta che lo stesso abbia superato un certo livello. Tuttavia, quel giorno, il personale dell'azienda avente funzioni di controllo disabilitò ripetutamente i blocchi generabili dai circuit breakers tra le 8:44 am e le 9:32 am, consentendo perciò l'inoltro verso i mercati di ulteriori ordini errati. Prima della disabilitazione dei blocchi da circuit breakers, il personale di controllo non ottenne l'autorizzazione dagli impiegati responsabili della gestione tecnologica, come viceversa avrebbero dovuto fare nel rispetto delle policies -redatte tra l'altro in forma scritta- dell'azienda. Deve però sottolinearsi come le policies relative alla disabilitazione manuale dei circuit breakers non furono distribuite agli e/o pienamente comprese dagli impiegati responsabili della gestione del timing inerente la disattivazione e come, antecedentemente al 20 Agosto 2013, gli stessi dipendenti di GS disattivarono i blocchi da cricuit breakers poco dopo aver appreso della loro esistenza e mentre stavano ancora indagando sui motivi della loro introduzione. La maniera con cui GS effettuò i cambiamenti del software che impattarono l'oder flow della banca contribuirono all'evento del 20 Agosto: in particolar modo, le policies dell'azienda non richiedevano che un mutamento della configurazione del software fosse rivista da un dipendente differente da quello autore della modifica, nè le policies richiedevano alcuna verifica di alcuno dei flussi di informazioni parallele, potenzialmente generati dagli ordini inviati sul mercato. Infine, sempre le stesse policies non prescrivevano esplicitamente che le persone responsabili delle modifiche software notificassero ad altri dirigenti la consequenziale esposizione al rischio, né richiedevano che i programmatori fossero presenti nel giorno dell'entrata in funzione. GS manifestò anche una forte deficienza nei controlli della gestione del rischio e nelle procedure di supervisione volte a prevenire ordini eccedenti la soglia predefinita di capitale, destinata al trading, dell'azienda, . Specificatamente, la banca calcolava gli ordini aperti su azioni ed opzioni (con relative esecuzioni) ogni 30 minuti, mentre i suoi sistemi generavano un alert automatico quando il 75% della soglia di capitale fosse raggiunta. La lunghezza dell'intervallo del calcolo esponeva l'azienda alla possibilità che ordini eccedenti la soglia di capitale proprio dedicato al prop trading, fossero eseguiti e che il loro impatto sull'esposizione complessiva di capitale  non fosse conosciuta sino a 30 minuti dopo l'immissione dell'ordine. In aggiunta, la banca non disponeva di un processo automatico volto a prevenire l'immissione di ordini addizionali nel caso in cui il calcolo eseguito ogni 30 minuti avesse rivelato il superamento della soglia di capitale preimpostata. Infine, tra il 2012 ed il 2013, GS mancò di includere una porzione del trading flow generato da alcune business units nel calcolo del capitale utilizzato, eseguito con lo scopo di determinare se la soglia massima fosse stata o meno violata, restando altresì esclusi dal calcolo, gli ordini aperti e non ancora eseguiti.
Continua...