SlideShare a Scribd company logo
IMPLEMENTAZIONE IN VBA DI OPZIONI ESOTICHE
Università Degli Studi Di Padova
Dipartimento Di Scienze Economiche e Aziendali
Corso Di Laurea Magistrale in Economia e Finanza
Arcuri Stefania 1035987 - Peraro Valentina 1040045 - Schiavon Lucia 1035797
Computational Finance
A.A. 2012/2013
SCHEMA DEL LAVORO
 Presentazione dei fondamenti teorici
 Cos’è il rischio di controparte?
 Quando sorge?
 In cosa consiste l’esposizione a tale rischio?
 Descrizione del modello di implementazione in
VBA
 Caso Pratico
 Analisi dei codici
2
COS’Ѐ IL RISCHIO DI CONTROPARTE
 Dalla Circolare n° 263 del 27 dicembre 2006 di Banca
d’Italia, il rischio di controparte è definito come:
il rischio che la controparte di una transazione
finanziaria avente ad oggetto determinati strumenti
finanziari risulti inadempiente prima del regolamento
della transazione stessa.
 A differenza del rischio di credito in cui la probabilità di
perdita è unilaterale e in capo alla banca erogante, il
rischio di controparte crea, di regola, un rischio di perdita
di tipo bilaterale. Infatti, il valore di mercato della
transazione può essere positivo o negativo per entrambe
le controparti.
3
QUANDO SORGE
4
Principalmente dall’utilizzo di derivati Over the
Counter (OTC), dove:
• mancano quotazioni ufficiali  asimmetria
informativa;
• la diffusione delle informazioni tra le parti non è
regolamentata  maggiore rischiosità.
Il 15/03/13 è entrata in vigore l’ EMIR  obblighi di
compensazione di strumenti derivati OTC,
segnalazione informativa a soggetti autorizzati.
L’ ESPOSIZIONE AL
RISCHIO
 Il possessore di un contratto è esposto al rischio
di controparte quando:
 La controparte è inadempiente  non onora i
pagamenti previsti dal contratto;
 Il possessore stesso è creditore  sostituire il
contratto significa subire una perdita pari al
valore di mercato del contratto (MtM+).
5
 Asimmetria del rischio di controparte:
 Se il possessore è creditore subirà una perdita
pari al MtM+;
 Se, invece, è debitore non subirà né una perdita
né otterrà un guadagno.
6
ANALITICAMENTE (1)
E, EE, EPE
 L’esposizione (E) al rischio è funzione del Mark-to-Market:
𝐸𝑖(𝑡) = max 𝑀𝑡𝑀𝑖(𝑡); 0
 L'esposizione attesa per ogni periodo futuro sarà l’Expected
Exposure (EE):
𝐸𝐸(𝑡) =
𝑖=1
𝑚
𝐸[𝑚𝑎𝑥(𝑀𝑡𝑀𝑖(𝑡); 0)]
 La stima ad oggi delle esposizioni future è data dall'Expected
Positive Exposure (EPE) in un intervallo temporale [0;T]:
𝐸𝑃𝐸(𝑇) = 𝑡=0
𝑇
𝐸𝐸 𝑡 ∗𝑡
𝑇
7
ANALITICAMENTE (2)
dall’EE ed EPE all’EEE ed EEPE
 PROBLEMA:
L'EE e l'EPE possono sottostimare l'esposizione per
transazioni a breve maturity.
Questo avviene a causa dell’estinzione dei contratti di
breve periodo, sebbene questi siano sostituiti con nuovi
contratti la metrica non integra con i nuovi valori.
 SOLUZIONE:
Basilea II ha introdotto delle misure alternative (definite
effettive). Si tratta di:
 Effective Expected Exposure (EEE);
 Effective Expected Positive Exposure (EEPE).
8
ANALITICAMENTE (3)
EEE, EEPE
 L'EEE introduce un vincolo di non decremento,
tale per cui ad un dato periodo l'EE non può
essere inferiore all'EEE del periodo precedente:
𝐸𝐸𝐸 𝑡 = 𝑚𝑎𝑥 𝐸𝐸 𝑡 ; 𝐸𝐸𝐸(𝑡 − 1)
 L'EEPE è la media ponderata per il tempo delle
EEE:
𝐸𝐸𝑃𝐸(𝑇) =
𝑡=0
𝑇
𝐸𝐸𝐸 𝑡 ∗ 𝑡
𝑇
9
CASO PRATICO
 Opzioni esotiche (path-dependent) considerate:
 Opzione Asiatica Call
 Opzione Barriera Call Up-and-Out
 Opzione Barriera Call Up-and-In
 Opzione Lookback Call
 Opzione Lookback Put
 Costruite sui seguenti indici azionari:
 FTSEMIB
 GDAXX
 STOXX50E
 S&P500
 CAC40
