Superfici di volatilita' a supporto di decisioni operative

Collapse
X
 
  • Ora
  • Show
Clear All
new posts
  • the learner
    Senior Member

    • Dec 2011
    • 571

    #1

    Superfici di volatilita' a supporto di decisioni operative

    Ciao a tutti,

    in questo thread in questi giorni si e’ discusso di come utilizzare le superfici di volatilita’ implicita (IV) a fini operativi.
    Nel suo recente video Tiziano ha mostrato una serie di indicatori che permettono di catturare movimenti sulle IV prezzate dal mercato e di generare segnali operativi. Aspettando il rilascio ufficiale di tali indicatori in una futura release di Fiuto, apro questo thread per vedere se si riesce a costruire qualcosa che possiamo utilizzare nel frattempo in modo da prendere familiarita’ con la logica seguita.

    Il tutto si basa sul seguente assunto: in ogni istante le opzioni vengono prezzate in modo tale da incorporare tutte le aspettative che i market maker hanno circa il prezzo del sottostante negli istanti successivi.

    Il set informativo dei market maker si suppone sia ben piu’ completo rispetto a quello pubblico e questa maggiore disponibilita’ di informazioni viene silenziosamente trasmessa al mercato via IV.

    Limitando l’attenzione alle opzioni su indici, le IV associate ai diversi strike formeranno uno skew, quindi le put OTM avranno IV maggiore delle call OTM.

    L’asimmetria della distribuzione dei rendimenti e la paura associata ai ribassi, generano questa forma che e’ assolutamente comune. Vedere uno skew non puo’ quindi fornire alcuna indicazione operativa in quanto non riflette particolari aspetttative ma e’ semplicmente una conseguenza di fatti gia’ noti.

    Affinche’ si possano cogliere segnali di allerta lanciati dai market maker, via IV, e’ quindi necessario monitorare in real time alcune grandezze che ci possano aiutare nella nostra operativita’. Partiamo con Eurostoxx 50 e scegliamo le scadenze di marzo 2014 (scadenza 1) e aprile 2014 (scadenza 2).
    Le grandezze potrebbero essere le seguenti:

    1. differenziale IV di call vs put ATM scadenza 1: uno straddle ATM sara’ prezzato in modo da non dare un vantaggio al compratore ne’ al venditore. Se il market maker dovesse avere un’aspettativa circa la direzione, al fine di mantenere il prezzo fair verra’ generato un bias nella componente temporale dei prezzi.
    2. differenziale put ATM scadenza 2 vs scadenza 1: si monitora la parte a breve di un’ipotetica struttura a termine delle IV ATM. Un aumento della IV a scadenza 1 a scapito della scadenza 2 potrebbe essere la conseguenza di un’aspettativa per un maggiore rischio percepito sulla scadenza 1, quindi a breve scadenza.
    3. differenziale put 25-delta vs call 25-delta scadenza 1: si monitora l’entita’ dello skew. Esiste un’area di valori di skew che puo’ essere definita “strutturale”, quindi non informativa. Ma valori che si discostano da quest’area possono avere una valenza operativa.


    Tutta la difficolta’ sta nell’identificare dei valori limite oltre i quali questi differenziali possono essere considerati come alert. Nella difficolta’ di identificare tali valori chiave, resta la possibilita’ di monitorare l’evoluzione dei differenziali per identificare movimenti improvvisi che creano una distorsione dell’intera superficie di IV.

    Avendo limitato il numero delle possibili grandezze da monitorare, l’intento e’ quello di analizzare la dinamica di punti chiave della superficie per leggere le informazioni che i market maker passano al mercato via IV.

    I 3 differenziali di cui sopra, saranno le nostre 3 grandezze da monitorare e, affinche’ si possano definire dei livelli trigger occorre un set di regole. Riprendendo le indicazioni fornite da Tiziano, si potrebbe creare un processo a 2 fasi:

    1. confronto tra volatilita’ storica e IV ATM
    2. analisi dei singoli differenziali su finestra mobile


    L’IV e’ funzione della volatilita’ storica (e quindi di tutta l’informazione pubblicamente disponibile) e di un’aspettativa (non necessariamente pubblica).
    Se il mercato prezza una IV piu’ bassa della volatilita’ storica ci si puo’ ragionevolmente aspettare un periodo di poco stress.
    Se la IV assume valori superiori, allora aumenta l’incertezza. A quel punto occorre monitorare i differenziali per vedere come e quando particolari aspettative iniziano ad essere prezzate dal mercato.

    Tiziano suggerisce di calcolare la media mebile a 30 e 50 periodi dei vari differenziali. Su timeframe molto bassi (es. 1 minuto) questo offre la possibilita’ di cogliere movimenti dello skew e della struttura a termine che possano aiutare l’operativita’ direzionale.

    Un’improvviso aumento dello skew (con il valore a 30 periodi del differenziale numero 3 che supera il valore a 50 periodi), specie in un trend rialzista, potrebbe infatti suggerire un movimento correttivo.
    Analogamente, una riduzione dello skew, in un trend ribassista potrebbe suggerire l’aumento del rischio di vedere un imminente rimbalzo (magari solo tecnico, da coperture).

    Stessa logica andrebbe seguita per gli altri due differenziali, permettendo cosi’ di monitorare piu’ dimensioni della superficie di IV.

    Mi rivolgo a chiunque fosse interessato ad approfondire l’argomento e a chiunque abbia gia’ dimestichezza con la programmazione in Fiuto per discutere in maggiore dettaglio il tutto e cercare di capire in che misura si possa implementare un sistema da mettere poi in simulazione condivisa.

    Grazie mille.
  • Ismael
    Senior Member

    • Jan 2011
    • 240

    #2
    Originariamente Scritto da the learner
    Ciao a tutti,

    in questo thread ....
    Mi rivolgo a chiunque fosse interessato ad approfondire l’argomento e a chiunque abbia gia’ dimestichezza con la programmazione in Fiuto per discutere in maggiore dettaglio il tutto e cercare di capire in che misura si possa implementare un sistema da mettere poi in simulazione condivisa.

    Grazie mille.
    Progetto interessanterrimo...
    Io ho iniziato qualcosa, poi negli ultimi tempi sono stato molto incasinato con il lavoro, cerco di recuperarlo e lo posto.
    E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.

    Comment

    • the learner
      Senior Member

      • Dec 2011
      • 571

      #3
      Ottimo Ismael!

      Avere un punto di partenza aiuterà molto a familiarizzare con i concetti e con il linguaggio di programmazione.
      Potremmo partire da lì per vedere se e cosa aggiungere/modificare per ottenere un sistema testabile.

      Ti ringrazio sin da ora per il contributo.

      Comment

      • orlando
        Member
        • Feb 2010
        • 66

        #4
        Questo studio è molto interessante, anche se purtroppo non posso esservi d\'aiuto nella programmazione.....
        vorrei però chiedervi quale può essere guardando semplicemente ad occhio nudo un allert sui valori della IV per capire se sta nascendo un trend.
        Oggi pomeriggio osservavo le IV su sp500,dax e eurostoxx, ed era ben visibile che la discesa avvenuta nel primo pomeriggio era prezzata nelle put ed avevano una vola anche del 50% maggiore delle call. Ma dalle 15,30 16,00 cominciava la salita e le put rimanevano sempre con molta più vola delle call. Quindi sapendo che comunque le put hanno una vola piu alta mi potrei aspettare un trend quando la vola è maggiore per esempio del 20% tra put e call? Oppure può essere tardivo vedere la vola sulle call maggiore delle put e forse dovrei considerare una variazione della vola del 20% sulla medesima opzione?

        Comment

        • Cagalli Tiziano
          Senior Member
          • Dec 2007
          • 11252

          #5
          Originariamente Scritto da orlando
          Questo studio è molto interessante, anche se purtroppo non posso esservi d\'aiuto nella programmazione.....
          vorrei però chiedervi quale può essere guardando semplicemente ad occhio nudo un allert sui valori della IV per capire se sta nascendo un trend.
          Oggi pomeriggio osservavo le IV su sp500,dax e eurostoxx, ed era ben visibile che la discesa avvenuta nel primo pomeriggio era prezzata nelle put ed avevano una vola anche del 50% maggiore delle call. Ma dalle 15,30 16,00 cominciava la salita e le put rimanevano sempre con molta più vola delle call. Quindi sapendo che comunque le put hanno una vola piu alta mi potrei aspettare un trend quando la vola è maggiore per esempio del 20% tra put e call? Oppure può essere tardivo vedere la vola sulle call maggiore delle put e forse dovrei considerare una variazione della vola del 20% sulla medesima opzione?
          Proprio per avere un valore oggettivo e non soggettivo ho proposto di svolgere pubblicamente questo progetto che si realizzerà codificando quello che ho scritto e il risultato sarà la risposta alla tua domanda.

          Intanto nel video che ho registrato vedi il risultato applicato.
          ..se corri dietro a due lepri, non ne prendi nemmeno una.

          Comment

          • Ismael
            Senior Member

            • Jan 2011
            • 240

            #6
            Originariamente Scritto da the learner
            Ottimo Ismael!

            Avere un punto di partenza aiuterà molto a familiarizzare con i concetti e con il linguaggio di programmazione.
            Potremmo partire da lì per vedere se e cosa aggiungere/modificare per ottenere un sistema testabile.

            Ti ringrazio sin da ora per il contributo.
            Nel mio cronico disordine ho sovrascritto lo script... mi dispiace... mi darò da fare per rimediare...
            E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.

            Comment

            • Ismael
              Senior Member

              • Jan 2011
              • 240

              #7
              - Per put/call 25-delta intendi opz con delta .25 ?

              - L\'ATM come lo definiamo?
              se prendiamo un solo strike può variare durante la giornata, io ho usato 3/4 strike fissi, scelti verso le 9:40...

              - Per la misura della volatilità mi sembra sufficiente usare i prezzi, tanto interessano solo i differenziali (o sbaglio?)
              Last edited by Ismael; 11-03-14, 10:56.
              E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.

              Comment

              • Ismael
                Senior Member

                • Jan 2011
                • 240

                #8
                Allego codice che:
                1. aggiunge 10 opzioni atm (5 calls e 5 puts per scadenza)
                2. calcola differenza vola tra 5 put e 5 call scadenza 1
                3. caloola differenza vola tra 5 put scadenza 1 e 5 put scadenza 2

                Scusate eventuali ciofeche scritte...

                Codice:
                \' SCRIPT PERSONALITY: BASIC
                \'
                \' Tutte le dim sono da rivedere
                
                
                uses classes
                dim mainUnderlying as TUnderlying
                dim controllo                   
                dim atmstrike  
                dim under as tsecurity       
                dim price    
                dim underisin                                      
                dim atmvola          
                dim atmexp 
                dim nextexp,nextexpma,nextexpanno,nextexpnc ,j,i, next2exp,next2expma           
                dim atmcall as toption
                dim calls as toption = [0,0,0,0,0]
                dim puts as toption = [0,0,0,0,0]  
                dim calls2 as toption = [0,0,0,0,0]
                dim puts2 as toption = [0,0,0,0,0] 
                dim sommaevolacalls as single = 0  
                dim sommaevolaputs as single = 0 
                dim sommavolacalls as single = 0  
                dim sommavolaputs as single = 0 
                dim a as double
                dim strikestep, strikeas, sommacalls1, sommaputs1, diffvolaputcall1, sommaputs2,
                diffvolaput1put2
                dim ore as Word, minuti as Word, secondi as Word, usec as Word 
                dim volacallbs, volaputbs
                dim pricea As Double, delta As Double, gamma As Double,
                theta As Double, vega As Double, rho As Double,                
                timeValue As Double, implVolatility As Double 
                dim diffvola
                dim count = 0        
                dim ciao as tstringlist = [0,0,0,0,0,0,0,0]                                    
                dim file as tstringlist 
                dim percorso as  string                                    
                dim anno, mese, giorno, sanno, smese, sgiorno ,s2anno,s2mese,s2giorno                 
                                       
                \' definizioni generiche               
                under = CurrentStrategy.GetMainUnderlying
                price = CurrentStrategy.GetMainUnderlyingprice                                
                underisin = under.isin
                   
                \'strikestep  = intervallo tra strike
                strikestep = GetNextStrike(underisin,price) - GetPreviousStrike(underisin,price)
                
                
                atmstrike = GetNearestStrike(underisin, price)
                nextexp = CDate(GetNextExpiry(underisin, now()))
                next2exp = cdate (getnextexpiry(underisin,now()+30))                                             
                decodedate(nextexp,sanno,smese,sgiorno)
                decodedate(next2exp,s2anno,s2mese,s2giorno)     
                DecodeTime(Now(), ore, minuti, secondi, usec)
                DecodeDate(Now(), anno, mese, giorno)
                
                \'nextexpma è la scadenza in formato stringa, per ora funziona solo fino ad ottobre :-)
                nextexpma = "0"+cstr(smese) + "-" + cstr(sanno)
                next2expma = "0"+cstr(s2mese) + "-" + cstr(s2anno)
                  
                \'inserimento nella strategia delle 5 + 5 opzioni più atm  *2 scadenze                                                                                                 
                for i=0 to 4 step 1                                           
                CurrentStrategy.AddParametricOption(underisin,CALL,i-2,0)                    
                CurrentStrategy.AddParametricOption(underisin,PUT,i-2,0)            
                next         
                                              
                for i=0 to 4 step 1                                           
                CurrentStrategy.AddParametricOption(underisin,CALL,i-2,30)                    
                CurrentStrategy.AddParametricOption(underisin,PUT,i-2,30)            
                next       
                                 
                \'assegnazione di una variabile array ad ogni opzione                    
                for i = 0 to 4                                
                strikeas = cstr(atmstrike + (i-2)*strikestep)
                               
                calls[i] = CurrentStrategy.GetbyName("C @ "+strikeas+" "+nextexpma)                        
                puts[i] = CurrentStrategy.GetByName("P @ "+strikeas+" "+nextexpma)                  
                next
                for i = 0 to 4                                
                strikeas = cstr(atmstrike + (i-2)*strikestep)
                               
                calls2[i] = CurrentStrategy.GetbyName("C @ "+strikeas+" "+next2expma)                        
                puts2[i] = CurrentStrategy.GetByName("P @ "+strikeas+" "+next2expma)                  
                next                          
                                                                                                             
                \'calcolo della differenza tra volatilità put e call scadenza 1 
                sommacalls1  = calls[0].Volatility + calls[1].Volatility +calls[2].Volatility +calls[3].Volatility +calls[4].Volatility 
                sommaputs1  = puts[0].Volatility + puts[1].Volatility + puts[2].Volatility + puts[3].Volatility + puts[4].Volatility                               
                
                diffvolaputcall1 = sommacalls1 - sommaputs1
                \'calcolo della differenza tra volatilià put scadenza 1 e put scadenza2
                sommaputs2  = puts2[0].Volatility + puts2[1].Volatility + puts2[2].Volatility + puts2[3].Volatility + puts2[4].Volatility 
                 
                diffvolaput1put2 = sommaputs2 - sommaputs1
                tutte i dim sono da rivedere
                E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.

                Comment

                • the learner
                  Senior Member

                  • Dec 2011
                  • 571

                  #9
                  Originariamente Scritto da Ismael
                  - Per put/call 25-delta intendi opz con delta .25 ?
                  Ciao Ismael, si\' delta 0.25.

                  Originariamente Scritto da Ismael
                  - L\'ATM come lo definiamo?
                  se prendiamo un solo strike può variare durante la giornata, io ho usato 3/4 strike fissi, scelti verso le 9:40...
                  Si potrebbe procedere in questo modo per scegliere gli strike ATM da usare per il giorno successivo:

                  1) in chiusura del giorno precedente si guarda il close del VSTOXX (supponendo di analizzare l\'Eurostoxx)
                  2) il valore del VSTOXX e\' un dato annualizzato per cui lo dividiamo per la radice quadrata di 252 (i giorni di borsa aperta in un anno) ed otteniamo la volatilita\' implicita giornaliera
                  3) Moltiplichiamo il valore ottenuto al punto precedente per il close dell\'indice ottenendo un valore (in punti) che rappresenta il range di variabilita\' atteso per il giorno. Supponiamo che la chiusura sia stata 3100 e che la vola giornaliera al punto 2 (in punti indice) e\' 30. Quindi ci aspettiamo per il giorno successivo un movimento tra 3070 e 3130. Consideriamo gli strike interni a questo range come gli strike ATM per la giornata successiva per cui la IV di riferimento sara\' una media delle IV degli strike 3075, 3100 e 3125.

                  Ma mi interesserebbe sapere se ci sono altre idee in merito.

                  Originariamente Scritto da Ismael
                  - Per la misura della volatilità mi sembra sufficiente usare i prezzi, tanto interessano solo i differenziali (o sbaglio?)
                  A quale vola fai riferimento? Quella storica?

                  Comunque, giusto per iniziare ad avere un\'idea circa i valori delle variabili che intendiamo monitorare, ho recuperato dei dati daily su Bloomberg. Purtroppo non ho accesso a dati con frequenza maggiore ma vi mostro le distribuzioni di frequenza per capire quale sia il valore medio di riferimento e come i dati si distribuiscano attorno a questo valore.
                  I dati vanno dal 2 gennaio 2006 al 10 marzo 2014 e fanno riferiemento all\'indice Eurostoxx.
                  In rosso trovate evidenziata l’area che rappresenta una frequenza attorno al 70%. Quindi, in un’ottica frequentista del concetto di probabilita’, possiamo dire che c’e’ un 70% di probabilita’ che il valore del differenziale analizzato assuma valori in quel range.

                  Iniziamo con il differenziale delle IV Put ATM (prima scadenza) e IV Put ATM (seconda scadenza).


                  Click image for larger version

