Stage de L’application d l’étude Maitre de stage : Dr. Fréd Directeur Laboratoire Superviseur : Dr. Anir Chargé d Encadreur : Melle. M Chef dépa Hazem KRICHENE fin d’étude du 15/02/2010 au 15/06/2010 de la théorie des rése e du risque systémiqu déric ABERGEL r de la chair de finance quantitative BNP PAR e MAS-Ecole Centrale de Paris rban CHAKRABORTI de recherche au laboratoire MAS-Ecole Centr Maya TURKI artement EGES à l’Ecole Polytechnique de Tun Année Universitaire 2009/2010 eaux pour ue RIBAS rale de Paris nisie
114
Embed
Hazem KRICHENEfiquant.mas.ecp.fr/wp-content/uploads/2014/04/Krichene...Anirban CHAKRABORTI Chargé de rech Encadreur : Melle. Maya TURKI Chef département EGES à l Hazem KRICHENE
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Stage de fin d
L’application de la théorie des réseaux pour
l’étude du risque systémique
Maitre de stage : Dr. Frédéric ABERGEL
Directeur de la chair de fi
Laboratoire MAS
Superviseur : Dr. Anirban CHAKRABORTI
Chargé de rech
Encadreur : Melle. Maya TURKI
Chef département EGES à l
Hazem KRICHENE
Stage de fin d’étude du 15/02/2010 au 15/06/2010
application de la théorie des réseaux pour
étude du risque systémique
Dr. Frédéric ABERGEL
Directeur de la chair de finance quantitative BNP PARIBAS
Laboratoire MAS-Ecole Centrale de Paris
. Anirban CHAKRABORTI
Chargé de recherche au laboratoire MAS-Ecole Centrale de Paris
Encadreur : Melle. Maya TURKI
Chef département EGES à l’Ecole Polytechnique de Tunisie
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
5
IntroductionIntroductionIntroductionIntroduction
La fin de l’année 2007 a enregistré le déclenchement de la crise financière, appelée
selon plusieurs journalistes « une crise sans précédent ». Nombreux sont les
phénomènes qu’on a observé depuis le déclenchement de cette crise
jusqu’aujourd’hui. En commençant par l’observation des faillites des grandes
entreprises et banques en cascade (phénomène d’avalanche), par l’identification des
problèmes de contagion qui stimulent la propagation de l’avalanche au sein du
système financier, sans oublier aussi les états qui galèrent jusqu’à cet instant des
problèmes macroéconomiques (taux de chômage élevé, inflation importante, des
problèmes d’assurance de santé…). Depuis ces événements qui ne cessent de se
produire partout dans le monde, plusieurs financiers, économistes et politiciens ont
remis en cause l’utilisation de quelques produits dérivés, la stratégie d’endettement
suivie par les banques et les entreprises et la régularisation juridique sur les marchés.
Toutefois, la question principale qui a suscitée des réponses était: comment pourrait-
on limité les effets de contagion et des avalanches sur le marché financier ?
C’est dans cette optique que j’ai effectué mon Projet de Fin d’Etudes au sein de la
chair de finance quantitative BNP Paribas, laboratoire MAS-Ecole Centrale Paris, qui a
porté sur « l’application de la théorie des réseaux pour l’étude du risque
systémique ».
Pour réponde à ces attentes, on a appliqué les techniques de simulation des réseaux
complexes accompagnées par les définitions des distributions des échanges
financiers entre les agents du réseau.
Au cours de ce travail, on commencera en premier lieu par la simulation d’un réseau
financier suivant le modèle d’attachement préférentiel. En deuxième lieu, on essaiera
d’identifier les effets d’une faillite sur le marché financier, défini comme étant un
marché de gré à gré avec N produits de contreparties, et de dégager des propriétés
suivant les caractéristiques du réseau financier (variation de la topologie du réseau
simulé). En troisième lieu, on intégrera un marché des CDS (Credit Default Swaps) en
parallèle avec le marché à N produits de contreparties, et on mettra en évidence des
propriétés liées à la structure du réseau financier d’une part, et à la distribution des
ventes des CDS d’autre part. Enfin, on focalisera notre étude sur la notion de
régularisation du marché bilatéral des CDS en le centralisant autour d’une chambre
de compensation (compensation par contrepartie centrale : CCP), et on répondra
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
6
quand à l’efficience de l’intégration d’une telle unité au sein d’un marché des CDS, de
gré à gré.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
7
Chapitre 1
Etude théorique des modèles utilisés
1.1. Généralités sur les réseaux
En général, un réseau est décrit comme étant un graphe avec des nœuds et des
liaisons, où les nœuds représentent les éléments du système considéré (des individus
pour un réseau social, des commutateurs pour un réseau informatique, des banques
dans un réseau bancaire…), et les liaisons traduisent l’existence d’interaction ou de
relation entre deux éléments (voisinage entre deux individus, signal de
télécommunication entre deux commutateurs, des échanges financiers entre deux
banques du même réseau…). On voit clairement, que plusieurs systèmes réels
pourraient être modélisés sous forme de réseau.
Afin de se rapprocher du cadre empirique, on mettra en place des définitions
mathématiques, décrivant le réseau tel qu’on l’a déjà défini. Naturellement, dans la
modélisation des réseaux, on est contraint d’éliminer quelques particularités du
système considéré, et se focaliser sur les particularités qui nous intéressent.
Mathématiquement, un réseau est définit par G(V,E), où V est l’ensemble des nœuds
(vertices en anglais) et E est l’ensemble des liaisons ( edges en anglais). Dans notre
cas, on considérera un réseau indirecte ( jiij LL = ) sachant que chaque liaison est
indexée par un poids spécifique.
Dans cette partie, on restera, toujours, dans un contexte théorique, afin de définir les
réseaux d’un point de vu mathématique. Et dans la partie empirique, on fera le lien
avec la réalité des marchés financiers afin de pouvoir simuler un marché
d’institutions financières. Il est important de mentionner qu’il y a plusieurs modèles
de simulation des réseaux, en commençant par celui d’Erdos-Rényi (ER) dans les
années 1950. Dans le cadre de notre travail, nous allons présenter les réseaux
aléatoires ainsi que les réseaux avec attachements préférentiels.
1.2. Réseaux aléatoires
Le point de départ de l’existence d’un tel réseau, est la considération d’un réseau en
petit monde (Small World Network). Alors avant de définir notre réseau aléatoire, on
doit définir la notion d’un petit monde, appelée selon quelques auteurs, la
philosophie d’un petit monde.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
8
1.2.1. Réseau en petit monde (Small world network)
L’idée de cette notion part du principe que la distance physique dans un réseau entre
deux éléments est petite par rapport à la taille du réseau. L’hypothèse de ce modèle
a trouvé plus de succès au niveau des applications dans les modèles de sociologie,
puisque en général, deux personnes en relation, sont proches physiquement par
rapport à la taille globale du monde.
Avant d’exposer les formules mathématiques décrivant ce type de réseau, on
décriera quelques particularités d’un réseau en petit monde, qui sont à savoir :
• Deux éléments inconnus peuvent faire connaissance.
• L’exploration facile de l’environnement via les interconnexions aléatoires
• Entre deux voisins proches, il y a toujours une liaison (au moins au départ), la
cause est la localisation géographique.
Chaque liaison aléatoire entre deux nœuds est établie suivant une probabilité p. Ce
qui donne une distribution du degré de liaison de chaque nœuds concentrée autour
d’une valeur moyenne noté <k>, avec ik est le degré de liaison d’un nœud i. Ce
résultat est bien prouvé théoriquement, en démontrant l’expression analytique de la
distribution. On exposera l’équation théorique de la distribution de degré de liaison
des nœuds dans un réseau en petit monde, après l’explication des mécanismes de
simulation.
1.2.2. Réseau aléatoire (Random Network)
Le réseau aléatoire est basé sur la notion du réseau en petit monde. En effet, on a
mentionné dans la partie précédente qu’une liaison est établie entre deux nœuds
suivant une probabilité p. Tant que p augmente, tant que le nombre de liaison
augmente. Par conséquent pour p=1, on obtient un réseau aléatoire. Ci-dessous, un
schéma qui explique ce mécanisme d’évolution.
Figure 1 : A gauche : réseau régulier (p=0), à droite : réseau aléatoire (p=1)
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
9
De ce fait, afin de pouvoir réaliser un réseau aléatoire il faut simuler, dans une
première étape, un réseau régulier, où chaque nœud est lié à ses K voisins proches (K
est choisi par l’utilisateur du simulateur). Dans une deuxième étape on change
chaque liaison existante entre deux nœuds, par une nouvelle liaison suivant une
probabilité p. Pour p=1, on aura des liaisons toutes aléatoires.
En fait, pour p=0, on a une distribution de Dirac, concentrée autour de K. Dés que
p>0, le désordre commence au sein du réseau, tout en gardant une moyenne de
degré de liaison égale à K. Chaque nœud aura au moins K/2 liaisons. De ce fait, pour
K>1, aucun nœud n’est isolé du réseau aléatoire final.
D’après Barrat et Weigt (2000) le degré de liaison ik de chaque nœud, i, peut être
écrit comme suit : ii cK
k +=2
; tel que 21iii ccc += . En effet, 1
ic est le nombre des
liaisons qui n’ont pas changées de destination finale, ceci est avec une probabilité de
(1-p). Alors que, 2ic est le nombre des nouvelles liaisons (les liaisons qui ont changé
pour un nœud i) avec une probabilité de 1/N, sachant que N est le nombre des
nœuds dans le réseau. D’après les résultats de Barrat et Weigt, les distributions de
probabilité de 1ic et de 2
ic s’écrivent comme suit :
111
2
2
1 )1()(I
iic
Kcc
Ki ppCcP−
−=
212
2
2
2 )1
1()1
()(i
iic
KpNcc
kpN
i NNCcP
−−=
Pour N assez élevé, Barrat et Weigt, ont réussi à combiner ces deux formules afin
d’obtenir la distribution de la probabilité des degrés de liaison, qui est :
∑=
−
−−
−
−−−=
),(
0
2
2
2
2 )!2
(
)2
()1()(
Kkf
n
pK
nK
k
nK
nnK e
nK
k
pK
ppCkP
Avec : ���, �� = min�� − � ; �
� quelque soit � ≥ �
Dans la deuxième partie de ce rapport, on simulera ce type de réseau, en utilisant
Matlab 2008b, et on pourra vérifier que la distribution empirique des degrés de
liaisons est concentrée autour d’une moyenne <k>.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
10
Toutefois, il est important de reconnaitre les limites d’un tel modèle, surtout, dans le
cadre des applications financières –on reviendra après sur ce point-. Mais même dans
l’ordre général, l’hypothèse des attachements aléatoires, des degrés homogènes et
des liaisons sans un critère de choix, est très rigide et irréaliste. De ce fait, on a eu
l’idée d’introduire un autre modèle qui se base sur l’attachement préférentiel
(Preferantial attachment, en anglais). Dans la partie qui suit, on introduira la
définition théorique et descriptive de ce modèle, ainsi que les équations
mathématiques qui le décrivent.
1.3. Réseaux avec attachements préférentiels
Comme son nom l’indique, on introduit dans ce réseau, la notion de préférence. En
effet, si un nouveau nœud accède au réseau initial, il fait une liaison avec un nœud
existant suivant son critère de choix. Cette hypothèse nous rapproche de la réalité
des interconnexions entre les éléments de n’importe quel réseau. Notre point de
départ dans ce cas, est un réseau fixe, contenant m0 nœuds (m0 pourrait être égale à
2, c’est la valeur prise tout au long de ce travail), et à chaque itération on introduit un
nouveau nœud i, apte de faire m relations dans le réseau déjà existant. Ces m
relations, ne vont pas être effectuées uniformément, mais suivant un critère de choix
propre à chaque nœud. Le critère de choix, ou encore l’attachement préférentiel,
suivra une probabilité linéaire proportionnelle à k+A, où k est le nombre de liaison du
nœud i, déjà existant et A = a*m. Le choix de la forme linéaire n’est pas afin de
simplifier la démarche, mais afin de pouvoir arriver au résultat désiré, et ceci d’après
Dorogovtsev et Mendes (2002). Afin de mieux comprendre le mécanisme et de
pouvoir démontrer l’expression analytique de la distribution des degrés de liaisons,
on va d’abord décrire le mécanisme d’évolution de ce réseau à chaque itération :
• A chaque itération, t, un nouveau nœud est ajouté au réseau de l’itération t-1
• Simultanément, on ajoute à ce nœud m semi-liaisons
• Chaque semi-liaison est attachée à un nœud, i, du réseau(t-1) avec une
probabilité (k+A)/s
Avec k est le nombre de liaison de i, et s est la somme de toutes les liaisons dans le
réseau(t-1).
Dans une démonstration mathématique déjà faite, en partant d’une équation
différentielle, en k, degrés de liaisons de chaque nœud, on trouve que :
γkkP
1~)(
Avec : � = � + 2
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
11
De ce fait, un nouveau nœud à l’instant t, établit une liaison avec un nœud du
réseau(t-1) avec une probabilité de
∑−
=
−+)1(
0
)2(tG
iik
mk γ, où |G(t-1)| est le cardinale du
réseau à la date t-1.
Au cours de cette partie, on a défini d’une manière théorique, les réseaux qu’on a
utilisés. En fait, on est parti, dans une première étape, d’un modèle simple, aléatoire,
où les degrés de liaisons des différents nœuds varient autour d’une valeur moyenne.
Dans une deuxième étape, on a essayé de se rapprocher de la réalité des réseaux
dans la pratique, pour les réseaux sociaux, via un modèle récemment développé, qui
se base sur l’attachement préférentiel sous forme linéaire.
Une fois on a compris les définitions et les approches théoriques des réseaux, on
passera dans la partie suivante à la simulation empirique des réseaux. Une fois le
réseau bancaire est mis en place, on génèrera la dynamique du réseau (on expliquera
plus tard les mécanismes définis).
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
12
Chapitre 2
Etude du risque systémique dans un marché de contreparties
C’est au cours de cette partie qu’on va commencer à saisir les effets de l’exposition
face au risque financier dans un marché bilatéral ou encore un marché de gré à gré.
Un marché de gré à gré est l’opposé d’un marché centralisé, tel est le cas du marché
boursier qui est centralisé autour des intermédiaires en bourse. En effet, on
considère un marché à N dealers en relations bilatérales entre eux.
On considérera dans cette partie des contreparties sans spécification d’un produit
particulier (Swaps de taux, Options, Dérivés de Crédits…).
Les institutions financières considérées sont uniquement des banques. En d’autres
termes on considère un réseau financier composé de N banques.
2.1. Modélisation du réseau bancaire
Afin de pouvoir modéliser un marché financier de gré à gré, on a utilisé l’aspect
réseau, comme on l’a déjà indiqué. Les marchés considérés ne contiennent, par
hypothèse, que des banques (faciliter l’interprétation des propriétés dégagées).
La première étape était de considérer, un graphe ou encore un réseau, où les nœuds
représentent les banques existantes sur le marché, et les liaisons représentent les
contreparties entre les banques. L’idée sera de modéliser un réseau à travers une
matrice adjacente A, d’ordre N et symétrique, s’il y a relation entre la banque i et la
banque j, A(i,j)=1, sinon A(i,j)=0. Ensuite on définira d’autres matrices qui mettront en
place les définitions des contreparties entre deux banques en relation.
A titre d’indication, les relations de contreparties seront définies par plusieurs
matrices. En effet, il y aura :
• Une matrice D, d’ordre N antisymétrique, décrira les montants financiers des
contreparties simulées suivant une loi normale centrée réduite.
• Un vecteur C, de taille N, indiquera le capital disponible de chaque banque (on
verra dans ce qui suit comment on définira le vecteur C).
• Une matrice T, d’ordre N et symétrique, décrira les différentes maturités des
contrats de contreparties.
• Une matrices MR, d’ordre N et symétrique, décrira les différentes modalités
des remboursements : si MR(i,j)=1, remboursement par annuité constante, si
MR(i,j)=2, remboursement par amortissement constant, et si MR(i,j)=3,
remboursement in fine.
Après la description du réseau, on définira les mécanismes des simulations des
variables définissants les termes des contrats de contreparties.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
13
2.1.1. Simulation d’un réseau bancaire suivant le modèle des réseaux
aléatoires
Dans la partie précédente on a détaillé, en général, la simulation d’un tel réseau à
travers une description qualitative, suivie par une autre quantitative à travers des
équations mathématiques. Dans notre cas particulier, on considère que chaque
banque est liée, en première étape, à quatre banques voisines (K=4). De ce fait, on
part d’un réseau bancaire régulier, avec un même nombre de relations. Au cours de
chaque itération, chaque banque choisira aléatoirement une autre banque partenaire
en renonçant à la première relation. Un tel mécanisme est d’autant plus remarquable
que la probabilité choisie du changement de la relation soit plus grande. A la fin des
itérations, on aura un système bancaire complexe, aléatoire, où toutes les banques
ont un nombre de relations qui varie autour d’une valeur moyenne (cette notion a
été déjà démontrée au niveau du premier chapitre).
L’algorithme de simulation est programmé sur Matlab 2008b et exposé au niveau de
l’annexe 1.
Dans ce qui suit on présentera quelques résultats de cette simulation en variant la
quantité de probabilité p.
Résultats et interprétations
P=0
Figure 2 : Réseau régulier à 10 banques
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
14
Figure 3 : La distribution des degrés des liaisons dans un réseau régulier
P=0,5
Figure 4 : Un réseau intermédiaire à 100 banques
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
15
Figure 5 : La distribution des degrés des liaisons dans un réseau intermédiaire à 100 banques
P=1
Figure 6 : Un réseau aléatoire à 100 banques
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
16
Figure 7 : La distribution des degrés des liaisons d’un réseau aléatoire à 100 banques
Interprétations
A travers ces trois graphes on remarque la différence au niveau du nombre des
relations, comme on l’a remarqué au niveau de la figure 1. En effet, en partant de
P=0, on avait un réseau régulier, où chaque banque est liée à ses k voisins. Ensuite, en
augmentant P le désordre augmente au sein du réseau, jusqu’à P=1 où le réseau
devienne aléatoire. En d’autres termes le réseau devient de plus en plus
interconnecté en augmentant P. Néanmoins, même avec l’augmentation du désordre
dans le réseau, le degré des liaisons varie autour d’une moyenne, K, telle que K est le
nombre des voisins initiaux. Ce résultat nous montre que ce modèle de simulation
considère que tous les agents sont homogènes en termes de nombre des liaisons,
donc même au niveau des montant échangés, absence du critère de choix spécifique
à chaque agent. Par conséquent, même en variant P, on aura un réseau de plus en
plus interconnecté, mais sans donner de l’importance à des nœuds particuliers dans
le réseau. Or dans la réalité des marchés financiers, il existe des banques importantes
en termes de relations et de capital, et d’autres plus faibles. En outre, il y a toujours
des différences en termes des montants échangés. Suite à cette contrainte nous
avons eu l’idée d’introduire un réseau bancaire simulé avec le modèle d’attachement
préférentiel, précédemment expliqué. Durant la suite de ce travail, on considèrera,
uniquement, un réseau bancaire avec attachement préférentiel.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
17
2.1.2. Simulation d’un réseau bancaire suivant le modèle d’attachement
préférentiel
La mise en place d’un réseau aléatoire, tel qu’il était présenté, suppose que toutes les
banques de la place financière suivent les mêmes stratégies. En d’autres termes, un
tel modèle ne donne pas une liberté de choix, ou de stratégie pour chaque banque.
Par conséquent, le modèle de réseau aléatoire simule des relations homogènes entre
les banques du réseau, d’une part, et élimine le critère de l’importance d’autre part.
Afin d’éviter une telle limite, on a introduit un modèle de réseau avec un
attachement préférentiel. Ce modèle donne à chaque banque introduite dans le
système un choix différent, ce qui crée une hétérogénéité au niveau des relations et
un poids spécifique à chaque banque dans le réseau.
Pour réaliser ce réseau, on part d’un petit réseau, où cardinal de V est égale à m0 (m0
peut être égale à 1 ou 2), et à chaque itération une nouvelle banque est introduite
dans le système. A l’instant t, la banque numéro m0+t, aura m semi relations à l’état
initial. Son critère de choix dépendra de m (un choix propre à ses capacités), du
nombre des voisins de la banque i (un choix qui se base sur la situation de la banque
partenaire par rapport au réseau) et du gamma (un paramètre propre au réseau :
degré d’hétérogénéité).
La simulation d’un tel réseau a donné à chaque banque une liberté de choix qui se
base sur : son état, l’état de son partenaire et celui du réseau. Une telle modélisation
nous rapproche de plus en plus de la réalité des marchés financiers et nous donne
plus de liberté au niveau des simulations (en variant gamma) et au niveau des
interprétations économiques. En effet, la variation de Gamma est un moyen de
changer la loi de distribution des degrés des liaisons et de varier par la suite la
topologie du réseau. Les résultats seront exposés ci-dessous.
L’algorithme de simulation de ce réseau est présenté au niveau de l’annexe 2.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
18
Résultats et interprétations
� = �
Figure 8 : Réseau bancaire avec attachement préférentiel à 100 banques (gamma=3)
Figure 9 : La distribution des degrés des liaisons du réseau avec attachement préférentiel à 100
banques (gamma =3)
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
19
� = ����
Figure 10 : Réseau bancaire avec attachement préférentiel à 100 banques avec une valeur gamma
infinie
Figure 11 : La distribution des degrés des liaisons du réseau avec attachement préférentiel de 100
banques avec une valeur de gamma infinie
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
20
Interprétations
Avant de commencer l’analyse des deux graphes, ci-dessus, on va comparer les deux
modèles proposés à travers les graphes. En effet, la figure 9 nous montre, clairement,
que la distribution est loin d’être autour d’une moyenne, ce qui signifie
l’hétérogénéité en termes de nombres de relations entre les banques. En outre, ce
modèle met en évidence les différences en taille entre les banques (via le nombre des
liaisons), où on voit une seule banque qui a plus que 25 liaisons. Or dans la réalité des
marchés financiers, on ne trouve pas une infinité de banques qui sont importantes.
En outre, en comparant les deux graphes pour les différentes valeurs de gamma, on
voit bien que l’augmentation de gamma favorise les interconnexions dans le réseau.
Pour gamma infinie, le nombre des interconnexions est important et l’aspect du
réseau change vers un réseau aléatoire à cause de l’absence du critère de choix. La
preuve est claire au niveau de la figure 11, où on remarque que les degrés de liaisons
sont concentrés autour d’une moyenne de 60 liaisons, environ, mais avec une
variance importante, ce qui fait la différence entre les banques. Donc, en augmentant
gamma on tend vers un réseau de plus en plus connecté et homogène.
2.2. Modélisation des relations de contrepartie
Au cours d’une partie précédente, on a défini les matrices utilisées afin de décrire
d’un point de vu quantitative le réseau bancaire. En effet, une fois le réseau est en
place, on doit définir les relations entre les banques du marché simulé. Dans notre
cas, on traite en général des relations de contrepartie, sans définir un produit
spécifique, modélisées par des flux financiers suivant une distribution normale
centrée réduite. En effet, on considère une matrice carrée D d’ordre N : si A(i,j)=0
alors D(i,j)=0, sinon D(i,j)>0, D(i,j) est tiré suivant une normale centrée réduite, si la
banque i prête (vend un produit) la banque j et vice-versa. Avec chaque simulation de
la matrice des contreparties financières, on simule une matrice échéance, T, carrée
d’ordre N. Cette dernière est symétrique, T(i,j)=T(j,i). Les éléments de T sont simulés
aléatoirement suivant une loi uniforme avec une maturité maximale de 10 ans.
En outre, on définit une autre matrice MR carrée d’ordre N et symétrique, modélisant
les modalités de remboursement entre deux banques. Les éléments de MR sont
simulés aléatoirement, tels que :
• MR(i,j)=1 : Remboursement par annuité constante
• MR(i,j)=2 : Remboursement par amortissement constant
• MR(i,j)=3 : Remboursement in fine
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
21
Après avoir défini ces matrices, on déduit pour chaque banque le vecteur capital, C.
En effet, le capital est calculé à partir des cash flow futurs actualisés.
Si
0)()()(
factualiséCFCFiVj
ijiVj
ji ∑∑∈
→∈
→ −
Alors
ε+−= ∑ ∑∈ ∈
→→)( )(
)(iVj iVj
ijji CFCFiC
Sinon ���� = � ; ε tiré entre 0 et 1
Cette définition du montant du capital va nous aider dans la détermination et
l’analyse du risque dans le système. En fait, un défaut d’une seule banque, provoque
un manque de paiement ce qui engendrerait, probablement, un défaut d’une de ses
voisines et ainsi de suite. Ce mécanisme sera détaillé de plus au cours de la partie
suivante.
L’algorithme de simulation de ces variables, sera introduit au niveau de l’annexe 3.
2.3. Modélisation du mécanisme des faillites en cascade
Durant la crise financière 2007-2008, on a vécu des phénomènes des faillites en
cascade. En effet, la faillite d’une banque, entrainera des charges financières sur les
banques partenaires (à cause des non paiements, des faillites d’autres entreprises et
des défauts des crédits en général…). On peut alors dire, que la faillite d’une banque
pèsera lourd sur une banque voisine, ce qui provoquerait, probablement, la faillite de
cette dernière. L’approche considérée se base sur la condition de solvabilité de la
banque. En effet, si une banque n’arrive plus à payer ses dettes à partir de son capital
disponible à t=0, fait défaut.
Dans ce qui suit on commencera par présenter cette approche, en détaillant un peu
plus le mécanisme à travers les équations mathématiques et en la traduisant par
l’algorithme approprié, implémenté sur Matlab. Ensuite, on essayera d’apporter
quelques analyses et interprétations des résultats qui seront exposés par la suite.
Comme on l’a déjà annoncé, chaque banque du système dispose d’un capital, � �, défini de façon à ce que chaque banque pourra payer ses dettes. A chaque instant
t<max(T) (max(T) étant le maximum des maturités dans le système), une banque i
paie ses prêteurs et reçoit des CF de ses emprunteurs.
Soit, � �����, le montant que reçoit la banque i de la banque j à l’instant t, et
� �����, le remboursement fait par la banque i à la banque j à l’instant t.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
22
Condition de solvabilité :
0)()( )(
≥−+ ∑ ∑∈ ∈
→→iVj iVj
jiij LLiC
Si cette condition n’est pas satisfaite, la banque i en question fait défaut. Par
- Si C(vendeur)-CF_futur <Principal (ne peut pas payer)
- Richesse_ccp = Richesse_ccp – principal ;
- Si pour cette valeur de marge la distribution obtenue est à 99% positive alors
marge = 2 ; sinon marge = marge + 5% et on refait les calculs (1) jusqu’à la plus
petite valeur de marge qui procure à la CCP une richesse positive à 99%.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
51
Cet algorithme sera implémenté sur matlab et exposé au niveau de l’annexe [11]. Les
variables entrantes de cet algorithme seront principalement les variables qui
définissent le réseau. On fera appel à cet algorithme lors de l’exécution du
mécanisme.
Suite à ces définitions, on définit toutes nos variables : réseau A, matrices des
contreparties D, matrice des maturités T, le vecteur des capitaux disponibles C,
matrice des modalités de remboursement MR, matrice des CDS, spread, les
entreprises, et leurs emprunts. Par ces définitions on calcul la marge de la CCP qui
assurera la meilleure gestion du risque de sorte que sa richesse ne soit pas négative.
Ensuite on exécute la dynamique des paiements en passant par la CCP dans le cas des
CDS, et en fera appel à l’algorithme qui traite les mécanismes des paiements sans
CCP. A la fin notre objectif est de comparer les pertes moyennes par faillites entre les
deux mécanismes, et conclure quand à l’efficience de la CCP dans un marché des CDS.
4.2.3. Résultats et interprétations
On garde les valeurs précédentes des variables (le nombre des banques N, le nombre
des entreprises N1, le nombre des contrats CDS Td, l’intervalle des spreads pour les
N1 entreprises…). Toutefois, le nombre N_simulation sera fixé à 1000 pour la
simulation de la richesse de la CCP.
En première étape on suivra le même raisonnement de ce travail. En effet, on fixera
toutes les variables et on change uniquement gamma, qui changera la loi de
distribution des contreparties sur le réseau bancaire (le nombre des interconnexions).
Les résultats sont exposés à la page suivante.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
52
Γ= 2
Figure 35 : La distribution de la différence des pertes moyennes par faillite entre un marché
centralisé au tour d’une CCP et un marché de gré à gré (gamma=2)
Γ= 100
Figure 36 : La distribution de la différence des pertes moyennes par faillite entre un marché
centralisé autour d’une CCP et un marché de gré à gré (gamma=100)
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
53
Γ= 500
Figure 37 : La distribution de la différence des pertes moyennes par faillite entre un marché
centralisé autour d’une CCP et un marché de gré à gré (gamma=500)
Γ= 1000
Figure 38 : La distribution de la différence des pertes moyennes par faillite entre un marché
centralisé autour d’une CCP et un marché de gré à gré (gamma=1000)
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
54
Interprétations
On commencera notre analyse : nos attentes avant les simulations, la description de
nos résultats et enfin la comparaison avec d’autres travaux, plus précisément celui de
Duffie.
Comme c’est déjà mentionné, les quatre figures ci-dessus décrivent la distribution
d’une différence (perte avec CCP – perte sans CCP). Ce qui est attendu est de voir un
effet largement positif de l’intégration d’une CCP pour les CDS à travers la
compensation. Ceci pourrait être remarqué par une moyenne largement négative de
la distribution, quelque soit la valeur de gamma.
Toutefois nos résultats montrent qu’il n’y a aucun effet sur le marché financier lors de
l’intégration d’une CCP pour les CDS. En effet, quelque soit la topologie du réseau, on
a une distribution à moyenne quasi nulle. On peut dire alors qu’une CCP pour les CDS
en présence d’un marché de gré à gré en parallèle n’est pas efficiente, et ce d’après
nos résultats expérimentaux. Suite à ces résultats, nous avons eu recourt à la
comparaison avec les résultats trouvés par Duffie. En fait, il est important de rappeler
que le pourcentage des CDS sur le réseau bancaire par rapport à tous les autres
produits (les contreparties) est très faible. De ce point de départ, Duffie montre aussi
que suite à cette limite, une CCP pour les CDS ne peut pas être efficiente, car les
montants non compensés sont beaucoup plus importants.
Ces résultats de Duffie qui sont conformes aux notre, nous ont poussé à faire une
autre analyse afin de dégager d’autres propriétés quand à l’efficience d’une CCP sur
un marché des CDS. L’idée est de simuler le même algorithme précédent avec un
nombre de contrat des CDS supérieurs au nombre des contreparties sur le réseau
bancaire, afin de pouvoir conclure quand à la validité de la propriété précédente du
non efficience.
Pour ce faire, on considère un seul réseau où gamma est égale à 2. Une banque dans
ce cas possède en moyenne 5 liaisons ce qui fait que le réseau comporte en moyenne
500 contreparties (simulées avec une loi normale centrée réduite). On simule alors Td
égale à 800 contrats de CDS -avec le même nombre des entreprises N1- simulés avec
la même loi (normale centrée réduite). Par conséquent, on a deux marchés en
parallèle sur le même réseau. Un marché des CDS et un marché des contreparties où
les montants circulant des CDS sont plus élevés.
On exposera un seul graphe correspondant à ces cas de figure, vu les limites qui
pourraient nous rencontrer dans les simulations pour des grands nombres. En effet si
on varie gamma jusqu’à 1000, il y aura en moyenne 6000 contreparties, ce qui nous
amène à simuler plus que 6000 CDS. Toutefois, afin d’éviter les erreurs numériques,
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
55
on a simulé plusieurs cas de figure pour un même marché (exposés au niveau de
l’annexe) et on trouve toujours les mêmes résultats.
Γ= 2 et Td = 800
Figure 39 : La distribution de la différence des pertes moyennes par faillite entre un marché
centralisé autour d’une CCP et un marché de gré à gré
Ce graphe montre le même résultat donné par les figures 34, 35, 36 et 37 (perte
moyenne par faillite avec CCP – perte moyenne par faillite sans CCP). Mais les
interprétations ne sont pas les mêmes. On voit clairement au niveau de la figure 38
que la moyenne de la distribution est largement négative ce qui veut dire que les
pertes avec CCP sont inférieures à celle sans CCP dans ce cas.
Par ce résultat on rejoint la propriété annoncé. Une CCP pour des CDS n’est efficiente
que si les montants circulants des CDS soient supérieurs à ceux des autres
contreparties.
Un tel résultat, d’après notre modèle, nous montre de nouveau comment peut-on
utiliser les CDS efficacement, sans augmenter le risque de la contrepartie dans le
système financier.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
56
Conclusions
Rappelons que ce chapitre avait comme but de présenter l’efficience d’une technique
qui pourrait régulariser les marchés des CDS. On a essayé de se rapprocher du cadre
de définition d’une CCP, de ses mécanismes et de son intervention, en calculant sa
marge, sa richesse et en définissant ses actions.
Ce modèle nous a permis de prouver qu’une CCP ne peut pas être toujours efficiente
et ceci est lié au nombre des CDS sur le marché par rapport au nombre total des
contreparties. On a vu que, quelque soit la distribution des contreparties sur le
réseau, tant que le nombre des CDS est inférieur au nombre des contreparties, une
CCP ne peut pas jouer son rôle en minimisant les pertes financières en cas d’une
faillite. Par conséquent, cette unité ne peut pas minimiser le risque de la
contrepartie.
Ce chapitre nous a donné une réponse quand à la centralisation du marché des CDS
qui est de gré à gré, et il nous a prouvé qu’il faut satisfaire plusieurs conditions pour
que cette centralisation soit efficace.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
57
ConclusionConclusionConclusionConclusion Suite à ce travail, on a pu identifier et analyser le risque systémique dans un marché
de gré à gré de contreparties, suivant différentes formes (marché de contreparties en
général, marché avec CDS, marché centralisé autour d’une CCP). Les résultats et les
interprétations fournis reviennent, d’abord, à l’utilisation des techniques de
modélisation du marché financier par les réseaux en simulant un réseau avec
attachement préférentiel, à la variation, ensuite, de la topologie du réseau simulé en
se basant sur les définitions financières des produits et mécanismes implémentés et
aux changements, enfin, de la distribution des connexions du réseau, à chaque
essaie, en jouant sur les propriétés du nombre des connexions pour chaque nœud du
réseau. Une telle méthodologie utilisée nous a permis de dégager plusieurs résultats.
En premier lieu, on a pu revenir au cours de ce travail à la notion qui dit « Too
interconnected to fail », ce qui veut dire qu’on augmentant le nombre des
connexions dans le réseau, en variant la distribution des degrés de liaison, l’effet de
contagion s’amplifie et le risque de contrepartie augmente à son tour, et on sera en
présence d’un système très risqué (une faillite peut provoquer d’énorme dégâts dans
le système). En deuxième lieu, on a dégagé des propriétés quand à l’utilisation et la
régularisation des CDS (Credit Default Swaps) : Il s’agit, d’abord, d’éviter la
concentration de la vente des CDS sur un nombre limité de dealers et de répartir la
vente sur tous les agents du système. Et de contrôler, ensuite, la connectivité au sein
de marché (limiter le nombre de relation de chaque agent et éviter les stratégies des
relations aléatoires et homogènes pour toutes les banques (Gamma tend vers
l’infinie)) afin que les CDS puissent être efficients, en assurant le système et en
augmentant la richesse. En troisième lieu, on a prouvé que l’intégration d’une
chambre de compensation CCP pour les CDS n’est pas toujours efficace, et ne
minimise pas forcément le risque de la contrepartie. Et on a montré qu’une telle
technique de minimisation de risque ne pourrait être efficiente que si les montants
circulants des CDS sont supérieurs à ceux des autres contreparties du réseau financier
en place.
Il faut noter que ce travail, compte parmi les premiers travaux qui traitent ce sujet.
Surtout au niveau de la partie où on traite les CDS sur le marché, on n’avait aucune
référence de littérature scientifique là-dessus, qui essaye d’extraire des propriétés
réglementaires pour ces produits de crédit. Toutefois, les résultats trouvés apportent
des nouvelles notions et des nouvelles propriétés sur le risque de la contrepartie sur
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
58
les marchés financiers, ce qui pourrait contribuer à la recherche futur dans ce
domaine afin de trouver des solutions réglementaires aux problèmes de contagion
financière au cours des crises systémiques.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
59
RéférencesRéférencesRéférencesRéférences [1] Anne Duquerroy, “ Théorie et réalité des crises financières”, conférence stabilité
financière et infrastructures de marché, Octobre 2009.
[2] Bob Hills, David Rule and Sarah Parkinson, Market Infrastructure Division, and
Chris Young, Foreign Exchange Division, Bank of England, “Central counterparty
clearing houses and financial stability”, June 1999.
[3] Darrell Duffie and Haoxiang Zhu, “Does a Central Clearing Counterparty Reduce
Counterparty Risk?”, Stanford University, July 2009.
[4] Duncan J.Watts,” A simple model of global cascades on random networks”,
Proceedings of the national Academy of Sciences, April 2002.
[5] Jacomo Corbo and Gabrielle Demange,” Contagion in Financial Networks: A
Random Graph Model”, December 2009.
[6] Jan Lorenz, Stefano Battiston, Frank Schweitzer,” Systemic Risk in a Unifying
Framework for Cascading Processes on Networks”, Chair of Systems Design, ETH
Zurich, Kreuzplatz 5, 8032 Zurich, Switzerland.
[7] John Hull and Alan White,” Valuing Credit Default Swap I: No counterparty default
risk”, University of Toronto, April 2000.
[8] Kimiaki Aonuma and Hidetoshi Nakagawa,” Valuation of Credit Default Swap and
Parameter estimation for Vasicek-type Hazard rate model”, University of Tokyo.
[9] Michael Molloy and Bruce Reed,” A critical point for random graphs with a given
degree sequence”, August 2000.
[10] Paolo Crucitti, Vito Latora and Massimo Marchiori,” Model for cascading failures
in complex networks”, The American Physical Review, April 2004.
[11] Rama Cont, Amal Moussa and Andreea Minca,“Too interconnected to fail:
Contagion and systemic risk in financial networks”, Columbia Center for financial
engineering 2009.
[12] Réka Albert and Albert-Laszlo Barabasi,” Department of Physics, University of
notre dame, Indiana 46556, January 2002.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
60
[13] Riadh Belhaj,” Evaluation des CDS et des Forward Start CDS”.
[14] S.N. Dorogovtsev, A.V. Goltsev and J.F.F. Mendes,” Critical phenomena in
complex networks”.
[15] S.N. Dorogovtsev and J.F.F. Mendes,” Evolution of Networks”.
[16] Srutarshi Pradhan, Alex Hansen and Bikas Chakrabarti” Failure processes in
elastic fiber bundles”, Review of modern physics, March 2010.
[17] Stefano Battiston, Domenico Delli Gatti, Mauro Gallegati, Bruce Greenwald,
Joseph E. Stiglitz,” Liaisons Dangeureuses: Increasing Connectivity, Risk sharing and
Systemic Risk”, November 2009.
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
61
AnnexesAnnexesAnnexesAnnexes
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
62
Annexe 1
Algorithme de simulation d’un réseau aléatoire
function A=mat1(N,p) A=zeros (N,N); % Dans cette boucle on simule une matrice de liaiso n uniquement entre deux % voisins for i= 1:N for j= 1:i % Utiliser le fait que le réseau est indirect if (mod((i-j),N)==1) || (mod((i-j),N)==N-1)|| (mod(( i-j),N)==2)|| (mod((i-j),N)==N-2) % identifier les modulos A(i,j)=1; A(j,i)=1; end end end for i=1:N for j=1:i if A(i,j)==1 % On vérifie s'il existe une relation entre le noeu d i et le noeud j f=rand(); if f<p % Si le nombre aléatoire simulé est plus petit, on change la liaison vers un autre noeud cc=0; while cc==0 k= round(rand()*N); %Dans cette boucle, on remplace la première liaison par %une autre liaison aléatoire if k>0 if A(i,k)==0 % Si pas de liaison on fait le changement A(i,k)=1; A(k,i)=1; A(i,j)=0; A(j,i)=0; cc=1; end end end end end end end
% Transformation trigonométrique des coordonnées x=sin(2*pi*(1:1:N)/N); y=cos(2*pi*(1:1:N)/N); coord=[x.' y.']; %Utilisation de la fonction gplot pour tracer le ré seau gplot(A,coord) figure hist(sum(A), 1:1:max(sum(A))) figure end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
63
Annexe 2
Algorithme de simulation d’un réseau avec attachement préférentiel
function A=scalefree(m0,T,p,gamma) A= zeros (m0+T,m0+T); V= zeros (1,m0+T); for i= 1:m0 for j= 1:i % Utiliser le fait que le réseau est indirect if (mod((i-j),m0)==1) || (mod((i-j),m0)==m0-1) % identifier les modulos A(i,j)=1; A(j,i)=1; end end end for i=1:m0 for j=1:i if A(i,j)==1 % On vérifie s'il existe une relation entre le noeu d i et le noeud j g=rand(); if g<p % Si le nombre aléatoire simulé est plus petit, on change la liaison vers un autre noeud cc=0; while cc==0 k= round(rand()*m0); %Dans cette boucle, on remplace la première liaison par %une autre liaison aléatoire if k>0 if A(i,k)==0 % Si pas de liaison on fait le changement A(i,k)=1; A(k,i)=1; A(i,j)=0; A(j,i)=0; cc=1; end end end end end end end % Après avoir simulé un réseau aléatoire, on ajoute à chaque t un noeud % (banque) avec des nombres de liaisons éventuelles pré définis for t= 1:T m= round(rand()*(m0+t)); if m>0 A(m0+t,m0+t)=m; % La banque (m0+t) est prête à faire m nouvelles relations avec le réseau bancaire existant end i=1; s=0;
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
64
while i<m0+t for j = 1 : (m0+t-1) if A(i,j)==1 V(i)= V(i) + 1; % La somme des voisins de la banque i end end i=i+1; s= s + V(i); % la somme globale des liaisons end j=1; while A(m0+t,m0+t)>0 && j<(m0+t) g = rand(); if g< (V(j) + (gamma - 2)*m)/s % la banque (m0+t), fait la relation avec la banque j avec la probabilité écrite précéde mment A(m0+t,j)=1; A(j,m0+t)=1; A(m0+t,m0+t)=A(m0+t,m0+t)-1; % après la relation, le nombre des relations disponibles dinimue end j=j+1; if j== m0+t-1 && A(m0+t,m0+t)==m j=1; end end end for i = 1: m0+T A(i,i)=0; % On écrase toutes les semi liaisons end % Traçage du réseau x=sin(2*pi*(1:1:(m0+T))/(m0+T)); y=cos(2*pi*(1:1:(m0+T))/(m0+T)); coord=[x.' y.']; gplot(A,coord) figure hist(sum(A)) figure end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
65
Annexe 3
Algorithme de simulation des contreparties sur un réseau bancaire
function [A,D,C,T,MR]=testdette(m0,T1,gamma,N,mu,sigmanor,p ,r) % Définition des termes du contract entre banques D=zeros (N,N); %initialisation de la matrice des contreparties à 0 A=scalefree(m0,T1,p,gamma); % Génération de la matrice du réseau du système interbancaire C= zeros(N,1); % Initialisation du vecteur des liquidités de chaqu e banque s=0; T = zeros (N,N); % Matrice des maturités de chaque contrat MR = zeros (N,N); % Matrice des modalités de remboursement de chaque contrat for i = 1:N for j=1:i if A(i,j)==1 % S'il y a relation entre i et j D(i,j)=normrnd(mu,sigmanor); D(j,i)=-D(i,j); f=rand(); % Tirage d'un nombre au hasard if f>0 && f<= 1/3 % Si condition vérifiée: Remboursement par annuité constante MR(i,j)=1; MR(j,i)=1; end if f>1/3 && f<=2/3 % Si condition vérifiée: Remboursement par amortissement constant MR(i,j)=2; MR(j,i)=2; end if f>2/3 % Si condition vérifiée: Remboursement in fine MR(i,j)=3; MR(j,i)=3; end end end end % Simulation d'une matrice des maturités de chaque contract for i = 1:N for j= 1:i if A(i,j)==1 e = 0; while e==0 d= round (rand()*10); % Maturités <= 10 ans if d>1 T(i,j)=d; T(j,i)=d; e=1; end end end end end T0=T; D0=D;
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
66
% D'après la matrice des contreparties on simule le s réserves en capital for t =0:1/2: max(max(T0)) somme = zeros (N,1); for i=1:N x=1; while x<=N if T(i,x)>0 && A(i,x)==1 % S'il y a relation de contrepartie entre la banque i et x, et que le contract n'est pa s arrivé à l'échéance if MR(i,x)==1 % Remboursement par annuité constante a = (r*D0(i,x))/(1-(1+r)^(- T0(i,x))); somme(i) = somme(i) + a; M= a - D(i,x)*r; D(i,x)=D(i,x) - M; T(i,x) = T(i,x) - t; end if MR(i,x)==2 % Remboursement par amortissement constant M = D0(i,x)/T0(i,x); a= M + D(i,x)*r; somme(i) = somme(i) + a; D(i,x)= D(i,x) - M; T(i,x) = T(i,x) - t; end if MR(i,x)==3 % Remboursement in fine if T(i,x) - t >= 1/2 % Versement des intérêts a = D0(i,x)*r; somme(i) = somme(i) + a ; T(i,x) = T(i,x) - t; end if T(i,x) - t < 1/2 % Versement du principal + intérêt a = D0(i,x)*(1+r); somme(i) = somme(i) + a ; T(i,x)= T(i,x) - t; end end end x=x+1; end end for j=1:N if somme(j)<0 C(j) = C(j) - somme(j); end test = 0; while test==0 g=rand(); if g>0 C(j) = C(j) + g; test=1; end end end end C; T=T0; D=D0; end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
67
Annexe 4
Algorithme de simulation d’un mécanisme des faillites en cascade dans
un marché de contreparties
function cascadesol_remb(m0,T1,gamma,N,mu,sigmanor,p,r) [A,D,C,T,MR]= testdette (m0,T1,gamma,N,mu,sigmanor, p,r); % On génère les termes de chaque contract entre les banques h=0; D0 = zeros (N,N); T0 = zeros (N,N); A0 = A; C0 = C; for v = 1:N % v fait faillite à t=0 ssigma = 0; % L'indice marco du risque systémique echange = 0; somme = 0; % On écrase toutes les liaisons suite à une faillit e for j=1:N if D(v,j)<0 echange = echange + D(v,j); somme = somme +1; end end for j = 1:N if A(v,j)==1 A(v,j)=2; A(j,v)=2; C(v)= -10; D(v,j)=0; D(j,v)=0; end end ssigma = ssigma + 1; % Suite à une faillite l'indice est incrémenté D0=D; T0=T; for t= 0:1/12:max(max(T0)) % Les remboursements se font chaque mois for i=1:N % à chaque t, on vérifie pour chaque banque, s'il y a faillite if C(i)>= 0 % Si la banque est encore seine dans le système x=1; % Mise à jour des données de chaque contract entre la banque i, % et chacun de ses partenaires x, ainsi que sa liqu idité après % les paiements while x<=N if T(i,x)>0 && A(i,x)==1 % S'il y a relation de contrepartie entre la banque i et x, et que le cont ract n'est pas arrivé à l'échéance if MR(i,x)==1 % Remboursement par annuité constante a = (r*D0(i,x))/(1-(1+r)^(- T0(i,x))); C(i)=C(i) + a; M= a - D(i,x)*r; D(i,x)=D(i,x) - M; T(i,x) = T(i,x) - t; end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
68
if MR(i,x)==2 % Remboursement par amortissement constant M = D0(i,x)/T0(i,x); a= M + D(i,x)*r; C(i) = C(i) + a; D(i,x)= D(i,x) - M; T(i,x) = T(i,x) - t; end if MR(i,x)==3 % Remboursement in fine if T(i,x) - t >= 1/12 % Versement des intérêts a = D0(i,x)*r; C(i)= C(i) + a; T(i,x) = T(i,x) - t; end if T(i,x) - t < 1/12 % Versement du principal + intérêt a = D0(i,x)*(1+r); C(i) = C(i) + a; T(i,x)= T(i,x) - t; end end end x=x+1; end end if C(i)<0 && C(i) ~= -10 % Si la banque i n'est plus solvable, elle fait faillite for j=1:N if A(i,j)==1 % Toutes les relations de la banque i se brisent A(i,j)=2; A(j,i)=2; C(i)= -10; D(i,j)=0; D(j,i)=0; end end ssigma=ssigma +1; % L'indice macro du risque systémique s'incérmente end end end
for i=1:N for j=1:i if A(i,j)==2 A(i,j)=0; A(j,i)=0; end end end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
69
ssigma faillite1(v)=ssigma; sommes(v)=somme; echanges(v)=echange; A=A0; C=C0; D=D0; T=T0; end
j=1; for i=1:N if faillite(i)== round((max(faillite)+ min(faillite)) /2) banque_initiale (j) = i; j=j+1; end end for i = 1:length(banque_initiale) information (1,i) = echanges(banque_initiale(i) ); information (2,i) = sommes (banque_initiale(i)) ; end banque_initiale; hist(faillite,0:1:max(faillite)) figure plot(banque_initiale, information(1,1:length(banque _initiale)), '.' ) figure plot(banque_initiale, information(2,1:length(banque _initiale)), '.' ) figure end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
70
Annexe 5
Algorithme de simulation d’un marché Banques-Entreprises sans CDS
function contrat= pret(C,N,Td1,N1) contrat = zeros(Td1,6); for t=1:Td1 % Td1<Td test1=0; while test1==0 somme = 0; test = 0; while test==0 a = normrnd(0,1); % somme du prêt if a>0 test=1; end end test = 0; while test==0 E = round(rand()*N1); % Entreprise demandeuse de l'argent B= round(rand()*N); % Banque demandeuse de l'argent if E>0 && B>0 contrat(t,1)=E; % Première colonne contrat(t,2)=B; % Deuxième colonne test=1; end end for k = 1:t if contrat(k,2)==B somme = somme + contrat(k,6); end end if (a+somme)< (C(B))/4 % Si la banque n'a pas dépassé le quart de son capital contrat(t,5)=a; % Cinquième colonne contrat(t,6)=a; % Sixième colonne test1=1; end end test2=0; while test2==0 % Simulation de la maturité du contrat g1 = round(rand()*10); if g1>=1 contrat(t,3) = g1; % Troisième colonne test2=1; end end f=rand(); % Tirage d'un nombre au hasard if f>=0 && f<= 1/3 % Si condition vérifiée: Remboursement par annuité constante contrat(t,4)=1; % Quatrième colonne end if f>1/3 && f<=2/3 % Si condition vérifiée: Remboursement par amortissement constant contrat(t,4)=2; end if f>2/3 % Si condition vérifiée: Remboursement in fine contrat(t,4)=3; end end end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
71
Annexe 6
Algorithme de simulation d’un marché Banques-Entreprises avec un
nombre limité des vendeurs des CDS
function [CDS,spread, Entreprises,A,D,C,T,MR]=assurance_credit(m0,T1,gamm a,N,mu,sigmanor,p,r,Td,N1, n_vendeur) [A,D,C,T,MR]=testdette(m0,T1,gamma,N,mu,sigmanor,p, r); % Simulation du marché des contreparties initial CDS = zeros (Td,7); % La matrice décrivant toutes les caractéristiques du marché des CDS for i = 1:N1 Entreprises(i)=i; % La définition des entreprises du réseau test = 0; while test == 0 spread(i)=rand(); if spread(i)>0.05 && spread(i)<0.25 % On simule pour chaque entreprise un spread qui traduit son risque dans le système test = 1; end end end X=sum(A); k=1; while k<=n_vendeur a=max(X); i=1; test=0; while i<=N || test==0 if X(i)==a banque_vendeur(k)=i; % Les banques les plus grosses k=k+1; test=1; end i=i+1; end for j=1:N if X(j)==a X(j)=-10; end end end for t=1:Td test1=0; while test1==0 % Etablissement d'une relation entre banque et entreprise E= round (rand()*N1); B= round (rand()*N); if E>0 && B>0 test1=1; end end CDS(t,1)=E; CDS(t,2)=B; test2=0;
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
72
while test2==0 % Simulation de la maturité du contrat g1 = round(rand()*10); if g1>=1 CDS(t,3) = g1; test2=1; end end f=rand(); % Tirage d'un nombre au hasard if f>=0 && f<= 1/3 % Si condition vérifiée: Remboursement par annuité constante CDS(t,4)=1; end if f>1/3 && f<=2/3 % Si condition vérifiée: Remboursement par amortissement constant CDS(t,4)=2; end if f>2/3 % Si condition vérifiée: Remboursement in fine CDS(t,4)=3; end test2=0; while test2==0 indice = round(rand()*n_vendeur); if indice>0 test2=1; end end test3 = 0; while test3 == 0 % Simulation du principal du prêt VN = normrnd(0,1); if VN>0 test3 = 1; end end CDS(t,5)=VN; B1=banque_vendeur(indice); CDS(t,6)=B1; CDS(t,7) = VN; if A(B,B1)==0 A(B,B1)=1; A(B1,B)=1; end end CDS; end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
73
Annexe 7
Algorithme de simulation d’un marché Banques-Entreprises où toutes
les banques vendent des CDS
function [CDS,spread, Entreprises,A,D,C,T,MR]=assurance_credit(m0,T1,gamm a,N,mu,sigmanor,p,r,Td,N1) [A,D,C,T,MR]=testdette(m0,T1,gamma,N,mu,sigmanor,p, r); % Simulation du marché des contreparties initial CDS = zeros (Td,7); % La matrice décrivant toutes les caractéristiques du marché des CDS for i = 1:N1 Entreprises(i)=i; % La définition des entreprises du réseau test = 0; while test == 0 spread(i)=rand(); if spread(i)>0.05 && spread(i)<0.25 % On simule pour chaque entreprise un spread qui traduit son risque dans le système test = 1; end end end for t=1:Td test1=0; while test1==0 % Etablissement d'une relation entre banque et entr eprise E= round (rand()*N1); B= round (rand()*N); if E>0 && B>0 test1=1; end end CDS(t,1)=E; CDS(t,2)=B; test2=0; while test2==0 % Simulation de la maturité du contrat g1 = round(rand()*10); if g1>=1 CDS(t,3) = g1; test2=1; end end f=rand(); % Tirage d'un nombre au hasard if f>=0 && f<= 1/3 % Si condition vérifiée: Remboursement par annuité constante CDS(t,4)=1; end if f>1/3 && f<=2/3 % Si condition vérifiée: Remboursement par amortissement constant CDS(t,4)=2; end if f>2/3 % Si condition vérifiée: Remboursement in fine CDS(t,4)=3; end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
74
test2=0; while test2==0 indice = round(rand()*N); if indice>0 test2=1; end end test3 = 0; while test3 == 0 % Simulation du principal du prêt VN = normrnd(0,1); if VN>0 test3 = 1; end end CDS(t,5)=VN; B1=indice; CDS(t,6)=B1; CDS(t,7) = VN; if A(B,B1)==0 A(B,B1)=1; A(B1,B)=1; end end CDS; end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
75
Annexe 8
Algorithme de simulation du mécanisme des faillites en cascade dans un
marché sans CDS
function [faillite1,perte1]=cascade_charge_sans_cds(spread, Entreprises,A,D,C,T,MR,N,r,libor,Td1,N1, nbr) contrat =pret(C,N,Td1,N1); % Simulation d'un marché avec toutes les caractéristiques %Sauvgarde de toutes les données intiales D0=D; T0=T; contrat0=contrat; spread0 = spread; Entreprises0= Entreprises; A0 = A; C0 = C; % Détremination de l'échéance maximale associé aux emprunts de chaque % entreprise maxi = zeros (1,N1); for i= 1:N1 h=1; while h<=Td1 if contrat(h,1)==i && maxi(i)<contrat(h,3) maxi(i)=contrat(h,3); end h=h+1; end end perte1 = zeros(nbr,1); fin = max(max(max(T0)),max(contrat(1:Td1,3))); for v = 1:nbr T_EB = contrat(1:Td1,3); % Un vecteur des matrurités de tous les contrats ssigma1 = 0; %Simulation d'une trajectoire du temps de défaut de chaque entreprise considérée for i = 1:N1 test=0; while test==0 rn=rand(); if rn>0 temps_defaut(i)= (-1/spread(i))*log(1-r n); test=1; end end end for t= 0:1/2:fin for i=1:N1 if Entreprises(i)>0 declenchement=0; if maxi(i)>=temps_defaut(i) && t>=temps_defaut(i) % Si temps de défaut arrive avant la maturité declenchement = 1; % L'entreprise i fait défaut, donc mécanisme CDS déclenché end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
76
if temps_defaut(i)> maxi(i) declenchement = 0; end if temps_defaut(i)<=maxi(i) && t<temps_defaut(i) declenchement = 0; end if declenchement == 0 % Absence de défaut k=1; while k<=Td1 if contrat(k,1)==i && T_EB(k)>0 && contrat(k,6)>0 % Chaque entreprise paie sa dette if contrat(k,4)==1 % Remboursement par annuité constante cf_pret = ((libor+spread(i))*contrat(k,6))/(1-(1+libor+spread (i))^(-contrat(k,3))); C(contrat(k,2))=C(co ntrat(k,2)) + cf_pret; M1= cf_pret – contrat(k,5)*(l ibor+spread(i)); contrat(k,5)=contrat (k,5) - M1; T_EB(k) = T_EB(k) - t; end if contrat(k,4)==2 % Remboursement par amortissement constant M1 = contrat(k,6)/co ntrat(k,3); cf_pret = M1 + contr at(k,5)*(libor + spread(i )); C(contrat(k,2)) = C( contrat(k,2)) + cf_pret; contrat(k,5)= contra t(k,5) - M1; T_EB(k) = T_EB(k) - t; end if contrat(k,4)==3 % Remboursement in fine if T_EB(k) - t >= 1/2 % Versement des intérêts cf_pret = contrat (k,6)*(libor + spread(i)); C(contrat(k,2))= C(contrat(k,2)) + cf _pret; T_EB(k) = T_EB(k) - t; end if T_EB(k) - t < 1/2 % Versement du principal + intérêt cf_pret = contrat (k,6)*(1+ libor + spread( i)); C(contrat(k,2)) = C(contrat(k,2)) + cf_pret; T_EB(k)= T_EB(k) - t; end end end k=k+1; end end if declenchement == 1 % Il y a défaut de l'entreprise i k=1; while k<=Td1 if contrat(k,1)==i if contrat(k,6)>0 && C(contrat(k,2))~= -10 C(contrat(k,2))= C(cont rat(k,2)) - contrat(k,6); end end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
77
if C(contrat(k,2))<0 && C(contrat(k,2)) ~= -10 % Si la banque i n'est plus solvable, elle fait faillite for x=1:N if A(contrat(k,2),x)==1 % Toutes les relations de la banque i se brisent A(contrat(k,2),x)=2; A(x,contrat(k,2))=2; C(contrat(k,2))= -10; if D(contrat(k,2),x)>0 perte1(v)= perte1(v)+ D(con trat(k,2),x); else perte1(v)= perte1(v)- D(con trat(k,2),x); end D(contrat(k,2),x)=0; D(x,contrat(k,2))=0; T(x,contrat(k,2))=0; T(contrat(k,2),x)=0; end end for y=1:Td1 if contrat(y,2)==contrat(k,6)&& contrat(y,5)~=-10 perte1(v) = perte1(v) + con trat(y,5); contrat(y,3)= -10; contrat(y,4)= -10; contrat(y,5)=-10; contrat(y,6)=-10; end end ssigma1=ssigma1 +1; % L'indice macro du risque systémique s'incérmente end k=k+1; end Entreprises(i)=0; end end end for i=1:N % à chaque t, on vérifie pour chaque banque, s'il y a faillite if C(i)> 0 % Si la banque est encore seine dans le système y=1; while y<=i if T(i,y)>0 % S'il y a relation de contrepartie entre la banque i et x, et que le contract n'est pas arrivé à l'échéance if MR(i,y)==1 % Remboursement par annuité constante a = (r*D0(i,y))/(1-(1+r)^(- T0(i,y))); C(i)=C(i) + a; M= a - D(i,y)*r; D(i,y)=D(i,y) - M; T(i,y) = T(i,y) - t; end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
78
if MR(i,y)==2 % Remboursement par amortissement constant M = D0(i,y)/T0(i,y); a= M + D(i,y)*r; C(i) = C(i) + a; D(i,y)= D(i,y) - M; T(i,y) = T(i,y) - t; end if MR(i,y)==3 % Remboursement in fine if T(i,y) - t >= 1/2 % Versement des intérêts a = D0(i,y)*r; C(i)= C(i) + a; T(i,y) = T(i,y) - t; end if T(i,y) - t < 1/2 % Versement du principal + intérêt a = D0(i,y)*(1+r); C(i) = C(i) + a ; T(i,y)= T(i,y) - t; end end end y=y+1; end if C(i)<0 && C(i) ~= -10 % Si la banque i n'est plus solvable, elle fait faillite C(i)= -10; for l=1:N if A(i,l)==1 % Toutes les relations de la banque i se brisent A(i,l)=2; A(l,i)=2; if D(i,l)>0 perte1(v)= perte1(v)+ D(i,l ); else perte1(v)= perte1(v)- D(i,l ); end D(i,l)=0; D(l,i)=0; T(i,l)=0; T(l,i)=0; end end for y=1:Td1 if contrat(y,2)==i && contrat(y,5)~=-10 perte1(v) = perte1(v) + con trat(y,5); contrat(y,3)= -10; contrat(y,4)= -10; contrat(y,5)=-10; contrat(y,6)=-10; end end ssigma1=ssigma1 +1; % L'indice macro du risque systémique s'incérmente end end end end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
79
for i=1:N for l=1:i if A(i,l)==2 A(i,l)=0; A(l,i)=0; end end end ssigma1 faillite1(v)=ssigma1; % Ensemble des faillites suite à N simulations D=D0; T=T0; contrat=contrat0; spread = spread0; Entreprises= Entreprises0; A = A0; C = C0; end end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
80
Annexe 9
Algorithme de simulation d’un mécanisme des faillites en cascade dans
un marché Banques-Entreprises où le nombre des vendeurs des CDS est
limité
function diff = cascade_charge_cds1(m0,T1,gamma,N,mu,sigmanor,p,r,l ibor,Td,N1,Td1, nbr,n_vendeur) [CDS,spread,Entreprises,A,D,C,T,MR]=assurance_credi t(m0,T1,gamma,N,mu,sigmanor,p,r,Td,N1,n_vendeur); % Simulation d'un marché avec toutes les caractéristiques %Sauvgarde de toutes les données intiales D0=D; T0=T; CDS0=CDS; spread0 = spread; Entreprises0= Entreprises; A0 = A; C0 = C; % Détremination de l'échéance maximale associé aux emprunts de chaque % entreprise maxi = zeros (1,N1); for i= 1:N1 h=1; while h<=Td if CDS(h,1)==i && maxi(i)<CDS(h,3) maxi(i)=CDS(h,3); end h=h+1; end end perte = zeros(nbr,1); fin = max(max(max(T0)),max(CDS(1:Td,3))); for v = 1:nbr T_EB = CDS(1:Td,3); % Un vecteur des matrurités de tous les contrats ssigma = 0; %Simulation d'une trajectoire du temps de défaut de chaque entreprise considérée for i = 1:N1 test=0; while test==0 rn=rand(); if rn>0 temps_defaut(i)= (-1/spread(i))*log(1-r n); test=1; end end end for t= 0:1/2:fin for i=1:N1 if Entreprises(i)>0 declenchement=0; if maxi(i)>=temps_defaut(i) && t>=temps_defaut(i) % Si temps de défaut arrive avant la maturité declenchement = 1; % L'entreprise i fait défaut, donc mécanisme CDS déclenché end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
81
if temps_defaut(i)> maxi(i) declenchement = 0; end if temps_defaut(i)<=maxi(i) && t<temps_defaut(i) declenchement = 0; end if declenchement == 0 % Absence de défaut k=1; while k<=Td if CDS(k,1)==i && T_EB(k)>0 if CDS(k,7)>0 % Entreprise remboursent les banques if CDS(k,4)==1 % Remboursement par annuité constante cf_pret = ((libor+sp read(i))*CDS(k,7))/(1-(1+libor+spread(i))^(-CDS(k,3))); C(CDS(k,2))=C(CDS(k, 2)) + cf_pret; M1= cf_pret - CDS(k, 5)*(libor+spread(i)); CDS(k,5)=CDS(k,5) - M1; T_EB(k) = T_EB(k) - t; end if CDS(k,4)==2 % Remboursement par amortissement constant M1 = CDS(k,7)/CDS(k, 3); cf_pret = M1 + CDS(k ,5)*(libor + spread(i)); C(CDS(k,2)) = C(CDS( k,2)) + cf_pret; CDS(k,5)= CDS(k,5) - M1; T_EB(k) = T_EB(k) - t; end if CDS(k,4)==3 % Remboursement in fine if T_EB(k) - t >= 1/2 % Versement des intérêts cf_pret = CDS(k,7 )*(libor + spread(i)); C(CDS(k,2))= C(CD S(k,2)) + cf_pret; T_EB(k) = T_EB(k) - t; end if T_EB(k) - t < 1/2 % Versement du principal + intérêt cf_pret = CDS(k,7 )*(1+ libor + spread(i)); C(CDS(k,2)) = C(C DS(k,2)) + cf_pret; T_EB(k)= T_EB(k) - t; end end end if CDS(k,7)>0 && C(CDS(k,2))~= -10 && C(CDS(k,6))~= -10 % L'acheteur verse au vendeur le spread C(CDS(k,2))= C(CDS(k,2) ) - CDS(k,7)*spread(i); C(CDS(k,6)) = C(CDS(k,6 )) + CDS(k,7)*spread(i); end end if C(CDS(k,2))<0 && C(CDS(k,2)) ~= -10 % Si la banque i n'est plus solvable, elle fait faillite for x=1:N if A(CDS(k,2),x)==1 % Toutes les relations de la banque i se brisent A(CDS(k,2),x)=2; A(x,CDS(k,2))=2; C(CDS(k,2))= -10; if D(CDS(k,2),x)>0 perte(v)= perte(v)+ D(CDS(k ,2),x); else perte(v)= perte(v)- D(CDS(k ,2),x); end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
82
D(CDS(k,2),x)=0; D(x,CDS(k,2))=0; T(x,CDS(k,2))=0; T(CDS(k,2),x)=0; end end for y=1:Td if CDS(y,2)==CDS(k,2) && CDS(y,5)~=-10 perte(v) = perte(v) + CDS(y ,5); end if CDS(y,2)==CDS(k,2) || CDS(y,6) == CDS(k,2) CDS(y,3)= -10; CDS(y,4)= -10; CDS(y,5)=-10; CDS(y,7)=-10; end end ssigma=ssigma +1; % L'indice macro du risque systémique s'incérmente end k=k+1; end end if declenchement == 1 % Il y a défaut de l'entreprise i k=1; while k<=Td if CDS(k,1)==i if CDS(k,7)>0 && C(CDS(k,2))~= -10 && C(CDS(k,6))~= -10 C(CDS(k,2))= C(CDS(k,2) ) + CDS(k,7); C(CDS(k,6)) = C(CDS(k,6 )) - CDS(k,7); end end if C(CDS(k,6))<0 && C(CDS(k,6)) ~= -10 % Si la banque i n'est plus solvable, elle fait faillite for x=1:N if A(CDS(k,6),x)==1 % Toutes les relations de la banque i se brisent A(CDS(k,6),x)=2; A(x,CDS(k,6))=2; C(CDS(k,6))= -10; if D(CDS(k,6),x)>0 perte(v)= perte(v)+ D(CDS(k ,6),x); else perte(v)= perte(v)- D(CDS(k ,6),x); end D(CDS(k,6),x)=0; D(x,CDS(k,6))=0; T(x,CDS(k,6))=0; T(CDS(k,6),x)=0; end end for y=1:Td if CDS(y,2)==CDS(k,6)&& CDS(y,5)~=-10 perte(v) = perte(v) + CDS(y ,5); end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
83
if CDS(y,2)==CDS(k,6) || CDS(y,6) == CDS(k,6) CDS(y,3)= -10; CDS(y,4)= -10; CDS(y,5)=-10; CDS(y,7)=-10; end end ssigma=ssigma +1; % L'indice macro du risque systémique s'incérmente end k=k+1; end Entreprises(i)=0; end end end for i=1:N % à chaque t, on vérifie pour chaque banque, s'il y a faillite if C(i)> 0 % Si la banque est encore seine dans le système y=1; while y<=i % Mise à jour des données de chaque contract entre la banque i, % et chacun de ses partenaires x, ainsi que sa liqu idité après % les paiements if T(i,y)>0 % S'il y a relation de contrepartie entre la banque i et x, et que le contract n'est pas arrivé à l'échéance if MR(i,y)==1 % Remboursement par annuité constante a = (r*D0(i,y))/(1-(1+r)^(- T0(i,y))); C(i)=C(i) + a ; M= a - D(i,y)*r; D(i,y)=D(i,y) - M; T(i,y) = T(i,y) - t; end if MR(i,y)==2 % Remboursement par amortissement constant M = D0(i,y)/T0(i,y); a= M + D(i,y)*r; C(i) = C(i) + a; D(i,y)= D(i,y) - M; T(i,y) = T(i,y) - t; end if MR(i,y)==3 % Remboursement in fine if T(i,y) - t >= 1/2 % Versement des intérêts a = D0(i,y)*r; C(i)= C(i) + a T(i,y) = T(i,y) - t; end if T(i,y) - t < 1/2 % Versement du principal + intérêt a = D0(i,y)*(1+r); C(i) = C(i) + a; T(i,y)= T(i,y) - t; end end end y=y+1; end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
84
if C(i)<0 && C(i) ~= -10 % Si la banque i n'est plus solvable, elle fait faillite C(i)= -10; K(i)= -10; for l=1:N if A(i,l)==1 % Toutes les relations de la banque i se brisent A(i,l)=2; A(l,i)=2; if D(i,l)>0 perte(v)= perte(v)+ D(i,l); else perte(v)= perte(v)- D(i,l); end D(i,l)=0; D(l,i)=0; T(i,l)=0; T(l,i)=0; end end for y=1:Td if CDS(y,2)==i && CDS(y,5)~=-10 perte(v) = perte(v) + CDS(y ,5); end if CDS(y,2)==i || CDS(y,6) == i CDS(y,3)= -10; CDS(y,4)= -10; CDS(y,5)=-10; CDS(y,7)=-10; end end ssigma=ssigma +1; % L'indice macro du risque systémique s'incérmente end end end end for i=1:N for l=1:i if A(i,l)==2 A(i,l)=0; A(l,i)=0; end end end ssigma faillite(v)=ssigma; % Ensemble des faillites suite à N simulations D=D0; T=T0; CDS=CDS0; spread = spread0; Entreprises= Entreprises0; A = A0; C = C0; end D=D0; T=T0; A = A0; C = C0;
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
85
N.B : Pour le mécanisme d’un marché où les CDS sont vendus par tout le monde, on
garde la même structure de cet algorithme, mais on fait appel à la fonction de
simulation d’un marché avec tous les agents sont vendeurs des CDS.
[faillite1,perte1]=cascade_charge_sans_cds(spread, Entreprises,A,D,C,T,MR,N,r,libor,Td1,N1, nbr); % Simulation par les mêmes données d'un marché sans CDS for i =1:N ratio(i)= perte(i)/faillite(i); ratio1(i)= perte1(i)/faillite1(i); end for i=1:N diff(i)= ratio(i) - ratio1(i); end D=D0; T=T0; A = A0; C = C0; hist(diff) end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
86
Annexe 10
Algorithme de l’estimation des cashs flows futurs des banques du réseau
function cf_futur=calcul_cf (CDS,spread,D,T,MR,N,r,libor,Td ,temps_defaut) cf_futur = zeros (1,N); CDS0=CDS; D0=D; T0=T; a=0; for k = 1:Td if cf_futur(CDS(k,6))==0 for l= 1:Td if CDS(l,2)==CDS(k,6) for t=0:1/2: min(temps_defaut(CDS(l,1)), CDS(k,3)) if CDS(l,4)==1 % Remboursement par annuité constante cf_futur(CDS(k,6)) = cf_futur(CDS(k,6))+ ((libor+spread(CDS(l,1)))*CDS(l,7))/(1-(1+libor+spr ead(CDS(l,1)))^(-CDS(l,3))); end if CDS(l,4)==2 % Remboursement par amortissement constant M1 = CDS(l,7)/CDS(l, 3); cf_futur(CDS(k,6)) = cf_futur(CDS(k,6))+ M1 + CDS(l,5)*(libor + spread(CDS(l,1))); CDS(l,5)= CDS(l,5) - M1; end if CDS(l,4)==3 % Remboursement in fine if min(temps_defaut(CDS(l,1)), CDS(k,3)) - t >= 1/2 % Versement des intérêts cf_pret = CDS(l,7 )*(libor + spread(CDS(l,1))); cf_futur(CDS(k,6) )= cf_pret; end if min(temps_defaut(CDS(l,1)), CDS(k,3)) - t < 1/2 % Versement du principal + intérêt cf_futur(CDS(k,6) )= cf_futur(CDS(k,6))+CDS(l,7)*(1+ libor + spread(CDS( l,1))); end end end end if CDS(l,3)==CDS(k,6) for t=0:1/2: min(temps_defaut(CDS(l,1)), CDS(k,3)) cf_futur(CDS(k,6))= cf_futur(CD S(k,6)) + CDS(l,7)*spread(CDS(l,1)); end end for t=0:1/2: min(temps_defaut(CDS(l,1)), CDS(k,3)) y=1; while y<=N if T(CDS(k,6),y)>0 % S'il y a relation de contrepartie entre la banque i et x, et que le contract n'est pa s arrivé à l'échéance if MR(CDS(k,6),y)==1 % Remboursement par annuité constante
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
87
if MR(CDS(k,6),y)==1 % Remboursement par annuité constante a = (r*D0(CDS(k,6),y))/(1-( 1+r)^(-T0(CDS(k,6),y))); cf_futur(CDS(k,6))=cf_futur (CDS(k,6)) + a ; M= a - D(CDS(k,6),y)*r; D(CDS(k,6),y)=D(CDS(k,6),y) - M; T(CDS(k,6),y) = T(CDS(k,6), y) - t; end if MR(CDS(k,6),y)==2 % Remboursement par amortissement constant M = D0(CDS(k,6),y)/T0(CDS(k ,6),y); a= M + D(CDS(k,6),y)*r; cf_futur(CDS(k,6)) = cf_fut ur(CDS(k,6)) + a; D(CDS(k,6),y)= D(CDS(k,6),y ) - M; T(CDS(k,6),y) = T(CDS(k,6), y) - t; end if MR(CDS(k,6),y)==3 % Remboursement in fine if T(CDS(k,6),y) - t >= 1/2 % Versement des intérêts a = D0(CDS(k,6),y)*r; cf_futur(CDS(k,6))= cf_ futur(CDS(k,6)) + a ; T(CDS(k,6),y) = T(CDS(k ,6),y) - t; end if T(CDS(k,6),y) - t < 1/2 % Versement du principal + intérêt a = D0(CDS(k,6),y)*(1+r ); cf_futur(CDS(k,6)) = cf _futur(CDS(k,6)) + a; T(CDS(k,6),y)= T(CDS(k, 6),y) - t; end end end y=y+1; end a=a+1; end end end end T=T0; D=D0; CDS=CDS0; end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
88
Annexe 11
Simulation Monte Carlo pour l’estimation de la richesse d’une CCP
function marge = simulation_richesse_ccp(CDS,C,spread,D,T,MR,N,r,lib or,Td,N1,N_simulation,risque) epsilon = 0.01; marge = 0; a=0; while epsilon <=1 u=0; for i=1:N_simulation Richesse(i)=20; end for i = 1: N_simulation temps_defaut=zeros(N1,1); for j = 1:N1 test=0; while test==0 rn=rand(); if rn>0 temps_defaut(j)= (-1/spread(j))*log(1-r n); test=1; end end end cf_futur=calcul_cf (CDS,spread,D,T,MR,N,r,libor ,Td,temps_defaut); a=a+1; for k=1:Td if temps_defaut(CDS(k,1))>CDS(k,3) Richesse(i) = Richesse(i) + 2*CDS(k,3)*CDS(k,5)*spread(CDS(k,1))*epsilon; end if temps_defaut(CDS(k,1))<=CDS(k,3) && (C(CDS(k,6))- cf_futur(CDS(k,6)))>CDS(k,5) Richesse(i) = Richesse(i) + 2*temps_defaut(CDS(k,1))*CDS(k,5)*spread(CDS(k,1))* epsilon; end if temps_defaut(CDS(k,1))<=CDS(k,3) && (C(CDS(k,6))- cf_futur(CDS(k,6)))<=CDS(k,5) Richesse(i) = Richesse(i) + 2*temps_defaut(CDS(k,1))*CDS(k,5)*spread(CDS(k,1))* epsilon - CDS(k,5); end end if Richesse(i)<0 u=u+1; end end if u/N_simulation < risque marge = epsilon; epsilon = 2; end epsilon = epsilon + 0.05; end hist(Richesse) marge end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
89
Annexe 12
Algorithme de simulation d’un mécanisme d’un marché centralisé
autour d’une CCP
function cascade_cds_ccp(m0,T1,gamma,N,mu,sigmanor,p,r,lib or,Td,N1, nbr,N_simulation,risque) [CCP,CDS,spread, Entreprises,A,D,C,T,MR]=assurance_credit_regule(m0, T1,gamma,N,mu,sigmanor,p,r,Td,N1); % Simulation d'un marché avec toutes les caractéris tiques %Sauvgarde de toutes les données intiales D0=D; T0=T; CDS0=CDS; spread0 = spread; Entreprises0= Entreprises; A0 = A; C0 = C; % Détremination de l'échéance maximale associé aux emprunts de chaque % entreprise maxi = zeros (1,N1); for i= 1:N1 h=1; while h<=Td if CDS(h,1)==i && maxi(i)<CDS(h,3) maxi(i)=CDS(h,3); end h=h+1; end end marge = simulation_richesse_ccp(CDS,C,spread,D,T,MR,N,r,lib or,Td,N1,N_simulation,risque); perte = zeros(nbr,1); fin = max(max(max(T0)),max(CDS(1:Td,3))); for v = 1:nbr richesse_ccp = 20; T_EB = CDS(1:Td,3); % Un vecteur des matrurités de tous les contrats m=0; % Les voisins qui ont fait faillite u = 1; % Les voisins seins K= zeros (1,N); % La distribution des coefficients de charge (FBM) sigma=0; ssigma = 0; %Simulation d'une trajectoire du temps de défaut de chaque entreprise considérée for i = 1:N1 test=0; while test==0 rn=rand(); if rn>0 temps_defaut(i)= (-1/spread(i))*log(1-r n); test=1; end end end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
90
for t= 0:1/2:fin % Les mécanismes se font sur deux étapes %1) Mécanisme CDS suivant les temps de défaut simul és %2) Mécanisme de remboursement des contreparties en tre banques for i=1:N1 if Entreprises(i)>0 declenchement=0; if maxi(i)>=temps_defaut(i) && t>=temps_defaut(i) % Si temps de défaut arrive avant la maturité declenchement = 1; % L'entreprise i fait défaut, donc mécanisme CDS déclenché end if temps_defaut(i)> maxi(i) declenchement = 0; end if temps_defaut(i)<=maxi(i) && t<temps_defaut(i) declenchement = 0; end if declenchement == 0 % Absence de défaut k=1; while k<=Td if CDS(k,1)==i && T_EB(k)>0 if CDS(k,7)>0 % Entreprise remboursent les banques if CDS(k,4)==1 % Remboursement par annuité constante cf_pret = ((libor+sp read(i))*CDS(k,7))/(1-(1+libor+spread(i))^(-CDS(k,3))); C(CDS(k,2))=C(CDS(k, 2)) + cf_pret; M1= cf_pret - CDS(k, 5)*(libor+spread(i)); CDS(k,5)=CDS(k,5) - M1; T_EB(k) = T_EB(k) - t; end if CDS(k,4)==2 % Remboursement par amortissement constant M1 = CDS(k,7)/CDS(k, 3); cf_pret = M1 + CDS(k ,5)*(libor + spread(i)); C(CDS(k,2)) = C(CDS( k,2)) + cf_pret; CDS(k,5)= CDS(k,5) - M1; T_EB(k) = T_EB(k) - t; end if CDS(k,4)==3 % Remboursement in fine if T_EB(k) - t >= 1/2 % Versement des intérêts cf_pret = CDS(k,7 )*(libor + spread(i)); C(CDS(k,2))= C(CD S(k,2)) + cf_pret; T_EB(k) = T_EB(k) - t; end if T_EB(k) - t < 1/2 % Versement du principal + intérêt cf_pret = CDS(k,7 )*(1+ libor + spread(i)); C(CDS(k,2)) = C(C DS(k,2)) + cf_pret; T_EB(k)= T_EB(k) - t; end end end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
91
if CDS(k,7)>0 && C(CDS(k,2))~= -10 && C(CDS(k,6))~= -10 % L'acheteur verse au vendeur le spread C(CDS(k,2))= C(CDS(k,2) ) - CDS(k,7)*spread(i); richesse_ccp = richesse _ccp + marge*CDS(k,7)*spread(i); C(CDS(k,6)) = C(CDS(k,6 )) + (1-marge)*CDS(k,7)*spread(i); end end if C(CDS(k,2))<0 && C(CDS(k,2)) ~= -10 % Si la banque i n'est plus solvable, elle fait faillite for x=1:N if A(CDS(k,2),x)==1 % Toutes les relations de la banque i se brisent A(CDS(k,2),x)=2; A(x,CDS(k,2))=2; C(CDS(k,2))= -10; K(CDS(k,2))= -10; if D(CDS(k,2),x)>0 perte(v)= perte(v)+ D(CDS(k ,2),x); else perte(v)= perte(v)- D(CDS(k ,2),x); end D(CDS(k,2),x)=0; D(x,CDS(k,2))=0; T(x,CDS(k,2))=0; T(CDS(k,2),x)=0; end end for y=1:Td if CDS(y,2)==CDS(k,2) && CDS(y,5)~=-10 perte(v) = perte(v) + CDS(y ,5); end if CDS(y,2)==CDS(k,2) || CDS(y,6) == CDS(k,2) CDS(y,3)= -10; CDS(y,4)= -10; CDS(y,5)=-10; CDS(y,7)=-10; end end ssigma=ssigma +1; % L'indice macro du risque systémique s'incérmente sigma = sigma + rand(); end k=k+1; end end if declenchement == 1 % Il y a défaut de l'entreprise i k=1; while k<=Td if CDS(k,1)==i if CDS(k,7)>0 && C(CDS(k,2))~= -10 && C(CDS(k,6))~= -10 && C(CDS(k,6))> CDS(k,7) C(CDS(k,2))= C(CDS(k,2) ) + CDS(k,7); C(CDS(k,6)) = C(CDS(k,6 )) - CDS(k,7); end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
92
if CDS(k,7)>0 && C(CDS(k,2))~= -10 && C(CDS(k,6))~= -10 && C(CDS(k,6))<= CDS(k,7) C(CDS(k,2))= C(CDS(k,2)) + CDS(k,7); richesse_ccp = richesse_ ccp - CDS(k,7); end end if C(CDS(k,6))<0 && C(CDS(k,6)) ~= -10 % Si la banque i n'est plus solvable, elle fait faillite for x=1:N if A(CDS(k,6),x)==1 % Toutes les relations de la banque i se brisent A(CDS(k,6),x)=2; A(x,CDS(k,6))=2; C(CDS(k,6))= -10; K(CDS(k,6))= -10; if D(CDS(k,6),x)>0 perte(v)= perte(v)+ D(CDS(k ,6),x); else perte(v)= perte(v)- D(CDS(k ,6),x); end D(CDS(k,6),x)=0; D(x,CDS(k,6))=0; T(x,CDS(k,6))=0; T(CDS(k,6),x)=0; end end for y=1:Td if CDS(y,2)==CDS(k,6)&& CDS(y,5)~=-10 perte(v) = perte(v) + CDS(y ,5); end if CDS(y,2)==CDS(k,6) || CDS(y,6) == CDS(k,6) CDS(y,3)= -10; CDS(y,4)= -10; CDS(y,5)=-10; CDS(y,7)=-10; end end ssigma=ssigma +1; % L'indice macro du risque systémique s'incérmente sigma = sigma + rand(); end k=k+1; end Entreprises(i)=0; end end end for i=1:N % à chaque t, on vérifie pour chaque banque, s'il y a faillite if C(i)> 0 % Si la banque est encore seine dans le système y=1; while y<=i % Mise à jour des données de chaque contract entre la banque i, % et chacun de ses partenaires x, ainsi que sa liqu idité après % les paiements
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
93
if T(i,y)>0 % S'il y a relation de contrepartie entre la banque i et x, et que le contract n'est pas arrivé à l'échéance if MR(i,y)==1 % Remboursement par annuité constante a = (r*D0(i,y))/(1-(1+r)^(- T0(i,y))); C(i)=C(i) + a ; M= a - D(i,y)*r; D(i,y)=D(i,y) - M; T(i,y) = T(i,y) - t; end if MR(i,y)==2 % Remboursement par amortissement constant M = D0(i,y)/T0(i,y); a= M + D(i,y)*r; C(i) = C(i) + a; D(i,y)= D(i,y) - M; T(i,y) = T(i,y) - t; end if MR(i,y)==3 % Remboursement in fine if T(i,y) - t >= 1/2 % Versement des intérêts a = D0(i,y)*r; C(i)= C(i) + a ; T(i,y) = T(i,y) - t; end if T(i,y) - t < 1/2 % Versement du principal + intérêt a = D0(i,y)*(1+r); C(i) = C(i) + a; T(i,y)= T(i,y) - t; end end end y=y+1; end if C(i)<0 && C(i) ~= -10 % Si la banque i n'est plus solvable, elle fait faillite C(i)= -10; K(i)= -10; for l=1:N if A(i,l)==1 % Toutes les relations de la banque i se brisent A(i,l)=2; A(l,i)=2; if D(i,l)>0 perte(v)= perte(v)+ D(i,l); else perte(v)= perte(v)- D(i,l); end D(i,l)=0; D(l,i)=0; T(i,l)=0; T(l,i)=0; end end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
94
for y=1:Td if CDS(y,2)==i && CDS(y,5)~=-10 perte(v) = perte(v) + CDS(y ,5); end if CDS(y,2)==i || CDS(y,6) == i CDS(y,3)= -10; CDS(y,4)= -10; CDS(y,5)=-10; CDS(y,7)=-10; end end sigma = sigma + rand(); % Suite à une faillite, le choc exogène augmente ssigma=ssigma +1; % L'indice macro du risque systémique s'incérmente end end end end for i=1:N for l=1:i if A(i,l)==2 A(i,l)=0; A(l,i)=0; end end end ssigma faillite(v)=ssigma; % Ensemble des faillites suite à N simulations D=D0; T=T0; CDS=CDS0; spread = spread0; Entreprises= Entreprises0; A = A0; C = C0; end D=D0; T=T0; A = A0; C = C0; [faillite1, perte1] = cascade_charge_cds11(CDS,spread,Entreprises,A,D,C,T ,MR,N,r,libor,Td,N1, nbr); % Simulation par les mêmes données d'un marché sans CDS for i =1:N if faillite(i)~=0 && faillite1(i) ~= 0 ratio(i)= perte(i)/faillite(i); ratio1(i)= perte1(i)/faillite1(i); end if faillite(i) == 0 && faillite1(i) ~= 0 ratio(i)=0; ratio1(i)= perte1(i)/faillite1(i); end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
95
if faillite(i)~=0 && faillite1(i)==0 ratio1(i)=0; ratio(i)= perte(i)/faillite(i); end if faillite(i)==0 && faillite1(i)==0 ratio(i)=0; ratio1(i)=0; end end for i=1:N diff(i)= ratio(i) - ratio1(i); % Distribution empirique des différences entre marché avec CDS et marché sans CDS end D=D0; T=T0; A = A0; C = C0; hist(diff) end
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
96
Annexe 13
Autres graphiques de la distribution de la différence de la perte
moyenne par faillite entre un marché avec CDS (nombre des vendeurs
limité) et un marché sans CDS
Γ= 1000
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
97
Γ= 500
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
98
Γ= 100
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
99
Γ= 2
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
100
Annexe 15
Autres graphiques de la distribution de la différence de la perte
moyenne par faillite entre un marché avec CDS (toutes les banques
vendent des CDS) et un marché sans CDS
Γ= 1000
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
101
Γ= 500
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
102
Γ= 100
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
103
Γ= 2
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
104
Annexe 16
Autres graphiques de la distribution de la différence de la perte
moyenne par faillite entre un marché avec CDS (toutes les banques
vendent des CDS) et un marché avec CDS (nombre des vendeurs limité)
Γ= 1000
Γ= 500
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
105
Γ= 100
Γ= 2
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
106
Annexe 17
Autres graphiques de la distribution de la différence de la perte
moyenne par faillite entre un marché avec CDS et un marché avec CDS
centralisé autour d’une CCP
Γ= 1000
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
107
Γ= 500
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
108
Γ= 100
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
109
Γ= 2
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris
110
Γ= 2
Ecole Polytechnique de Tunisie MAS-Ecole Centrale de Paris