10
VALUTAZIONE
DELL’ESPOSIZIONE
 Il rischio risiede nell’evoluzione del sottostante, stimata
attraverso simulazioni MonteCarlo ed i cui input sono stati:
 S0: valore iniziale del sottostante;
 K: strike price;
 r: risk-free rate;
 σ: volatilità storica del sottostante
 Δt: intervallo di tempo espresso in anni;
 T: maturity;
 m: numero di scenari
Tali per cui:
𝑆𝑡 = 𝑆𝑡−1 ∗ 𝑒𝑥𝑝 𝑟 −
𝜎2
2
∗ ∆𝑡 + 𝜎 ∗ ∆𝑡 ∗ 𝑁(0,1)
11
 Ottenute le n*m simulazioni di 𝑆𝑡 si passa a calcolare
gli m payoff per il primo time step:
dove n, numero di time step, è ricavato come rapporto
tra Δt e il periodo di analisi x, pari a un anno o alla
maturity se questa è inferiore ad un anno.
Opzione Payoff
Call Asiatica 𝑚𝑎𝑥
1
𝑇
𝑡=1
𝑇
𝑆𝑡 − 𝐾; 0
Barriera Call Up-and-Out
𝑚𝑎𝑥 𝑆 𝑇 − 𝐾; 0 𝑠𝑒 𝑚𝑎𝑥𝑆𝑡 < 𝐵
0 𝑠𝑒 𝑚𝑎𝑥𝑆𝑡 > 𝐵
Barriera Call Up-and-In
𝑚𝑎𝑥 𝑆 𝑇 − 𝐾; 0 𝑠𝑒 𝑚𝑎𝑥𝑆𝑡 > 𝐵
0 𝑠𝑒 𝑚𝑎𝑥𝑆𝑡 < 𝐵
Lookback Call 𝑚𝑎𝑥 𝑆 𝑇 − 𝑚𝑖𝑛𝑆𝑡; 0
Lookback Put 𝑚𝑎𝑥 𝑚𝑎𝑥𝑆𝑡 − 𝑆 𝑇; 0
12
MONTECARLO IN
MONTECARLO…
 Al fine di mantenere memoria delle simulazioni, ad
ogni time step successivo al primo si è ripetuto MC
ponendo:
𝑆0(𝑡) =
1
𝑀 𝑚=1
𝑀
𝑆 𝑚(𝑡 − 1)
N.B. Di volta in volta si considera un orizzonte
temporale via via decrescente.
 Ad ogni nuova simulazione si riapplicano le formule di
payoff, ottenendo alla fine n*m payoff.
13
 Ottenuti così gli m*n payoff, possiamo