Name:	put atm 1 vs 2.JPG
Views:	1
Size:	43.9 KB
ID:	150523

                  Il valore medio di questo differenziale e’ leggermente negativo (-0.28) per cui in media la Put ATM con scadenza piu’ vicina ha implicita nel prezzo una IV leggermente minore rispetto all’analoga Put con scadenza successiva. Valori tra +1 e -1 hanno una frequenza totale di circa il 70%.

                  Distribuzione dello skew (differenziale tra IV Put 25-delta e IV Call 25-delta sulla prima scadenza):

                  Click image for larger version

Name:	skew.JPG
Views:	1
Size:	46.3 KB
ID:	150524

                  La media e’ positiva (4.57) per cui, come ci si aspettava nel caso di un indice azionario, in media le Put OTM prezzano una IV maggiore rispetto alle Call OTM (skew).
                  Valori tra +2.5 e +7.5 hanno una frequenza totale di circa il 70%.

                  Distribuzione del differenziale tra IV Put ATM e IV Call ATM sulla prima scadenza:

                  Click image for larger version

Name:	delta atm 1.JPG
Views:	1
Size:	45.7 KB
ID:	150525

                  La media e’ leggermente negativa (-0.8) per cui in media sulla prima scadenza le Call ATM hanno prezzato una IV maggiore rispetto alle Put ATM.
                  Tuttavia, valori tra +1 e +2 sono quelli con una frequenza totale di circa il 70%.

                  Infine la distribuzione del differenziale tra IV Put ATM e IV Call ATM sulla seconda scadenza:

                  Click image for larger version

