Copula per principianti

Puoi spiegarmi in parole povere cosa volevi dire?

spero non andare troppo in ot epicureo ma mi sembra giusto concludere quanto ho iniziato con la mia interpretazione.

Puoi calcolare la probabilità su un lancio di dado, con raffiche di vento forte, con la statistica frequentistica?

Hai indipendenza stocastica solo sul solito campo in probabilità condizionata. Se la variazione avviene attraverso variabili di un altro campo (eventi di interesse) l'effetto non dipende dagli eventi in esame e ne modifichi la probabilità, meglio quindi usare bayes (tips).

Correlare e stabilizzare modelli matematici di lorenz con le copule è probabile ma tra diversi campi è altamente improbabile.

in ambito ristretto concordo che la copula è uno strumento potente e l'utilizzo ha solo benefici. Quando preso di riferimento da tutto il sistema finanziario è pericoloso a causa dell'isomorfismo.

Una notizia fondamentale, attacco biochiochimico in us, libero arbitrio, malattie incurabili, avidità, paura, demenza, clima, evento naturale. .ecc.. Queste situazioni possono essere non correlate ma quando è simmetrico al settore finanziario (evento di interesse) la copula non li separa, li integra e li correlaziona.

calcolando le correlazioni multiple di tutta la domanda e offerta del settore finanziario. Tutte! Il modello si correlaziona a catena. Curtosi o no il grado di correlazione della copula è talmente ampio che direttamente o indirettamente ogni elemento è coinvolto. La reazione a catena è irreversibile, una qualsiasi modifica aumenta solo la sua catena. reagire al quando si verifica non ha un come se è inevitabile.

L'intero sistema finanziario non è influenzato da tutti gli eventi, o meglio lo è ma l'entità è misurabile in arco di tempo circoscritto che si devia rapidamente prima che riprenda il suo normale corso. Eventi più importanti possono modificarne la struttura invalidando il modello.

Un unico modello generale che non separa l'indeterminabilità, o meglio non partiziona i campi, è poco credibile.
 
Sono eventi che se uno avviene e' molto probabile che l'altro faccia lo stesso
Ovviamente ti riferisci al primo esempio :)

Allora vedi che me lo confermi anche tu che non è tutto un lancio di dadi: ci sono cose che "tendono" ad accadere insieme e altre che invece "tendono" ad escludersi a vicenda.

A me sembra un problema decisamente importante da gestire quando lavori con strumenti finanziari, soprattutto visto che tu come trader retail campi principalmente di probabilità ben stimate (a differenza di un istituzionale che può avere delle posizioni privilegiate nei confronti di clientela e controparti per cui può fare soldi in altri modi oltre a fare previsioni).

In questa ottica capisci quindi che a qualche investitore potrebbe venire spontaneo chiedersi:
  1. qual è la probabilità che sia Intesa Sanpaolo sia Unicredit domani facciano -5% sapendo che i due eventi tendono ad accadere insieme?
  2. Qual è la probabilità che sia il Bund sia i BTP domani facciano -5% sapendo che i due eventi tendono ad escludersi vicendevolmente?
Questa «cosa» della copula (che - sicuramente - non potrà mai dirti dove comprare "basso" e vendere "alto"!) serve invece proprio a cercare di rispondere a domande come queste qui sopra.
 
Ovviamente ti riferisci al primo esempio :)

Allora vedi che me lo confermi anche tu che non è tutto un lancio di dadi: ci sono cose che "tendono" ad accadere insieme e altre che invece "tendono" ad escludersi a vicenda.

A me sembra un problema decisamente importante da gestire quando lavori con strumenti finanziari, soprattutto visto che tu come trader retail campi principalmente di probabilità ben stimate (a differenza di un istituzionale che può avere delle posizioni privilegiate nei confronti di clientela e controparti per cui può fare soldi in altri modi oltre a fare previsioni).

In questa ottica capisci quindi che a qualche investitore potrebbe venire spontaneo chiedersi:
  1. qual è la probabilità che sia Intesa Sanpaolo sia Unicredit domani facciano -5% sapendo che i due eventi tendono ad accadere insieme?
  2. Qual è la probabilità che sia il Bund sia i BTP domani facciano -5% sapendo che i due eventi tendono ad escludersi vicendevolmente?
Questa «cosa» della copula (che - sicuramente - non potrà mai dirti dove comprare "basso" e vendere "alto"!) serve invece proprio a cercare di rispondere a domande come queste qui sopra.

Quindi potremmo dire che serve per spiegarci che dobbiamo diversificare?
 