passare al calcolo delle varie misure stimanti
l’esposizione.
Metriche Formule
EE(t) 1
𝑀
𝑚=1
𝑀
𝑝𝑎𝑦𝑜𝑓𝑓𝑚(𝑡)
EPE
𝑡=0
𝑇
[𝐸𝐸(𝑡) ∗ 𝑑𝑡]
𝑇
EEE(t) max 𝐸𝐸𝐸 𝑡 − 1 ; 𝐸𝐸(𝑡)
EEPE
𝑡=0
𝑇
[𝐸𝐸𝐸(𝑡) ∗ 𝑑𝑡]
𝑇
14
Interfaccia in Excel
15
ESEMPIO DI CODICE: Call Asiatica
1/12
Abbiamo nominato la macro e dichiarato le variabili
principali:
Sub Asiancall()
Dim sigma As Double, S0 As Double, K As Long, r As Currency
Dim q As Double, n As Integer, T As Double, sum As Long
Dim dt As Double, x As Double
16
ESEMPIO DI CODICE: Call Asiatica
2/12
Con i seguenti codici istruiamo VBA riguardo le celle di
Excel in cui trovare i valori input delle variabili:
S0 = Foglio2.Cells(7, 3)
K = Foglio2.Cells(8, 3)
r = Foglio2.Cells(9, 3)
sigma = Foglio2.Cells(10, 3)
dt = Foglio2.Cells(11, 3)
T = Foglio2.Cells(14, 3)
m = Foglio2.Cells(12, 3)
17
ESEMPIO DI CODICE: Call Asiatica
3/12
In questa sezione di codice ricaviamo n (numero di time
step) dopo aver definito x (orizzonte temporale non
superiore a un anno). L’ultima riga ordina a VBA di
inserire il valore nella specifica cella di Excel.
dt = dt / 360
If T > 1 Then
x = 1
Else
x = T
End If
w = x / dt
n = Fix(w)
Foglio2.Cells(13, 3) = n
18
ESEMPIO DI CODICE: Call Asiatica
4/12
Indicazioni delle dimensioni delle matrici e definizione
delle variabili ‘accessorie’ utili per i passaggi successivi.
ReDim s(1 To m, 1 To n)
ReDim array_po(1 To m, 1 To n)
ReDim EE(1, 1 To n)
ReDim EEE(1, 0 To n)
Dim p As Integer
Dim i As Integer
Dim j As Integer
Dim Y As Currency
Dim S1 As Double
Dim sum_s As Double
Dim med_s As Double
19
ESEMPIO DI CODICE: Call Asiatica
5/12
Inizializzazione degli indici e delle variabili. L’ultimo
comando permette la creazione di valori casuali non
ripetuti.
j = 1
i = 1
p = 0
sum_s = 0
EE_tot = 0
EEE_tot = 0
Randomize
20
ESEMPIO DI CODICE: Call Asiatica
6/12
Successivamente sono stati iniziati due cicli, con il primo
vogliamo ottenere i payoff per ogni time step. Con il ciclo
più interno, invece, simuliamo i valori del sottostante al
fine di calcolare il payoff per uno specifico time step.
Entrambi avvengono per m scenari.
Abbiamo utilizzato due cicli validi finché la condizione
non risulti falsa.
Do
…
Do
…
Loop Until i > m
Loop Until j > n
21
ESEMPIO DI CODICE: Call Asiatica
7/12
All’inizio del ciclo più interno le seguenti istruzioni
definiscono 𝑆0 per le simulazioni successivi alla prima.
Y = Application.WorksheetFunction.NormSInv(Rnd)
s(i, p) = S0 * Exp((r - ((sigma ^ 2) / 2) - q) * dt + sigma * (dt ^ (1 / 2)) * Y)
sum_s = s(i, p)
22
Do
If j > 1 Then
S0 = S1_m
End If
Di seguito viene calcolata la simulazione del sottostante
per il primo time step di ogni simulazione.
ESEMPIO DI CODICE: Call Asiatica
8/12
Successivamente si esegue il ciclo per calcolare il
sottostante nei rimanenti time step.
Il ciclo è valido fino a che la condizione indicata risulta
vera.
Do While p < n
p = p + 1
Y = Application.WorksheetFunction.NormSInv(Rnd)
s(i, p) = s(i, (p - 1)) * Exp((r - ((sigma ^ 2) / 2) - q) * dt + sigma *
(dt ^ (1 / 2)) * Y)
sum_s = sum_s + s(i, p)
Loop
23
ESEMPIO DI CODICE: Call Asiatica
9/12
Abbiamo poi calcolato il payoff.
Nel caso dell’opzione asiatica, occorre determinare la
media dei valori del sottostante e a questa sottrarre il
valore dello strike. Si è poi scelto di determinare il
massimo tra il valore ottenuto e 0 attraverso l’istruzione
‘If…Then…Else’.
med_s = sum_s / (p - j + 1)
payoff_s = med_s – K
If payoff_s >= 0 Then
array_po(i, j) = payoff_s
Else
array_po(i, j) = 0
End If
24
ESEMPIO DI CODICE: Call Asiatica
10/12
Terminiamo questo primo ciclo calcolando la somma dei
payoff per periodo e la somma dei valori del sottostante
al primo periodo delle rispettive simulazioni. Quest’ultimo
permette di calcolare la media dei sottostanti al primo
periodo, tale valore diventerà 𝑆0 alla successiva
ripetizione del ciclo.
p = tpp
S1 = S1 + s(i, p)
po_sum = po_sum + array_po(i, j)
i = i + 1
Loop Until i > m
S1_m = S1 / m
25
ESEMPIO DI CODICE: Call Asiatica
11/12
Possiamo ora calcolare due delle misure sopraindicate:
l’EE e l’EEE. Queste vengono poi mostrate sul foglio
Excel.
EE(1, j) = po_sum / m
Foglio2.Cells(5, 5 + j) = EE(1, j)
If j = 1 Then
EEE(1, j) = EE(1, j)
Else
EEE(1, j) = Application.WorksheetFunction.Max(EE(1, j), EEE(1, j - 1))
End If
Foglio2.Cells(7, 5 + j) = EEE(1, j)
EE_tot = EE_tot + EE(1, j) * dt
EEE_tot = EEE_tot + EEE(1, j) * dt
26
ESEMPIO DI CODICE: Call Asiatica
12/12
Infine, chiuso il secondo ciclo, calcoliamo le altre due
misure: l’EPE e l’EEPE, mostrandole sul foglio Excel.
EE_tot = EE_tot + EE(1, j) * dt
EEE_tot = EEE_tot + EEE(1, j) * dt
…
Loop Until j > n
EPE = EE_tot / x
EEPE = EEE_tot / x
Foglio2.Cells(6, 6) = EPE
Foglio2.Cells(8, 6) = EEPE
End Sub
27
Grazie per l’attenzione!
28