Name:	delta atm 2.JPG
Views:	1
Size:	42.8 KB
ID:	150526

                  Anche in questo caso la media e’ leggermente negativa (-0.22), con valori tra +0.5 e +1 che hanno una frequenza totale di circa il 70%.


                  P.S. Chiedo a Tiziano e a chiunque abbia gia\' familiarita\' con questi dati di confermare la ragionevolezza dei risultati ottenuti. Personalmente ho considerato i dati come buoni non avendo la possibilita\' di effettuare verifiche e confronti. Grazie.
                  Last edited by the learner; 11-03-14, 15:11.

                  Comment

                  • Cagalli Tiziano
                    Senior Member
                    • Dec 2007
                    • 11252

                    #10
                    Originariamente Scritto da the learner
                    Ciao Ismael, si\' delta 0.25.



                    Si potrebbe procedere in questo modo per scegliere gli strike ATM da usare per il giorno successivo:

                    1) in chiusura del giorno precedente si guarda il close del VSTOXX (supponendo di analizzare l\'Eurostoxx)
                    2) il valore del VSTOXX e\' un dato annualizzato per cui lo dividiamo per la radice quadrata di 252 (i giorni di borsa aperta in un anno) ed otteniamo la volatilita\' implicita giornaliera
                    3) Moltiplichiamo il valore ottenuto al punto precedente per il close dell\'indice ottenendo un valore (in punti) che rappresenta il range di variabilita\' atteso per il giorno. Supponiamo che la chiusura sia stata 3100 e che la vola giornaliera al punto 2 (in punti indice) e\' 30. Quindi ci aspettiamo per il giorno successivo un movimento tra 3070 e 3130. Consideriamo gli strike interni a questo range come gli strike ATM per la giornata successiva per cui la IV di riferimento sara\' una media delle IV degli strike 3075, 3100 e 3125.

                    Ma mi interesserebbe sapere se ci sono altre idee in merito.



                    A quale vola fai riferimento? Quella storica?

                    Comunque, giusto per iniziare ad avere un\'idea circa i valori delle variabili che intendiamo monitorare, ho recuperato dei dati daily su Bloomberg. Purtroppo non ho accesso a dati con frequenza maggiore ma vi mostro le distribuzioni di frequenza per capire quale sia il valore medio di riferimento e come i dati si distribuiscano attorno a questo valore.
                    I dati vanno dal 2 gennaio 2006 al 10 marzo 2014 e fanno riferiemento all\'indice Eurostoxx.
                    In rosso trovate evidenziata l’area che rappresenta una frequenza attorno al 70%. Quindi, in un’ottica frequentista del concetto di probabilita’, possiamo dire che c’e’ un 70% di probabilita’ che il valore del differenziale analizzato assuma valori in quel range.

                    Iniziamo con il differenziale delle IV Put ATM (prima scadenza) e IV Put ATM (seconda scadenza).


                    [ATTACH=CONFIG]14320[/ATTACH]

                    Il valore medio di questo differenziale e’ leggermente negativo (-0.28) per cui in media la Put ATM con scadenza piu’ vicina ha implicita nel prezzo una IV leggermente minore rispetto all’analoga Put con scadenza successiva. Valori tra +1 e -1 hanno una frequenza totale di circa il 70%.

                    Distribuzione dello skew (differenziale tra IV Put 25-delta e IV Call 25-delta sulla prima scadenza):

                    [ATTACH=CONFIG]14321[/ATTACH]

                    La media e’ positiva (4.57) per cui, come ci si aspettava nel caso di un indice azionario, in media le Put OTM prezzano una IV maggiore rispetto alle Call OTM (skew).
                    Valori tra +2.5 e +7.5 hanno una frequenza totale di circa il 70%.

                    Distribuzione del differenziale tra IV Put ATM e IV Call ATM sulla prima scadenza:

                    [ATTACH=CONFIG]14322[/ATTACH]

                    La media e’ leggermente negativa (-0.8) per cui in media sulla prima scadenza le Call ATM hanno prezzato una IV maggiore rispetto alle Put ATM.
                    Tuttavia, valori tra +1 e +2 sono quelli con una frequenza totale di circa il 70%.

                    Infine la distribuzione del differenziale tra IV Put ATM e IV Call ATM sulla seconda scadenza:

                    [ATTACH=CONFIG]14323[/ATTACH]

                    Anche in questo caso la media e’ leggermente negativa (-0.22), con valori tra +0.5 e +1 che hanno una frequenza totale di circa il 70%.


                    P.S. Chiedo a Tiziano e a chiunque abbia gia\' familiarita\' con questi dati di confermare la ragionevolezza dei risultati ottenuti. Personalmente ho considerato i dati come buoni non avendo la possibilita\' di effettuare verifiche e confronti. Grazie.
                    Lo sto leggendo e vi seguo. Se ci saranno dei problemi/errori interverrò, sino a qui concordo.
                    ..se corri dietro a due lepri, non ne prendi nemmeno una.

                    Comment

                    • the learner
                      Senior Member

                      • Dec 2011
                      • 571

                      #11
                      Ok, grazie Tiziano. Mi raccomando veglia su di noi.

                      Intanto, ho fatto delle semplici simulazioni in Excel per vedere come si sarebbero comportate delle strategie direzionali su dati daily.


                      Nel seguito con “skew” mi riferisco al differenziale tra le IV della Put 25-delta e Call 25-delta (prima scadenza mensile). Con “term” mi riferisco al differenziale tra le IV della Put ATM sulla prima scadenza mensile (es. Marzo 14) e della Put ATM con scadenza mensile successiva (es. Aprile 14).

                      Avendo a disposizione solo dati a frequenza giornaliera, ho ipotizzato di lavorare nel seguente modo:

                      1. Ogni giorno in chiusura guardo il valore dello skew e del term e calcolo la media mobile a 30 e 50 periodi (con 1 periodo che in questo caso corrisponde a 1 giorno);
                      2. La posizione per il giorno successivo e’ long se la media a 30 periodi e’ inferiore a quella a 50 periodi e short se la 30 e’ superiore.



                      Il driver dei segnali e’ quindi il valore dello skew o term calcolato in chiusura del giorno precedente. E’ possibile, tuttavia, filtrare alcuni valori di skew e di term che e’ possibile classificare come “non informativi”.
                      Ho ipotizzato di farlo usando le distribuzioni di frequenza postate qualche messaggio sopra.

                      Si vedeva che valori di skew tra +2.5 e +7.5 sono molto frequenti per cui e’ possibile ipotizzare che il mercato consideri come "normali" certi valori. Analogamente, valori di term tra -1 e +1 possono essere considerati come “non informativi”. Scelgo allora di usare solo valori nelle code di quelle distribuzioni. Pertanto, con valori compresi tra +2.5 e +7.5 di skew, o compresi tra -1 e +1 di term, si rimane flat. Solo con valori di skew o term esterni a tali livelli si segue la regola del cross di medie mobili illustrato sopra.

                      Pertanto si definisce “strategia non filtrata” quella che opera solo sul cross delle medie mobili e che quidi seguira’ una logica stop&reverse. La “strategia filtrata” invece prevedera’ fasi flat, quando il driver (skew o term) si colloca nel range ad alta frequenza (per ipotesi considerato “normale” dal mercato).

                      In rosso c’e’ il rendimento cumulato di una strategia buy&hold sull’indice dal 2 gennaio 2006 al 10 marzo 2014.
                      Inziamo con una strategia skew-based che quindi usa come driver per i segnali solo il valore di skew rilevato in chiusura del periodo precedente.
                      In blu i risultati della “strategia non filtrata”, in verde quelli della “strategia filtrata”.

                      Click image for larger version