Su questo argomento mi ricordo che da qualche parte avevo suggerito un metodo empirico:

Ad es. due titoli A e B, 1000 log rend.

divido i rendimenti di A e B in N e M classi, costruendo un reticolo di N x M cassetti. In questo modo trovo le distribuzioni di probabilità congiunte nel campione dei 1000 rendimenti.

Ovviamente si può estendere a K titoli, e non si devono fare assunzioni a priori circa la forma delle distribuzioni.



Allora, prendendo spunto da Paolo h scritto due righe di codice sperando di fare cosa gradita e semplificare il concetto di copula che stiamo affrontando.

Due righe di codice assolutamente trasportabili in qualsiasi software e "veloci".

Mi costriusco un pannello con i seguenti inputs

HB= High Bench---> valor di range massimo del bench(bench perchè in questo esempio uso solo due serie, SP500(il bench) e DAX)

LB=Low Bench---> valore di range minimo del bench

HT=High Test---> valore di range massimo del test(il DAX in questo caso)

LT=Low Test----> valore di range minimo del test

Identifico i rendimenti logpercentuali delle serie in oggetto:

r= logre% del DAX

rsec=logre% dello SP500

Indico con la solita funzione, (è necessario avere rendimenti allineati per data in maniera accurata, magari eliminando le aperture solitarie e valore corrispondente)

Indico un lag che può essere zero o a piacere, utile per ulteriori indagini.

Scrivo:

DT1:=If(Ref(RSEC>=LB AND RSEC<=HB,-lag) AND R>=LT AND R<=HT,1,0);

cumulo gli "1" e divido per il numero delle osservazioni onde ottenere, ad esempio, le probabilità che, se lo S&P500(a lag da stabilire), ha espresso un rendimento compreso tra -3% e -7%, il DAX abbia conseguito un rendimento compreso nello stesso range, o maggiore o minore.

Il vettore risultante (cum(dt1)/num osservazioni) si presta ad ulteriori esami.

basta aggiungere degli "and" preceduti da rendimenti di serie diverse e si può velocemente ottenere un computo descrittivo delle probabilità congiunte di un paniere vasto in base alle osservazioni fino ad oggi raccolte.
 
Esempio con il nostro indice.

Prendendo rendimenti mensili, comodi perchè evit di allineare le date..(spero che il mio fornitore non sballi i mesi..)

le probabilità che il nostro indice esprima un rendimento compreso tra lo Zero e il 7% se lo SP ha messo a segno un rendimento compreso tra lo zero e il 2% sono del 16% circa.
Rispetto al rendimento del mese scorso espresso dallo SP500, stesso range, le probabilità scendono al 12.5% circa (il range in esame per il nostro indice è molto ampio..da zero al 7% ricordo..)
 
Esempio di pairs trading tenendo presente quanto sopra:

Impostiamo il range del "bench" , lo SP500, tra -0,1 e -3%

impostiamo il range del\dei "targets" tra -3% e -10%

calcoliamo il vettore cui sopra su SP500, DAX e FTSEMIB

Le probabilità di assistere , in concomitanza ad una chiusura mensile negativa dello SP500 limitata come sopra, ad una chiusura negativa di DAX e FTSEMIB (i nostri bersagli) limitata come sopra (quindi con un valore compreso tra -3% e meno 10%) sono per il nostro indice DOPPIE rispetto all'indice tedesco.(12% contro 6%)

Sara profittevole, chiedomi, scommettere shortando il FTSEMIB e Longando il DAX se lo S&P500 da inizio mese perde??

Un po' vaga, capisco. Mi riprometto di approfondire:)

(............)

ps: a lag "-1"..ovvero chiusura in range cui sopra del bench..le prob di DAX e FTSEMIB di mettere a segno chiusure nel range cui sopra sono identiche...:)
 
Profittevole in ogni caso...
ho usato il RAS del sig.ernesto

...

cf:= C;
cd:= Security("^Gdaxi",C);
rf:= 100*Log(cf/Ref(cf,-1));
rd:= 100*Log(cd/Ref(cd,-1));
drdrf:=rd-rf;
equity:=Cum(drdrf);equity;
Correl(rf,drdrf,12,0)*100;
Correl(rd,drdrf,12,0)*100;
((Atan(100+equity,100+Cum(10/12)) / 45-1)*100 /
(Stdev(equity-Ref(equity ,-1),6)))*10;0
 

Allegati

  • Untitled000.jpg
    Untitled000.jpg
    78 KB · Visite: 19
