Académique Documents
Professionnel Documents
Culture Documents
Rami Younes
M2 SITN
Université Lyon 1
1 Objectif
Nous examinons une méthode d’assurance de portefeuille financier dite Constant Proportion
Portfolio Insurance (CPPI). Celle-ci est une startégie dynamique d’allocation d’actifs financiers
et c’est l’une des méthodes simples mais fondamentales d’assurance du portefeuille.
2 Description de la méthode
Considérons un marché financier composé (pour simplifier) de deux actifs, l’un considéré sans
risque noté par B et l’autre supposé risqué noté par S. B par exemple, est un placement à un
taux fixe sans risque r et S, par exemple, est le cours d’une action ou d’un indice boursier.
Nous construisons un portefeuille de placements composé de B et de S. Nous supposons que
[0, 1] représente l’horizon (temporel) des placements et que r est le taux de rendemment de l’actif
B sur cette période. Le but de la méthode CPPI est de garantir que nous allons récupérerer à
temps t = 1 un pourcentage V0 des placements initiales V0 , prédefinie à temps t = 0.
Notons la valeur du portofeuille à temps t par Vt . La méthode du coussin détermine les place-
ments du portefeuille à chaque instant de la manière suivante. À chaque instant on calcul Pt , le
placement sur l’actif sans risque qui vaudra V0 à temps t = 1, et Ct la différence entre Vt et Pt .
Pt est dite la valeur plancher et le montant Ct = Vt − Pt est dite le coussin. Le placement sur
l’actif risqué à l’instant t vaux et = mCt , où m est une constante dite le multiple, et celui sur
l’áctif non risqué est Vt − et .
La stratégie CPPI donc consiste à veiller que la valeur du portefeuille reste constamment au-
dessus du plancher, mais aussi de garder le placement sur l’actif risqué proportionnel au coussin,
ce qui conserve une proportion constante m d’exposition au risque. Le multiple est le paramètre
clef de cette stratégie. C’est lui qui détermine la rentbilité et le risque du portefeuille considéré.
Nous allons présenter deux modèles d’évolution du prix de l’actif risqué, l’un discret et l’autre
continue avec des sauts, et nous allons en déduire les modèles correspondants pour l’évolution
du coussin. Dans le cadre de chaqu’un des modèles, nous allons trouver une borne’supèrieure
sur la valeur du multiple pour que la stratgie CPPI atteigne son objectif.
1
3 Le modèle en temps discret
En temps discret, nous considérons pour chaque entier n non nul, la partition de l’intervalle de
de temps [0, 1[ en une suite d’intervalles [tn,k , tn,k+1 [ avec: ∀k ∈ {0, ..., n}, tn,k = nk .
Les dates tn,k représentent les instants de variations des prix des actifs. Le taux d’accroissement
aux instants tn,k de l’actif sans risqué est r/n. Notons Yn,k le taux d’accroissement aux instants
tn,k de l’actif risqué:
r
Bn,k = (1 + )Bn,k−1 et Sn,k = (1 + Yn,k )Sn,k−1 .
n
Nous supposons que les valeurs initiales des actifs B et S ne dépendent pas de n. Nous les
notons respectivement B0 et S0 .
Nous nous mettons dans le cadre du modèle binomial (de Cox-Ross-Rubinstein) pour décrire
l’évolution de l’actif risqué. Dans ce modèle, á chaque date tn,k , Yn,k ne peut prendre quex deux
valeurs. Plus précisément,
µ
Yn,k = + νZn,k
n
où (Zn,k )1≤k≤n est une suite de variables alèatoires réelles indépendantes et de même loi telle que
h 1 i h 1 i 1
Pn Zn,k = √ = Pn Zn,k = √ = ,
n n 2
µ et ν sont des constante non négatives. Nous nous attendons à que µ soit supérieure à r, c’est
justement pour cette raison nous voudrons investir dans l’actif risqué. ν est appellé la volatilité.
Nous avons donc,
µ
E[Zn,k ] = 0 and E[Yn,k ] =
n
2 1 h 1 i 1 h 1 i 1
Var(Zn,k ) = E[Zn,k ] − E[Zn,k ] = P Zn,k = − √ + P Zn,k = √ =
n n n n n
µ ν2
Var(Yn,k ) = Var( + νZn,k ) = ν 2 Var(Zn,k ) = .
n n
Nous avons aussi,
2
Y
Sn,k = (1 + Yn,k )Sn,k−1 = ... = S0 (1 + Yn,l )
1≤l≤k
Y µ n
E[Sn,n ] = S0 (1 + E[Yn,l ]) = S0 1 + −→ S0 eµ .
1≤l≤n
n n→∞
Y
Sn,n = S0 (1 + Yn,l )
1≤l≤n
Notons Vn,k la valeur du portefeuille à l’instant tn,k . Désignons par V0 la valeur du portefeuille
initiale c’est à dire le montant total investi sur le marché financier à t = 0.
Pn,k désigne la valeur du plancher à chaque instant tn,k . Celui-ci est en général considéré comme
un placement de référence sur l’actif sans risque B et donc rémunéré au taux r. P0 est la valeur
initiale du plancher qui est choisie de manière à récupérer un pourcentage fixé du capital investi
V0 , à l’échéance T = 1 et cela quelle que soit l’évolution de l’actif risqué. Nous obtenons:
r r n
Pn,k = (1 + )Pn,k−1 = ... = P0 1 + .
n n
Cn,k représente la valeur du coussin qui est égale á la différence Vn,k − Pn,k . Nous avons donc
C0 = V0 − P0 .
Notons également en,k le montant total investi sur l’actif risqué S. en,k est encore appelé
l’exposition (au risque).
En temps tnk−1 le montant investi dans l’actif risqué est de en,k−1 et celui dans l’actif sans risque
est de Vn,k−1 − en,k−1 . En temps tn,k le rendemment sur l’investisement
r risqué est donc Yn,k en,k−1
et celui sur l’investissement sans risque est Vn,k−1 − en,k−1 n . Cela implique que la valuer du
portefeuille en temps tn,k est donné par
r
Vn,k = Vn,k−1 + Yn,k en,k−1 + Vn,k−1 − en,k−1
n
3
3.1.2 Équation d’évolution du coussin
Y r
Cn,n = C0 1 + mYn,l + (1 − m)
1≤l≤n
n
4
3.1.3 L’Espérance du rendement du portefeuille
Remarquons que les taux de rendement Yn,k sont indépendants. Le calcul de l’espérance du
rendement du portefeuille est direct.
hV i 1
n,n
E = E[Pn,n + Cn,n ]
V0 V0
1 h r n Y r i
= E P0 1 + + C0 1 + mYn,l + (1 − m)
V0 n 1≤l≤n
n
P0 r n Y h ri
= 1+ + C0 E 1 + mYn,l + (1 − m)
V0 n 1≤l≤n
n
P0 r n C0 r µ r n
= 1+ + 1+ + − m
V0 n V0 n n n
h i
Vn,n
Or µ > r, ce qui implique que E V0 est une fonction croissante de m.
La garantie est qu’à chaque instant Vn,k soit supérieure à la valeur du plancher Pn,k . Il faut donc
qu’à chaque instant Cn,k soit positif. Cela donne un condition de garantie déterminé par m.
r
∀k ∈ {1, ..., n}, 1 + mYn,k + (1 − m) ≥0
n
1 r
⇐⇒ ∀k ∈ {1, ..., n}, Yn,k ≥ − [1 + (1 − m) ]
m n
1 r
⇐⇒ inf(Yn,k ) ≥ − [1 + (1 − m) ]
m n
1 + r/n
⇐⇒ m ≤ .
r/n − inf Yn,k
h i
En conclusion, E VVn,n
0
est croissante mais reste bornée quand même. On ne peut pas s’exposer
trop au risque car ceci compromet notre stratgie d’assurance.
La loi à la limite de Sn,n peut être trouver par le théorème de Lindeberg-Feller. Nous allons
montrer que les hypothèses du théorème sont vérifiées. Nous avons
Y
Sn,n = S0 (1 + Yn,l ).
1≤l≤n
Donc,
5
X
log Sn,n = log S0 + log(1 + Yn,l ).
1≤l≤n
µ ν h 1 i µ ν h 1 i
2
E[Xn,k ] = log2 (1 + − √ )P Zn,k = − √ + log2 (1 + + √ )P Zn,k = √
n n n n n n
1 µ ν µ ν
= log2 (1 + − √ ) + log2 (1 + + √ )
2 n n n n
1µ ν 2 1 µ ν 2
∼ −√ + +√
n→∞ 2 n n 2 n n
2 2
µ ν
∼ +
n→∞ n2 n
De la même manière, or l’opérand ne dépend pas de k nous obtenons que
X h i X
E (Xn,k − E[Xn,k ])2 = Var(Xn,k )
1≤k≤n 1≤k≤n
X
2
= E[Xn,k ] − E[Xn,k ]2
1≤k≤n
µ2 ν2 µ µ2 ν 2 2
∼ n + −n − 2−
n→∞ n2 n n 2n 2n
2
∼ ν .
n→∞
µ ν
Remarquons que Xn,k = log 1 + ± √ → 0 quand n → ∞. Donc, pour chaque > 0, il
n n
existe n0 = n0 () tel que |Xn,k | < pour tout n > n0 . Cela implique que pour n suffisamment
grand, I|Xn,k |≥ ≡ 0, ainsi que
X X
2 2
E[Xn,k I|Xn,k |≥ ] = E[Xn,k I|Xn,k |≥ ]
1≤k≤n 1≤k≤n0
X
2
≤ E[Xn,k ]
1≤k≤n0
2
≤ n0 E[Xn,k ].
6
2 2
P
Le fait que limn→∞ E[Xn,k ] = 0 montre alors que Plimn→∞ 1≤k≤n E[Xn,k I|Xn,k |≥ ] = 0. Par le
théorème de Lindeberg-Feller, on obtient alors que 1≤k≤n Xn,k converge en loi vers une variable
aléatoire de loi gaussienne W ∼ N (µ − ν 2 /2, ν). En conclusion,
L
→ log S0 + (µ − ν 2 /2) + νW,
log Sn,n −
où W est de loi gaussienne centrée réduite. Ceci implique le résultat que
L
→ S0 exp (µ − ν 2 /2) + νW .
Sn,n −
7
aléatoires Tn . Notons Xn les sauts relatifs de S à ces instants Tn . On a donc:
STn − STn−
Xn =
STn−
où STn− designe la limite à gauche lim St . Entre deux instants de sauts, le prix suit une
t<Tn ,t→Tn
trajectoire qui est une fonction continue du temps t, du type de celle du modèle sans sauts. On
admet que la valuer du coussin a la date t est donnes par:
2 2
√ Y
Ct = C0 exp rt + m(µ − r)t − 1/2m ν t + mν tW × (1 + mXn ).
0≤Tn ≤t
Un modèle avec suats de type Poisson est proposé. Les variables Xn sont i.i.d de loi K(dx)
vérifiant K(0) = 0, d’espérance commune b et moment d’ordre 2 c. La variable aléatoire Nt qui
compte le nombre de suats entre 0 et t suit une loi de Poisson de paramètre λt.
Pour un réel x, soit l’évenement Ex = {C1 ≤ x}. Par la formule de probabilité totale, la loi de
C1 est donnée par
+∞
X
P[C1 ≤ x] = P[Ex |N1 = n]P[N1 = n]
n=0
+∞
X λn
= e−λ P[Ex |N1 = n].
n=0
n!
Rappelons que si X est une variable aléatoire de densité fX , alors pour tout évévenement A
Z
P(A) = P[A|X]dfX .
où
h i
Gn (x, y1 , ..., yn ) = P C1 ≤ x|N1 = n, (X1 , ..., Xn ) = (y1 , ..., yn )
h Y i
= P C0 exp r + m(µ − r) − 1/2m2 ν 2 + mνW × (1 + myi ) ≤ x
0≤i≤n
h x i
= P C0 exp r + m(µ − r) − 1/2m2 ν 2 + mνW ≤ Q
0≤i≤n (1 + myi )
x
=G Q
0≤i≤n (1 + myi )
où G est la loi du coussin sans sauts en temps t = 1. Nous venons de montrer que
+∞ n Z
−λ λ x
X
P[C1 ≤ x] = e G Q ⊗i K(dyi ).
n=0
n! Rn 0≤i≤n (1 + myi )
8
La densité du coussin avec sauts est données par
d
gs (x) = P[C1 ≤ x]
dx
+∞ n Z
−λ λ ∂ x
X
= e G Q ⊗i K(dyi )
n=0
n! Rn ∂x
0≤i≤n (1 + my i )
+∞ n Z
−λ λ 1 x
X
= e Q g Q ⊗i K(dyi )
n=0
n! Rn
0≤i≤n (1 + my i ) × 0≤i≤n (1 + myi )
Nous simulons sous R des valeurs du coussin avec sauts. Le code de la simulation se trouve en
annexe 7.3. Les valeurs choisis des paramètres sont
µ = 0.1, r = 0.05, ν = 0.2, S0 = 1, V0 = 100, P0 = 90, λ = 2, m = 5.
9
P[∀ t ≤ 1, Ct ≥ 0] ≥ 1 − ,
où est relativement faible. Cependant,
+∞
X
P[∀ t ≤ 1, Ct ≥ 0] = P[∀ t ≤ 1, Ct ≥ 0|Nt = n]P[Nt = n]
n=0
+∞
X λn Y
= e−λ P[∀ i ∈ {0, ..., n}, (1 + mXi ) ≥ 0]
n=0
n! 0≤T ≤t
i
+∞
X λn
= e−λ P[∀ i ∈ {0, ..., n}, (1 + mXi ) ≥ 0]
n=0
n!
+∞
X λn Y
= e−λ P[1 + mXi ≥ 0]
n=0
n! 0≤T ≤t
i
+∞ n
X λ 1
= e−λ (1 − F (− ))n
n=0
n! m
+∞
−λ
X 1 n
=e λ(1 − F (−1/m) = e−λF (−1/m) ,
n=0
n!
P[∀ t ≤ 1, Ct ≥ 0] ≥ 1 −
⇐⇒ e−λF (−1/m) ≥ 1 −
1 1
⇐⇒ F (−1/m) ≤ ln
λ 1−
−1
⇐⇒ m ≤
F −1 λ1 ln( 1−
1
)
Le code R de l’illustration ci-dessous de cette condition, pour = 0.05 et pour une loi K(dx) de
type gaussienne centrée en −0.125 mais tronquée sur [−0.2, 0.05], est donnée en annexe 7.4.
10
7 Annexe
#A trajectory of Z_{n,k}
tn=sapply(0:n, function(k) tn_k(n,k))
Zn=sapply(0:n, function(k) Zn_k(n,k))
#The rate of return of the risky asset over a period of length 1/n
#function of mean return and volatility
Yn_k=function(n,k,mu,nu){
if(k==0)return(0.0)
else return(mu/n+nu*Zn_k(n,k))
}
#A trajectory of Y_{n,k}
tn=sapply(0:n, function(k) tn_k(n,k))
Zn=sapply(0:n, function(k) Zn_k(n,k))
Yn=sapply(0:n, function(k) Yn_k(n,k,mu,nu))
11
ylab =expression(Y[paste(n,sep=",",k)]))
abline(h=mu/n,col="red")
legend("topleft",legend=expression(mu[n]~"="~mu/n),col="red",lty=1)
#The dynamics of the risky asset function of initial capital, the per
#period rates of return Y_{n,k}
S0=1
Sn_k=function(n,k,S0){
Yk=sapply(0:k, function(k) Yn_k(n,k,mu,nu))
return(S0*prod(1+Yk))
}
abline(h=S0*exp(mu),col="red")
legend("topleft",legend=expression("E[S]"~"="~S[0]*exp(mu)),
col="red",lty=1,cex=0.75)
#The dynamics of the cushion function of initial cushion, the per period
#rates of return Y_{n,k}, the per period interest rates and the multiplier m
C0=10
m=5
Cn_k=function(n,k,C0){
if(k==0) return(C0)
else{
Yk=sapply(0:k, function(k) Yn_k(n,k,mu,nu))
return(C0*prod(1+(1-m)*r/n+m*Yk))
}
}
###Question 5
mu=0.1;r=0.05;nu=0.2;S0=1;V0=100;P0=90;m=5;
C0=V0-P0;
n=10000;
tn=sapply(0:n, function(k) tn_k(n,k))
Cn=sapply(0:n, function(k) Cn_k(n,k,C0))
12
hist(Cn,freq = FALSE,main =expression(atop("Distribution of"~
C[paste(n,sep=",",n)],"n=10000")),ylim=c(0,0.1))
lines(density(Cn))
w=rnorm(n+1)
w1=m*nu*w+(r+m*(mu-r)-m^2*nu^2/2)
C1=C0*exp(w1)
lines(density(C1),col="red")
legend("topright",legend=c(expression(C[paste(n,sep=",",n)]),
expression(C[1])),col=c("black","red"),lty=1)
###Question 7
n=1000;
mu=0.1;r=0.05;nu=0.2;S0=1;V0=100;P0=90;m=5;lambda=2;
#The values of the relative jumps X_n are iid and chosen follow a
#uniform law of mean b, variance c-b^2 #and mass density at 0 equal to 0.
X_n=runif(N_t,min = -0.2,max=-0.05)
13
###Question 10
library(msm)
eps=0.05
c_eps=log(1/(1-eps))
bound=function(x){
-1/qtnorm(c_eps/x,-0.125,1,-0.2,-0.05)
}
L_vals=seq(1,5,by=0.1)
curve(bound,1,10,xlab=expression(lambda),,ylab="m",
main="The multiple as a function of jump arrival intensity")
14