More Related Content

What's hot

1.01 Algoritmi
1.01 Algoritmi1.01 Algoritmi
1.01 Algoritmi
Angela Cristina
 
Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012STELITANO
 
Tesi Specialistica: Pattugliamento strategico multi-robot in ambienti di topo...
Tesi Specialistica: Pattugliamento strategico multi-robot in ambienti di topo...Tesi Specialistica: Pattugliamento strategico multi-robot in ambienti di topo...
Tesi Specialistica: Pattugliamento strategico multi-robot in ambienti di topo...Federico Villa
 
Informatica di base
Informatica di baseInformatica di base
Informatica di base
Francesco Zoino
 
Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!
Marcello Missiroli
 
4 Strutture Condizionali
4   Strutture Condizionali4   Strutture Condizionali
4 Strutture Condizionaliguest60e9511
 
Elliptic Curve Method di Lenstra
Elliptic Curve Method di LenstraElliptic Curve Method di Lenstra
Elliptic Curve Method di Lenstra
peppespe
 
2 Rappresentazione Dei Dati
2   Rappresentazione Dei Dati2   Rappresentazione Dei Dati
2 Rappresentazione Dei Datiguest60e9511
 

What's hot (8)

1.01 Algoritmi
1.01 Algoritmi1.01 Algoritmi
1.01 Algoritmi
 
Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012
 
Tesi Specialistica: Pattugliamento strategico multi-robot in ambienti di topo...
Tesi Specialistica: Pattugliamento strategico multi-robot in ambienti di topo...Tesi Specialistica: Pattugliamento strategico multi-robot in ambienti di topo...
Tesi Specialistica: Pattugliamento strategico multi-robot in ambienti di topo...
 
Informatica di base
Informatica di baseInformatica di base
Informatica di base
 
Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!
 
4 Strutture Condizionali
4   Strutture Condizionali4   Strutture Condizionali
4 Strutture Condizionali
 
Elliptic Curve Method di Lenstra
Elliptic Curve Method di LenstraElliptic Curve Method di Lenstra
Elliptic Curve Method di Lenstra
 
2 Rappresentazione Dei Dati
2   Rappresentazione Dei Dati2   Rappresentazione Dei Dati
2 Rappresentazione Dei Dati
 

Similar to Esposizione al rischio di controparte

Lezione 4 modelli per la stima del rischio
Lezione 4   modelli per la stima del rischioLezione 4   modelli per la stima del rischio
Lezione 4 modelli per la stima del rischioGiovanni Della Lunga
 
Econometria_AssetSelection.pptx
Econometria_AssetSelection.pptxEconometria_AssetSelection.pptx
Econometria_AssetSelection.pptx
AndreaAmati3
 
Localizzazione delle colonnine per la ricarica dei veicoli elettrici a Roma
Localizzazione delle colonnine per la ricarica dei veicoli elettrici a RomaLocalizzazione delle colonnine per la ricarica dei veicoli elettrici a Roma
Localizzazione delle colonnine per la ricarica dei veicoli elettrici a Roma
Alessandro Sepiacci
 
Codici di Reed-Solomon
Codici di Reed-SolomonCodici di Reed-Solomon
Codici di Reed-Solomon
Filippo Ragazzo
 
Reti Logic
Reti LogicReti Logic
Reti Logic
carmine ricca
 
Un Metodo Nuovo e Semplice per Generare Numeri Pseudocasuali​
Un Metodo Nuovo e Semplice per Generare Numeri Pseudocasuali​Un Metodo Nuovo e Semplice per Generare Numeri Pseudocasuali​
Un Metodo Nuovo e Semplice per Generare Numeri Pseudocasuali​
DH Pereira
 
Presentazione integrali con economia, malthus e c14
Presentazione integrali con economia, malthus e c14Presentazione integrali con economia, malthus e c14
Presentazione integrali con economia, malthus e c14francoric
 
Problemi di scelta nel caso continuo
Problemi di scelta nel caso continuoProblemi di scelta nel caso continuo
Problemi di scelta nel caso continuo
Luigi Pasini
 
Test 03b 26.05.2015
Test 03b   26.05.2015Test 03b   26.05.2015
Test 03b 26.05.2015
Corrado Pecora
 
R sim rank
R sim rank  R sim rank
R sim rank
Andrea Ciccotta
 
Sistema elaboratore in multiprogrammazione
Sistema elaboratore in multiprogrammazioneSistema elaboratore in multiprogrammazione
Sistema elaboratore in multiprogrammazione
Davide Ciambelli
 
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
MatteoZarot
 