Key West ha scritto:
DT1:=If(Ref(RSEC>=LB AND RSEC<=HB,-lag) AND R>=LT AND R<=HT,1,0);

cumulo gli "1" e divido per il numero delle osservazioni onde ottenere, ad esempio, le probabilità che, se lo S&P500(a lag da stabilire), ha espresso un rendimento compreso tra -3% e -7%, il DAX abbia conseguito un rendimento compreso nello stesso range, o maggiore o minore.
L'uso della copula trova spazio soprattutto nella gestione di portafoglio.

Suggerisco di dare uno sguardo a
dove, a pag. 7, Bernhard Pfaff spiega succintamente quanto sopra (allego lo screen) come misura di copula "empirica".

La medesima misura è successivamente usata per ottimizzare un portafoglio di asset secondo l'approccio "Minimum Tail Dependence", con l'idea di generare il massimo valore per il portafoglio nel momento in cui è necessario difendersi da eventi di "lower tail" (cigni neri?).

Scrivere
Key West ha scritto:
DT1:=If(Ref(RSEC>=LB AND RSEC<=HB,-lag) AND R>=LT AND R<=HT,1,0);
e poi calcolarne la frequenza è equivalente alla formula che ho allegato come "Empirical Copula", dove è usata una funzione indicatrice per scremare i rendimenti raggruppati in N scaglioni.
 

Allegati

  • img.png
    img.png
    71,5 KB · Visite: 16
Ultima modifica:
Vi ringrazio entrambi.:)

(ps: sono contento che il RAS piaccia...serve a talmente tante cose che vale la pena smanettarci..)

@Cren

Per la minimum tail dependency io sto seguendo una strada diversa (sempre con l'intento di rendere accessibile a più softwares possibili un algo di ottimizzazione)

Datemi un giudizio anche se sono in fase di test iniziale

Vi allego direttamente l'algo

alpha:=Input("ALPHAewma:",1,100,97);alpha:=alpha/100;



r:= 100*Log(C/Ref(C,-1));

avgrend:= PREV*alpha + r*(1-alpha);

volat:=Sqr(Power(PREV,2)*(alpha)+(1-alpha)*Power(r-avgrend,2));


m2:=PREV*(alpha)+((1-alpha)*Power(r-avgrend,2));

m3:=PREV*(alpha)+((1-alpha)*Power(r-avgrend,3));

m4:=PREV*(alpha)+((1-alpha)*Power(r-avgrend,4));

sk:=m3/(m2*Sqr(m2));
ks:=(m4/Power(m2,2))-3;


z:=Input("Z:",-3.3,0,-2.326);


Cornish Fisher:=Abs(z+(((Power(z,2)-1)*sk)/6)+(((Power(z,3)-3*z)*ks)/24)-(((2*Power(z,3)-5*z)*Power(sk,2))/36));

rcf:=100*Log(mz/Ref(mz,-1));


avgrend:= PREV*alpha + rcf*(1-alpha);
volat:=Sqr(Power(PREV,2)*(alpha)+(1-alpha)*Power(rcf-avgrend,2));


qv:=(Power(mz,2)*volat)/100+mz;

qv

Sull'ultimo qv costruisco il VaR che verrà macinato da un successivo algoritmo per avere un paniere a varianza e coda minima.

Ovvero, la domanda che mi sono posto è stata:

il quantile stimato tramite espansione di CF con i momenti stimati tramite esponenziale, viene inserito in un contesto probabilistico che varia secondo la minore maggiore stabilità dello stesso.

Si ha un beneficio o no? A occhio (sul serio..esaminando inizialmente i vettori) sembra di sì...ma siamo all'inizio.

Perdonate l'OT,
 
ps:

per paoly che è maschista come me con MS, l'ho scritto in maniera più chiara..(ma è lo stesso)

hb:=Input("HB:",-100,100,0);

Lb:=Input("LB:",-100,100,-3);

HT:=Input("HT:",-100,100,-2);
LT:=Input("LT:",-100,100,-10);
LAG:=Input("Lag B:",0,100,0);
sec:=Security("C:\INDICI m-z\^gspc",C);

RSEC:=100*Log(SEC/Ref(SEC,-1));
sec:=Security("C:\INDICI a-l\^gdaxi",C);

RSEC2:=100*Log(SEC/Ref(SEC,-1));
R:=100*Log(C/Ref(C,-1));----> questo è il FTSEMIB..o la serie al quale viene attaccato l'indicatore..


DT:=If(RSEC>=LB AND RSEC<=HB,1,0);



DT1:=If(RSEC2>=LB AND RSEC2<=HB,1,0);

dt2:=If(R>=LT AND R<=HT,1,0);



VP:=Cum(Ref(dt,-lag)*dt2)/Cum(1)*100; vp;
PREV*0.81+vp*0.19;

VP:=Cum(Ref(dt,-lag)*dt1)/Cum(1)*100; vp;

PREV*0.81+vp*0.19;

con SP,dax e ftsemib si ha il graf in allegato..utile per esaminare le tendenze

:bye:
 

Allegati

  • paoly.jpg
    paoly.jpg
    66 KB · Visite: 30
Codice:
z:=Input("Z:",-3.3,0,-2.326);

Cornish Fisher:=Abs(z+(((Power(z,2)-1)*sk)/6)+(((Power(z,3)-3*z)*ks)/24)-(((2*Power(z,3)-5*z)*Power(sk,2))/36));
rcf:=100*Log([B][COLOR="Red"]mz[/COLOR][/B]/Ref([B][COLOR="red"]mz[/COLOR][/B],-1));
avgrend:= PREV*alpha + rcf*(1-alpha);
volat:=Sqr(Power(PREV,2)*(alpha)+(1-alpha)*Power(rcf-avgrend,2));
qv:=(Power([B][COLOR="red"]mz[/COLOR][/B],2)*volat)/100+[B][COLOR="red"]mz[/COLOR][/B];
Non è definito mz.
 
Che significa sommare a un VaR il prodotto tra il quadrato di un VaR e la volatilità?



mz lè quantile e media

mz*mz*volat/100 è la percentuale che aggiungo ad mz per abbracciare il 99% di osservazioni

contratto = mz^2*volat\100 +mz..

devo aver fatto questo ragionamento..(sto ricostruendo..)
 
@ Key West
Grazie :)