Name:	skew based.jpg
Views:	1
Size:	71.3 KB
ID:	150530

                      La strategia term-based prevede l’uso del term per generare segnali. In blu i risultati della “non filtrata”, in verde quelli della “filtrata”.

                      Click image for larger version

Name:	term based.jpg
Views:	1
Size:	69.7 KB
ID:	150531
                      Last edited by the learner; 11-03-14, 18:34.

                      Comment

                      • Ismael
                        Senior Member

                        • Jan 2011
                        • 240

                        #12
                        ho difficoltà a calcolare medie con il linguaggio di scripts...
                        Last edited by Ismael; 11-03-14, 18:57. Motivo: non ho visto msg appena scritto
                        E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.

                        Comment

                        • Cagalli Tiziano
                          Senior Member
                          • Dec 2007
                          • 11252

                          #13
                          Originariamente Scritto da the learner
                          Ok, grazie Tiziano. Mi raccomando veglia su di noi.

                          Intanto, ho fatto delle semplici simulazioni in Excel per vedere come si sarebbero comportate delle strategie direzionali su dati daily.


                          Nel seguito con “skew” mi riferisco al differenziale tra le IV della Put 25-delta e Call 25-delta (prima scadenza mensile). Con “term” mi riferisco al differenziale tra le IV della Put ATM sulla prima scadenza mensile (es. Marzo 14) e della Put ATM con scadenza mensile successiva (es. Aprile 14).

                          Avendo a disposizione solo dati a frequenza giornaliera, ho ipotizzato di lavorare nel seguente modo:

                          1. Ogni giorno in chiusura guardo il valore dello skew e del term e calcolo la media mobile a 30 e 50 periodi (con 1 periodo che in questo caso corrisponde a 1 giorno);
                          2. La posizione per il giorno successivo e’ long se la media a 30 periodi e’ inferiore a quella a 50 periodi e short se la 30 e’ superiore.



                          Il driver dei segnali e’ quindi il valore dello skew o term calcolato in chiusura del giorno precedente. E’ possibile, tuttavia, filtrare alcuni valori di skew e di term che e’ possibile classificare come “non informativi”.
                          Ho ipotizzato di farlo usando le distribuzioni di frequenza postate qualche messaggio sopra.

                          Si vedeva che valori di skew tra +2.5 e +7.5 sono molto frequenti per cui e’ possibile ipotizzare che il mercato consideri come "normali" certi valori. Analogamente, valori di term tra -1 e +1 possono essere considerati come “non informativi”. Scelgo allora di usare solo valori nelle code di quelle distribuzioni. Pertanto, con valori compresi tra +2.5 e +7.5 di skew, o compresi tra -1 e +1 di term, si rimane flat. Solo con valori di skew o term esterni a tali livelli si segue la regola del cross di medie mobili illustrato sopra.

                          Pertanto si definisce “strategia non filtrata” quella che opera solo sul cross delle medie mobili e che quidi seguira’ una logica stop&reverse. La “strategia filtrata” invece prevedera’ fasi flat, quando il driver (skew o term) si colloca nel range ad alta frequenza (per ipotesi considerato “normale” dal mercato).

                          In rosso c’e’ il rendimento cumulato di una strategia buy&hold sull’indice dal 2 gennaio 2006 al 10 marzo 2014.
                          Inziamo con una strategia skew-based che quindi usa come driver per i segnali solo il valore di skew rilevato in chiusura del periodo precedente.
                          In blu i risultati della “strategia non filtrata”, in verde quelli della “strategia filtrata”.

                          [ATTACH=CONFIG]14328[/ATTACH]

                          La strategia term-based prevede l’uso del term per generare segnali. In blu i risultati della “non filtrata”, in verde quelli della “filtrata”.

                          [ATTACH=CONFIG]14329[/ATTACH]
                          Ok procediamo così.
                          ..se corri dietro a due lepri, non ne prendi nemmeno una.

                          Comment

                          • Cagalli Tiziano
                            Senior Member
                            • Dec 2007
                            • 11252

                            #14
                            Originariamente Scritto da Ismael
                            ho difficoltà a calcolare medie con il linguaggio di scripts...
                            Domani ti faccio scrivere un esempio da Max
                            ..se corri dietro a due lepri, non ne prendi nemmeno una.

                            Comment

                            • the learner
                              Senior Member

                              • Dec 2011
                              • 571

                              #15
                              Originariamente Scritto da Cagalli Tiziano
                              Domani ti faccio scrivere un esempio da Max
                              Ciao Tiziano,

                              e\' possibile chiedere a Max di scrivere un codice che salvi ogni minuto in un file i dati della chain dell\'Eurostoxx (prime due scadenze mensili) cosi\' si iniziano a collezionare dati intraday per le vola che ci servono?

                              Sarebbe molto utile. Grazie.

                              Comment

                              Working...