Umano vs Computer: un esempio pratico
Umano vs Computer: un esempio praticoUmano vs Computer: un esempio pratico
Umano vs Computer: un esempio pratico
Francesco Sblendorio
 
Capire il DoE con Minitab
Capire il DoE con MinitabCapire il DoE con Minitab
Capire il DoE con Minitab
GMSL S.r.l.
 
Simare la volatilità dalle serie storiche
Simare la volatilità dalle serie storicheSimare la volatilità dalle serie storiche
Simare la volatilità dalle serie storiche
Luigi Piva CQF
 
Book impianti Centralizzati TV e SAT-FTE Maximal Italia
Book impianti Centralizzati TV e SAT-FTE Maximal ItaliaBook impianti Centralizzati TV e SAT-FTE Maximal Italia
Book impianti Centralizzati TV e SAT-FTE Maximal Italia
Massimo Talia
 
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...
Tullio Emilio Di Simone
 
Il modello Logistico
Il modello LogisticoIl modello Logistico
Il modello Logistico
silvanoandorno
 
Modellazione tramite geometria frattale
Modellazione tramite geometria frattaleModellazione tramite geometria frattale
Modellazione tramite geometria frattaleMassimiliano Leone
 
Anteprima Costruzione di Motori per Aeromobili
Anteprima Costruzione di Motori per AeromobiliAnteprima Costruzione di Motori per Aeromobili
Anteprima Costruzione di Motori per Aeromobili
LucaFreilino1
 

Similar to Esposizione al rischio di controparte (20)

Lezione 4 modelli per la stima del rischio
Lezione 4   modelli per la stima del rischioLezione 4   modelli per la stima del rischio
Lezione 4 modelli per la stima del rischio
 
Econometria_AssetSelection.pptx
Econometria_AssetSelection.pptxEconometria_AssetSelection.pptx
Econometria_AssetSelection.pptx
 
Localizzazione delle colonnine per la ricarica dei veicoli elettrici a Roma
Localizzazione delle colonnine per la ricarica dei veicoli elettrici a RomaLocalizzazione delle colonnine per la ricarica dei veicoli elettrici a Roma
Localizzazione delle colonnine per la ricarica dei veicoli elettrici a Roma
 
Codici di Reed-Solomon
Codici di Reed-SolomonCodici di Reed-Solomon
Codici di Reed-Solomon
 
Reti Logic
Reti LogicReti Logic
Reti Logic
 
Un Metodo Nuovo e Semplice per Generare Numeri Pseudocasuali​
Un Metodo Nuovo e Semplice per Generare Numeri Pseudocasuali​Un Metodo Nuovo e Semplice per Generare Numeri Pseudocasuali​
Un Metodo Nuovo e Semplice per Generare Numeri Pseudocasuali​
 
Presentazione integrali con economia, malthus e c14
Presentazione integrali con economia, malthus e c14Presentazione integrali con economia, malthus e c14
Presentazione integrali con economia, malthus e c14
 
Problemi di scelta nel caso continuo
Problemi di scelta nel caso continuoProblemi di scelta nel caso continuo
Problemi di scelta nel caso continuo
 
Test 03b 26.05.2015
Test 03b   26.05.2015Test 03b   26.05.2015
Test 03b 26.05.2015
 
R sim rank
R sim rank  R sim rank
R sim rank
 
Sistema elaboratore in multiprogrammazione
Sistema elaboratore in multiprogrammazioneSistema elaboratore in multiprogrammazione
Sistema elaboratore in multiprogrammazione
 
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
 
Umano vs Computer: un esempio pratico
Umano vs Computer: un esempio praticoUmano vs Computer: un esempio pratico
Umano vs Computer: un esempio pratico
 
Capire il DoE con Minitab
Capire il DoE con MinitabCapire il DoE con Minitab
Capire il DoE con Minitab
 
Simare la volatilità dalle serie storiche
Simare la volatilità dalle serie storicheSimare la volatilità dalle serie storiche
Simare la volatilità dalle serie storiche
 
Book impianti Centralizzati TV e SAT-FTE Maximal Italia
Book impianti Centralizzati TV e SAT-FTE Maximal ItaliaBook impianti Centralizzati TV e SAT-FTE Maximal Italia
Book impianti Centralizzati TV e SAT-FTE Maximal Italia
 
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...
Simulazione mediante matlab di un sistema di comunicazione con modulazioni mu...
 
Il modello Logistico
Il modello LogisticoIl modello Logistico
Il modello Logistico
 
Modellazione tramite geometria frattale
Modellazione tramite geometria frattaleModellazione tramite geometria frattale
Modellazione tramite geometria frattale
 