OT: da prima del 2007-2008 i mercati hanno iniziato a mollare il nostro indice ...tutto pareva tranquillo! mi domando il perchè?
 
L'uso della copula trova spazio soprattutto nella gestione di portafoglio.
Una delle applicazioni della minima tail dependence che mi stimola maggiormente è quella su obbligazioni HY.

Non c'è dubbio che uno dei veri vincitori dell'ultimo anno sia stato il segmento delle obbligazioni HY (Figura 1): ETF come il JNK o il HYG hanno reso - dividendi inclusi & reinvestiti - oltre il 16% su base annua.

Allego le performance dei seguenti ETF cui ho aggiunto il dividend yield medio annuo percentuale (Figura 2):
  • GLD = oro;
  • HYG = obbligazioni HY + 4.90%;
  • LQD = obbligazioni IG + 2.90%.
Su quei tre ETF ho poi costruito:
  • GMV.Portfolio = portafoglio a minima varianza globale;
  • MD.Portfolio = portafoglio a massima diversificazione;
  • MTD.Portfolio = portafoglio a minima tail dependence.
L'analisi delle performance parte dall'aprile del 2007:
Codice:
                          GMV.Portfolio MD.Portfolio MTD.Portfolio    GLD    HYG    LQD
Annualized Return                0.0715       0.0825        0.0781 0.1517 0.0328 0.0497
Annualized Std Dev               0.0909       0.0969        0.0950 0.2112 0.1569 0.1051
Annualized Sharpe (Rf=0%)        0.7871       0.8515        0.8222 0.7180 0.2087 0.4725
A parte i benefici della diversificazione - in qualunque modo sia fatta - il mio interesse non verte tanto sull'acquisto degli ETF in determinate proporzioni, quanto sulla costruzione di un portafoglio di obbligazioni HY che abbia la minima probabilità di lasciarmi appeso in caso di insolvenza di uno o più emittenti.

I prezzi delle obbligazioni non possono essere usati per ricavare una misura di tail dependence poiché questi sono sempre misurati in un contesto in cui non c'è insolvenza - altrimenti il prezzo scivolerebbe al tasso di recupero e saremmo già fregati prima ancora di abbozzare un portafoglio.

Credo sia quindi inevitabile cercare di misurare la tail dependence sui CDS, cioè misurare la correlazione quando gli spread raggiungono i livelli più estremi.
 

Allegati

  • Rplot.png
    Rplot.png
    8,1 KB · Visite: 159
  • Rplot01.png
    Rplot01.png
    14 KB · Visite: 165
Cren, una domanda (da pollo): ma tutte queste misure di tail dependence non soffrono del vizio originale di essere misurate, sulle "code", e quindi di essere statisticamente poco significative ?

Voglio dire, "il passato somiglierà al futuro" è davvero una considerazione di qualche utilità quando andiamo a ragionare sulle code ?

Esempio a caso: qual'è la tail dependence tra i BTP e altri bond europei ? Prendiamo quelli francesi. A Novembre 2011 sembrava esserci una tail dependence notevole. Poi il nulla. Se andassimo di nuovo in ***** ... ? Boh ?
 
Cren, una domanda (da pollo): ma tutte queste misure di tail dependence non soffrono del vizio originale di essere misurate, sulle "code", e quindi di essere statisticamente poco significative ?

Voglio dire, "il passato somiglierà al futuro" è davvero una considerazione di qualche utilità quando andiamo a ragionare sulle code ?
Ottima domanda.

Da un punto di vista "tecnico", credo esistano comunque dei criteri per definire la dimensione del campione di coda (quindi la soglia oltre la quale porre il confine tra ciò che è "di coda" e ciò che non lo è): ho visto test diagnostici per la Extreme Value Theory (EVT) e, se guardi la presentazione di Pfaff che ho allegato pochi messaggi fa, vedi che si fa riferimento ad un risultato raggiunto nel 2005 da Dobrić e Schmid per cui la "soglia" dipende da quante osservazioni hai.

Nella teoria questo *dovrebbe* assicurare consistenza.

Nella pratica temo che non abbiamo alcuna garanzia tranne la solita speranza, per lo meno nutrita dal fatto che - a differenza dei rendimenti - la correlazione mostra buona persistenza, soprattutto quando supportata da qualche logica fondamentale (es. SPY vs. TLT).

Quindi, per esemplificare, mi aspetterei che, al prossimo "cigno nero" che colpirà l'azionario, azionario e obbligazioni HY ancora una volta si correleranno molto più di quanto mostrano ora (e questa è la tail dependence), mentre GLD e TLT avranno comportamento diverso.

Diciamo che minimizzare questo rischio "di coda" è una speranza ragionevolmente nutrita dal passato (ammira la diplomazia :D).
Esempio a caso: qual'è la tail dependence tra i BTP e altri bond europei ? Prendiamo quelli francesi. A Novembre 2011 sembrava esserci una tail dependence notevole. Poi il nulla. Se andassimo di nuovo in ***** ... ? Boh ?
Appunto.

Se misuri la correlazione tra titoli di Stato italiani e francesi negli ultimi mesi magari non ottieni nulla di particolarmente significativo, anche se - nel novembre del 2011 - i rendimenti dei Governativi francesi schizzano su insieme ai nostri; una misura di tail dependence sul passato dà maggiore evidenza solo a questo comportamento, lo ritiene probabile anche per il futuro e quindi ti suggerirà di non dare troppo peso a entrambi gli asset, ché tanto stai comprando la stessa roba.

E' significativo & affidabile?

Questo è il dilemma della dimensione del campione: ha senso fare misurazioni su qualcosa successo n anni fa dopo che il contesto è cambiato? O è meglio basarsi su osservazioni più recenti che però escludono eventi estremi?

Bella domanda...
 
Ho guardato il documento di Pfaff. Molto interessante.

Sorge tuttavia un'altra domanda da pollo. A pagina 7 e 8 Pfaff mi fa un pippone sugli stimatori non-parametrici, poi però nel codice a pagina 18 si limita a calcolare un Kendall Tau, sbatterlo dentro una copula di Clayton e ricavare dalla copula parametrica la stima della tail dependence.

Ma se costruisco uno stimatore della tail dependence partendo da uno stimatore della correlazione generale, tutto il discorso del "guardare le code" non va allegramente a donnine ? Cioè la mia "tail dependence" sarà determinata dalla copula che scelgo, più che dall'effettivo comportamento empirico dei due cosi. Esempio estremo ci metto una copula gaussiana e ciaopep alla tail dependence: ovviamente non ce la metto, ma il fatto stesso che esista una copula parametrica che sicuramente mi rende 0 la tail dependence mi dimostra indubitabilmente che la scelta della funzione copula non è irrilevante per il risultato finale.

Anche perchè sono andato a pescare Dobric-Schimdt e parla solo di stimatori nonparametrici, non di quella roba che fa Pfaff, quindi ho i miei dubbi sul fatto che la consistenza (= in ogni modo la calcolo deve venire uguale, almeno quello è il significato del termine per me ingegnero caprone :p) della TD misurata in questo modo sia assicurata.
 
Ultima modifica:
Indietro