Anteprima Costruzione di Motori per Aeromobili
Anteprima Costruzione di Motori per AeromobiliAnteprima Costruzione di Motori per Aeromobili
Anteprima Costruzione di Motori per Aeromobili
 

Esposizione al rischio di controparte

  • 1. IMPLEMENTAZIONE IN VBA DI OPZIONI ESOTICHE Università Degli Studi Di Padova Dipartimento Di Scienze Economiche e Aziendali Corso Di Laurea Magistrale in Economia e Finanza Arcuri Stefania 1035987 - Peraro Valentina 1040045 - Schiavon Lucia 1035797 Computational Finance A.A. 2012/2013
  • 2. SCHEMA DEL LAVORO  Presentazione dei fondamenti teorici  Cos’è il rischio di controparte?  Quando sorge?  In cosa consiste l’esposizione a tale rischio?  Descrizione del modello di implementazione in VBA  Caso Pratico  Analisi dei codici 2
  • 3. COS’Ѐ IL RISCHIO DI CONTROPARTE  Dalla Circolare n° 263 del 27 dicembre 2006 di Banca d’Italia, il rischio di controparte è definito come: il rischio che la controparte di una transazione finanziaria avente ad oggetto determinati strumenti finanziari risulti inadempiente prima del regolamento della transazione stessa.  A differenza del rischio di credito in cui la probabilità di perdita è unilaterale e in capo alla banca erogante, il rischio di controparte crea, di regola, un rischio di perdita di tipo bilaterale. Infatti, il valore di mercato della transazione può essere positivo o negativo per entrambe le controparti. 3
  • 4. QUANDO SORGE 4 Principalmente dall’utilizzo di derivati Over the Counter (OTC), dove: • mancano quotazioni ufficiali  asimmetria informativa; • la diffusione delle informazioni tra le parti non è regolamentata  maggiore rischiosità. Il 15/03/13 è entrata in vigore l’ EMIR  obblighi di compensazione di strumenti derivati OTC, segnalazione informativa a soggetti autorizzati.
  • 5. L’ ESPOSIZIONE AL RISCHIO  Il possessore di un contratto è esposto al rischio di controparte quando:  La controparte è inadempiente  non onora i pagamenti previsti dal contratto;  Il possessore stesso è creditore  sostituire il contratto significa subire una perdita pari al valore di mercato del contratto (MtM+). 5
  • 6.  Asimmetria del rischio di controparte:  Se il possessore è creditore subirà una perdita pari al MtM+;  Se, invece, è debitore non subirà né una perdita né otterrà un guadagno. 6
  • 7. ANALITICAMENTE (1) E, EE, EPE  L’esposizione (E) al rischio è funzione del Mark-to-Market: 𝐸𝑖(𝑡) = max 𝑀𝑡𝑀𝑖(𝑡); 0  L'esposizione attesa per ogni periodo futuro sarà l’Expected Exposure (EE): 𝐸𝐸(𝑡) = 𝑖=1 𝑚 𝐸[𝑚𝑎𝑥(𝑀𝑡𝑀𝑖(𝑡); 0)]  La stima ad oggi delle esposizioni future è data dall'Expected Positive Exposure (EPE) in un intervallo temporale [0;T]: 𝐸𝑃𝐸(𝑇) = 𝑡=0 𝑇 𝐸𝐸 𝑡 ∗𝑡 𝑇 7
  • 8. ANALITICAMENTE (2) dall’EE ed EPE all’EEE ed EEPE  PROBLEMA: L'EE e l'EPE possono sottostimare l'esposizione per transazioni a breve maturity. Questo avviene a causa dell’estinzione dei contratti di breve periodo, sebbene questi siano sostituiti con nuovi contratti la metrica non integra con i nuovi valori.  SOLUZIONE: Basilea II ha introdotto delle misure alternative (definite effettive). Si tratta di:  Effective Expected Exposure (EEE);  Effective Expected Positive Exposure (EEPE). 8
  • 9. ANALITICAMENTE (3) EEE, EEPE  L'EEE introduce un vincolo di non decremento, tale per cui ad un dato periodo l'EE non può essere inferiore all'EEE del periodo precedente: 𝐸𝐸𝐸 𝑡 = 𝑚𝑎𝑥 𝐸𝐸 𝑡 ; 𝐸𝐸𝐸(𝑡 − 1)  L'EEPE è la media ponderata per il tempo delle EEE: 𝐸𝐸𝑃𝐸(𝑇) = 𝑡=0 𝑇 𝐸𝐸𝐸 𝑡 ∗ 𝑡 𝑇 9
  • 10. CASO PRATICO  Opzioni esotiche (path-dependent) considerate:  Opzione Asiatica Call  Opzione Barriera Call Up-and-Out  Opzione Barriera Call Up-and-In  Opzione Lookback Call  Opzione Lookback Put  Costruite sui seguenti indici azionari:  FTSEMIB  GDAXX  STOXX50E  S&P500  CAC40 10
  • 11. VALUTAZIONE DELL’ESPOSIZIONE  Il rischio risiede nell’evoluzione del sottostante, stimata attraverso simulazioni MonteCarlo ed i cui input sono stati:  S0: valore iniziale del sottostante;  K: strike price;  r: risk-free rate;  σ: volatilità storica del sottostante  Δt: intervallo di tempo espresso in anni;  T: maturity;  m: numero di scenari Tali per cui: 𝑆𝑡 = 𝑆𝑡−1 ∗ 𝑒𝑥𝑝 𝑟 − 𝜎2 2 ∗ ∆𝑡 + 𝜎 ∗ ∆𝑡 ∗ 𝑁(0,1) 11
  • 12.  Ottenute le n*m simulazioni di 𝑆𝑡 si passa a calcolare gli m payoff per il primo time step: dove n, numero di time step, è ricavato come rapporto tra Δt e il periodo di analisi x, pari a un anno o alla maturity se questa è inferiore ad un anno. Opzione Payoff Call Asiatica 𝑚𝑎𝑥 1 𝑇 𝑡=1 𝑇 𝑆𝑡 − 𝐾; 0 Barriera Call Up-and-Out 𝑚𝑎𝑥 𝑆 𝑇 − 𝐾; 0 𝑠𝑒 𝑚𝑎𝑥𝑆𝑡 < 𝐵 0 𝑠𝑒 𝑚𝑎𝑥𝑆𝑡 > 𝐵 Barriera Call Up-and-In 𝑚𝑎𝑥 𝑆 𝑇 − 𝐾; 0 𝑠𝑒 𝑚𝑎𝑥𝑆𝑡 > 𝐵 0 𝑠𝑒 𝑚𝑎𝑥𝑆𝑡 < 𝐵 Lookback Call 𝑚𝑎𝑥 𝑆 𝑇 − 𝑚𝑖𝑛𝑆𝑡; 0 Lookback Put 𝑚𝑎𝑥 𝑚𝑎𝑥𝑆𝑡 − 𝑆 𝑇; 0 12
  • 13. MONTECARLO IN MONTECARLO…  Al fine di mantenere memoria delle simulazioni, ad ogni time step successivo al primo si è ripetuto MC ponendo: 𝑆0(𝑡) = 1 𝑀 𝑚=1 𝑀 𝑆 𝑚(𝑡 − 1) N.B. Di volta in volta si considera un orizzonte temporale via via decrescente.  Ad ogni nuova simulazione si riapplicano le formule di payoff, ottenendo alla fine n*m payoff. 13
  • 14.  Ottenuti così gli m*n payoff, possiamo passare al calcolo delle varie misure stimanti l’esposizione. Metriche Formule EE(t) 1 𝑀 𝑚=1 𝑀 𝑝𝑎𝑦𝑜𝑓𝑓𝑚(𝑡) EPE 𝑡=0 𝑇 [𝐸𝐸(𝑡) ∗ 𝑑𝑡] 𝑇 EEE(t) max 𝐸𝐸𝐸 𝑡 − 1 ; 𝐸𝐸(𝑡) EEPE 𝑡=0 𝑇 [𝐸𝐸𝐸(𝑡) ∗ 𝑑𝑡] 𝑇 14
  • 16. ESEMPIO DI CODICE: Call Asiatica 1/12 Abbiamo nominato la macro e dichiarato le variabili principali: Sub Asiancall() Dim sigma As Double, S0 As Double, K As Long, r As Currency Dim q As Double, n As Integer, T As Double, sum As Long Dim dt As Double, x As Double 16
  • 17. ESEMPIO DI CODICE: Call Asiatica 2/12 Con i seguenti codici istruiamo VBA riguardo le celle di Excel in cui trovare i valori input delle variabili: S0 = Foglio2.Cells(7, 3) K = Foglio2.Cells(8, 3) r = Foglio2.Cells(9, 3) sigma = Foglio2.Cells(10, 3) dt = Foglio2.Cells(11, 3) T = Foglio2.Cells(14, 3) m = Foglio2.Cells(12, 3) 17
  • 18. ESEMPIO DI CODICE: Call Asiatica 3/12 In questa sezione di codice ricaviamo n (numero di time step) dopo aver definito x (orizzonte temporale non superiore a un anno). L’ultima riga ordina a VBA di inserire il valore nella specifica cella di Excel. dt = dt / 360 If T > 1 Then x = 1 Else x = T End If w = x / dt n = Fix(w) Foglio2.Cells(13, 3) = n 18
  • 19. ESEMPIO DI CODICE: Call Asiatica 4/12 Indicazioni delle dimensioni delle matrici e definizione delle variabili ‘accessorie’ utili per i passaggi successivi. ReDim s(1 To m, 1 To n) ReDim array_po(1 To m, 1 To n) ReDim EE(1, 1 To n) ReDim EEE(1, 0 To n) Dim p As Integer Dim i As Integer Dim j As Integer Dim Y As Currency Dim S1 As Double Dim sum_s As Double Dim med_s As Double 19
  • 20. ESEMPIO DI CODICE: Call Asiatica 5/12 Inizializzazione degli indici e delle variabili. L’ultimo comando permette la creazione di valori casuali non ripetuti. j = 1 i = 1 p = 0 sum_s = 0 EE_tot = 0 EEE_tot = 0 Randomize 20
  • 21. ESEMPIO DI CODICE: Call Asiatica 6/12 Successivamente sono stati iniziati due cicli, con il primo vogliamo ottenere i payoff per ogni time step. Con il ciclo più interno, invece, simuliamo i valori del sottostante al fine di calcolare il payoff per uno specifico time step. Entrambi avvengono per m scenari. Abbiamo utilizzato due cicli validi finché la condizione non risulti falsa. Do … Do … Loop Until i > m Loop Until j > n 21
  • 22. ESEMPIO DI CODICE: Call Asiatica 7/12 All’inizio del ciclo più interno le seguenti istruzioni definiscono 𝑆0 per le simulazioni successivi alla prima. Y = Application.WorksheetFunction.NormSInv(Rnd) s(i, p) = S0 * Exp((r - ((sigma ^ 2) / 2) - q) * dt + sigma * (dt ^ (1 / 2)) * Y) sum_s = s(i, p) 22 Do If j > 1 Then S0 = S1_m End If Di seguito viene calcolata la simulazione del sottostante per il primo time step di ogni simulazione.
  • 23. ESEMPIO DI CODICE: Call Asiatica 8/12 Successivamente si esegue il ciclo per calcolare il sottostante nei rimanenti time step. Il ciclo è valido fino a che la condizione indicata risulta vera. Do While p < n p = p + 1 Y = Application.WorksheetFunction.NormSInv(Rnd) s(i, p) = s(i, (p - 1)) * Exp((r - ((sigma ^ 2) / 2) - q) * dt + sigma * (dt ^ (1 / 2)) * Y) sum_s = sum_s + s(i, p) Loop 23
  • 24. ESEMPIO DI CODICE: Call Asiatica 9/12 Abbiamo poi calcolato il payoff. Nel caso dell’opzione asiatica, occorre determinare la media dei valori del sottostante e a questa sottrarre il valore dello strike. Si è poi scelto di determinare il massimo tra il valore ottenuto e 0 attraverso l’istruzione ‘If…Then…Else’. med_s = sum_s / (p - j + 1) payoff_s = med_s – K If payoff_s >= 0 Then array_po(i, j) = payoff_s Else array_po(i, j) = 0 End If 24
  • 25. ESEMPIO DI CODICE: Call Asiatica 10/12 Terminiamo questo primo ciclo calcolando la somma dei payoff per periodo e la somma dei valori del sottostante al primo periodo delle rispettive simulazioni. Quest’ultimo permette di calcolare la media dei sottostanti al primo periodo, tale valore diventerà 𝑆0 alla successiva ripetizione del ciclo. p = tpp S1 = S1 + s(i, p) po_sum = po_sum + array_po(i, j) i = i + 1 Loop Until i > m S1_m = S1 / m 25
  • 26. ESEMPIO DI CODICE: Call Asiatica 11/12 Possiamo ora calcolare due delle misure sopraindicate: l’EE e l’EEE. Queste vengono poi mostrate sul foglio Excel. EE(1, j) = po_sum / m Foglio2.Cells(5, 5 + j) = EE(1, j) If j = 1 Then EEE(1, j) = EE(1, j) Else EEE(1, j) = Application.WorksheetFunction.Max(EE(1, j), EEE(1, j - 1)) End If Foglio2.Cells(7, 5 + j) = EEE(1, j) EE_tot = EE_tot + EE(1, j) * dt EEE_tot = EEE_tot + EEE(1, j) * dt 26
  • 27. ESEMPIO DI CODICE: Call Asiatica 12/12 Infine, chiuso il secondo ciclo, calcoliamo le altre due misure: l’EPE e l’EEPE, mostrandole sul foglio Excel. EE_tot = EE_tot + EE(1, j) * dt EEE_tot = EEE_tot + EEE(1, j) * dt … Loop Until j > n EPE = EE_tot / x EEPE = EEE_tot / x Foglio2.Cells(6, 6) = EPE Foglio2.Cells(8, 6) = EEPE End Sub 27