Rapport

15
AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013 1 Derivative markets: Forwards, Futures and Swaps Assignment 3 Exercise 1: Question 1: Determine the risk parameters of the portfolio (modified duration and convexity. Au 23 Janvier, on a le portefeuille obligataire suivant: L’objectif de cette question est donc de déterminer la modified duration et la convexité du portefeuille en déterminant celles de chacune des 4 obligations qui constituent le portefeuille. On va procéder comme dans la question 5 de l’assignment 2. Tout d’abord il faut calculer le Yield-To-Maturity YTM de chacune des obligations, que l’on retrouve en utilisant le solveur, et la formule généralisée ci-dessous :

Transcript of Rapport

Page 1: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

1

Derivative markets: Forwards, Futures and Swaps

Assignment 3

Exercise 1:

Question 1: Determine the risk parameters of the portfolio (modified duration and convexity.

Au 23 Janvier, on a le portefeuille obligataire suivant:

L’objectif de cette question est donc de déterminer la modified duration et la convexité du portefeuille en déterminant celles de chacune des 4

obligations qui constituent le portefeuille. On va procéder comme dans la question 5 de l’assignment 2.

Tout d’abord il faut calculer le Yield-To-Maturity YTM de chacune des obligations, que l’on retrouve en utilisant le solveur, et la formule

généralisée ci-dessous :

Page 2: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

2

CP + AI= (R + R* (1- (1+ YTM)^(-n))/YTM +100* (1+ YTM)^ (-n))*(1+YTM) ^ (-d/365)

Avec :

CP : Clean Price

AI : Accrued Interests.

R : Coupon Rate

n : Coupon restants

d : Jours entre aujourd’hui et le prochain coupon

Les valeurs obtenues sont résumées dans le tableau ci-dessous :

ISIN YTM

FR0000188989 0,002976834

FR0010011130 0,003504633

FR0010216481 0,004245756

FR0000187361 0,006431409

FR0010415331 0,007345024

FR0010776161 0,013579589

FR0010854182 0,014595916

FR0010192997 0,017933058

FR0010466938 0,022812816

Ensuite pour chaque obligation, on crée une table de flux, et on calcule:

La modified duration MDi=

Page 3: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

3

Et la convexité Convi =

).

En plus des MDi, il faut aussi calculer les αi pour chaque obligation qui est le poids de cette obligation dans la valeur de marché du portefeuille :

αi=

=

Cf. Excel feuille1, pour les tables de flux

ISIN Mdi convi αi

FR0000188989 -0,245843507 0,305553179 0,157826249

FR0000187361 -3,472252201 16,02775636 0,399415678

FR0010192997 -7,024319795 61,14948203 0,071864042

FR0010466938 -8,750237591 94,29144387 0,370894031

On trouve ensuite, la modified duration du portefeuille MDpofolio=∑ = -5.175

Et la convexité du portefeuille Convp = =∑ = 45.816

Question 2: Using Appendix 1, derive the continuously compounded zero-coupon yield curve and represent graphically.

Dans cette question, on va utiliser la méthode de Nielson and Siegel (1987) pour déterminer la courbe zéro-coupon. Le modèle proposé est donné

par la formule suivante :

Page 4: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

4

L’objectif final de cette question est donc de déterminer les coefficients β0, β1, β2 et τ, que l’on utilisera donc pour les questions suivantes.

Explication de la méthode :

Tout d’abord on va donner aux paramètres β0, β1, β2 et τ des valeurs fixes afin de pouvoir utiliser les formules en annexe (l’objectif étant de

déterminer les bonnes valeurs). Bien entendu ces valeurs ne sont pas les bonnes valeurs des paramètres, mais doivent être à peu près du même

ordre (par exemple 3% pour β0, -3% pour β1 et β2, et 1 pour τ).

Pour chacune des neufs obligations, on va tout d’abord calculer les R(0,t) grâce à la formule précédente et les valeurs des paramètres choisis.

Comme il s’agit de zéro coupons on a R(0,t)=YTM.

Ensuite, toujours pour les neufs obligations, on va calculer le prix théorique ̂= ( )

Après avoir obtenu les prix théoriques, on calcule wi ( ̂ –pi) avec wi=

avec Di la duration (Di = -MDi × (1+YTM)) et pi le prix actuel

(clean price + acccrued interests).Puis finalement la somme quadratique des wi ( ̂ –pi).

Ensuite, on va utiliser le solveur de manière à minimiser ̂ – 2, c’est-à-dire à minimiser les erreurs de mesures entre prix théorique et

prix actuel.

Pour cela certaine conditions doivent être vérifiées :

On crée une nouvelle table avec les valeurs de t évoluant avec un pas de 0.2, et on calcule les R(0,t) pour chacune de ces maturités.

a) Pour vérifier R(tmin)>0, on ajoute la valeur t = 0,00001 dans la table, et on calcule son R(0,t), puis rajoute comme condition dans le

solveur R(0;0.00001)>0.

b) Pour vérifier R(tmax)>0, on ajoute la valeur t = 10000 dans la table, et on calcule son R(0,t), puis rajoute comme condition dans le solveur

R(0;10000)>0.

c) Pour vérifier exp(-R(tk)tk)-exp(-R(tk+1)tk+1)>0 quel que soit tk<tmax, on calcule cette mesure pour les différents t de la table, et ajoute

dans le solveur comme condition exp(-R(tk)tk)-exp(-R(tk+1)tk+1)>0 pour tous les t

d) Ensuite on a le taux EONIA, qui est le taux des Swaps jour pour jour, R(0,

) = 0.074%

e) Les taux Euribor 3mois et un an, R(0 ; 0.25)=0.120% et R(0 ;1)=0.586%.

f) Quand t => 0 R(0,t) => β0 + β1 et quand t=>infini R(0,t) => β0

Page 5: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

5

g) Enfin, on fixe les limites des différents paramètres dans le solveur

Après utilisation du solveur avec comme cellule cible ̂ – 2 que l’on doit minimiser, et les cellules variables celles correspondant au 4

paramètres, on obtient les valeurs suivantes :

β0 1,32025513%

β1 -1,24535207%

β2 -1,45056195%

τ 0,303604652

Ensuite, on crée une nouvelle feuille, dans laquelle on recopie les valeurs des coefficients trouvés précédemment. Désormais, ces valeurs sont

connues, et grâce à la formule proposée par Nielson & Siegel, on trace la courbe zéro coupon dérivée, avec des maturités allant de 0.5 à 11 ans

avec un pas de 0.5.

D’autre part, on reporte dans un tableau les valeurs de R(0,t), ainsi que les facteurs d’actualisation (1+R(0,t))^(-t), que l’on utilisera pour la

question 3.

t R(0,t) facteur d'actualisation (1 +R(0,t))^(-t)

0,5 0,002780878 0,998611492

1 0,005859771 0,994174366

1,5 0,007888669 0,988282616

2 0,009135709 0,98197595

2,5 0,009933301 0,975592085

3 0,010475126 0,969221677

3,5 0,010864168 0,962886706

4 0,011156353 0,956591993

4,5 0,011383686 0,950338343

Page 6: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

6

5 0,011565568 0,944125674

5,5 0,011714384 0,937953729

6 0,011838398 0,93182222

6,5 0,011943333 0,925730863

7 0,012033277 0,919679381

7,5 0,012111229 0,913667501

8 0,012179436 0,907694955

8,5 0,012239619 0,90176148

9 0,012293116 0,895866816

9,5 0,012340981 0,890010704

10 0,012384059 0,884192889

10,5 0,012423035 0,878413118

11 0,012458468 0,872671141

La courbe finale obtenue est la suivante :

0

0,002

0,004

0,006

0,008

0,01

0,012

0,014

0 2 4 6 8 10 12

R(0,t)

R(0,t)

Page 7: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

7

Question 3: Using the continuously compounded zero-coupon yield curve, determine the fixed rate of each swap (so that its value is zero), its

modified duration and convexity.

On cherche tout d’abord le taux Swap qui permet de ramener le prix du Swap à zéro, grâce à la courbe des zéro-coupon. Ces taux représentent les jambes

fixes qui seront livrées à l’échéance des contrats.

Pour ce faire, on va utiliser un solveur permettant de déterminer ce taux sous la contrainte d’un prix de Swap égal à zéro. On procède ainsi pour les deux

Swaps.

On reporte ainsi le taux zéro-coupon R(0,t) que l’on prend du tableau précédent, la jambe fixe dont le taux est égal au taux fixe que l’on cherche, le facteur

d’actualisation (1 +R(0,t))^(-t), la jambe variable dont la valeur est supposée de 100%, et les différents fixed cash flows actualisés (distribution de valeur)

dont la somme doit être égale à 100%, afin d’obtenir des swaps de valeur nulle. Les tables obtenues sont reportées ci-dessous.

SWAP 5 ans 0 Nominal 1000000 Fixed rate

% 1,153%

t

Taux zéro-coupon %

Fixed CF Facteur

actualisation Valeur actuelle

Distribution de la valeur

0,5 0,002780878 0,999 100%

1 0,005859771 1,15297754% 0,994 1,14626072%

2 0,009135709 1,15297754% 0,982 1,13219622%

3 0,010475126 1,15297754% 0,969 1,11749083%

4 0,011156353 1,15297754% 0,957 1,10292909%

5 0,011565568 101,15297754% 0,944 95,50112315%

Sum 100,00000%

Page 8: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

8

Swap en % nominal 0,00000%

Pour le Swaps 5 ans, on retrouve ainsi un taux fixe de 1,153%

Pour le Swaps 7 ans, on retrouve ainsi un taux fixe de 1,199%.

L’étape suivante est de calculer les Modified duration et les convexités des deux Swaps. On procède comme dans la question 1, avec Ft les fixed CF (trouvés

juste avant).

SWAP 7 ans

Nominal 1000000 Fixed rate

% 1,199%

t

Taux zéro-coupon %

Fixed CF % Facteur

actualisation Valeur actuelle

(en %) Distribution de

la valeur

0,5 0,002780878 0,9986 100%

1 0,005859771 1,199246% 0,9942 1,19225998%

2 0,009135709 1,199246% 0,982 1,17763108%

3 0,010475126 1,199246% 0,9692 1,16233556%

4 0,011156353 1,199246% 0,9566 1,14718946%

5 0,011565568 1,199246% 0,9441 1,13223927%

6 0,011838398 1,199246% 0,9318 1,11748440%

7 0,012033277 101,199246% 0,9197 93,07086024%

Sum 100,00000000%

Swap en % nominal 0,0000%

Page 9: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

9

Swap 5ans

M.Duration Convexity

t t.Ft.(1+r)^(-t-1) Ft.(1+r)^-t t(t+1).Ft(1+r)^(-t-2) Ft(1+r)^-t

1 0,011268432 0,011398355 0,022279982 0,011398355

2 0,022279982 0,011268432 0,06607808 0,011268432

3 0,03303904 0,011139991 0,130649797 0,011139991

4 0,043549932 0,011013013 0,215267673 0,011013013

5 4,721463627 0,955180208 28,00588025 0,955180208

sum 4,831601013 1 28,44015578 1

Mdi 4,831601013 Convi 28,44015578

Swap 7ans

M.Duration Convexity

t t.Ft.(1+r)^(-t-1) Ft.(1+r)^-t t(t+1).Ft(1+r)^(-t-2) Ft(1+r)^-t

1 0,011709918 0,011850349 0,023142303 0,0118503

2 0,023142303 0,011709918 0,068604175 0,0117099

3 0,034302087 0,011571151 0,135582383 0,0115712

4 0,045194128 0,011434029 0,223292807 0,011434

5 0,055823202 0,011298532 0,330970064 0,0112985

6 0,066194013 0,01116464 0,457867135 0,0111646

7 6,439573317 0,930971381 50,90609702 0,9309714

Sum 6,675938967 1 52,14555589 1

Mdi 6,675938967 Convi 52,145556

Question 4 : Duration hedging is performed using the 7-year swap. What is the quantity of this swap to be bought or sold so as to hedge the

bond portfolio?

Page 10: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

10

Dans les questions qui suivent, on va établir deux types de couverture d’un portefeuille obligataire avec des Swaps

On va d’abord étudier le cas d’une couverture avec un seul Swap.

On calcule tout d’abord pour le portefeuille, la modified duration MDp et la $Durationp (per bps)

Pour cela on utilise les données reportées dans le tableau de la fin de question 2 (valeurs de R(0,t) et facteurs d’actualisation), et on utilise les

données pour les maturités correspondant à celles des obligations de mon portefeuille.

Le prix de ces obligations, étant des obligations zéro-coupon, correspond à la valeur actuelle de la valeur de remboursement de ces obligations. A noter que

pour les maturités inférieure à un an, on utilise la formule : ( 1 + R(0,t) x t )^-1. Ainsi, P0 = 100 x facteur d’actualisation de maturité correspondante. On en

déduit la MVi de chaque obligation qui est égale au produit P0×Par value, et les αi.

Etant donné que les obligations sont des obligations zéro-coupon, les YTM de ces obligations est égal au taux zéro-coupon R(0,t) de la maturité

correspondante. Les MDi et les convi de chaque obligation sont calculés avec les mêmes formules que précédemment, sauf que cette fois-ci on aura qu’un

seul flux Ft de 100 qui sera versé à la maturité.

Ci-dessous les valeurs obtenues. Pour plus de détails se reporter au fichier excel.

ISIN Mdi convi

FR0000188989 0,2462842 0,306649321

FR0000187361 3,7098015 17,43199109

FR0010192997 8,1525071 74,51753202

FR0010466938 10,621281 123,3023711

On obtient alors la modified duration du portefeuille MDp=∑ = 5.67 et

La $Durationp (per bps)= MDp×MVp× (0.01%)= 37033,90

Page 11: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

11

De plus, la $DurationSwap7ans (per bps)=

=

= 667,5938967

Le hedge ratio est donné par la formule :

Hedge ratio = -

= -

= -55,47.

Il faut donc vendre 56 Swaps de maturité 7 ans pour couvrir efficacement le portefeuille obligataire.

Question 5 : Duration/Convexity hedging is performed using both swaps. What are the quantities of each swap to be bought or sold so as to

hedge the bond portfolio?

Dans cette question il s’agit de réaliser une couverture efficace en utilisant 2 swaps.

On a d’après le cours la formule suivante :

Il faut aussi donc calculer les convexités dans ce cas.

La convexité du portefeuille est donnée par : Convp=∑ = 53,59528924

La $Convp (per bps)= Convp×MVp× (0.01%)= 349975,9465

Et la $Durationp (per bps) a déjà été calculée précédemment= 37033,90

On a également déjà calculé précedemment, les modified duration et convexités des swaps qu’il suffit de multiplier par 1000000×(0.01%) pour obtenir les

valeurs en dollars per bps.

P2S21S1

P2S21S1

Conv$Conv$hConv$h

Dur$Dur$hDur$h

Page 12: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

12

Ce problème peut être schématisé de la façon suivante :

CDswaps × H = - CDp

Avec : CDswaps la matrice (

)

H le vecteur (

)

Et CDp le vecteur (

)

Alors H=- (CDswaps)-1CDp

On obtient H= (

)

Pour se couvrir efficacement, dans le cas de l’utilisation des deux Swaps, il faut acheter 65 swaps de maturité 5 ans et vendre 102 Swaps de maturité 7 ans.

Question 6: To measure the performance of each hedging method, assume 10 different movements of the yield curve. These ten scenarios are

obtained by assuming the following changes in the beta parameters in the NS-model:

a/ small parallel shifts with b0 = +0.1% and -0.1%

b/ large parallel shifts with b0= +1.0% and -1.0%

c/ decrease and increase in the long-to-short spread with b1= +1.0% and -1.0%

d/ curvature moves with b2 = +0.6% and -0.6%

e/ flattening and steepening move of the yield curve with (b0=-0.4%; b1=+1.2%) and (b0=+0.4%; b1=-1.2%).

In each scenario, calculate the variation in value of the bond portfolio and the hedging error in the two different methods. Conclude.

Dans cette question il s’agit d’étudier l’impact de variations des paramètres β0, β1 et β2, sur la valeur de marché du portefeuille, ainsi que sur les

hedging ratios trouvés précédemment, pour les deux précédentes méthodes, afin de déterminer laquelle est la plus efficace.

Page 13: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

13

Afin d’automatiser le processus de variation des paramètres β0, β1 et β2, on a utilisé des boutons que l’on affecte aux cellules correspondant aux

valeurs de ces paramètres. Il faut également affecter chacun de ces 3 boutons à une macro qui permettra en fait de ramener les valeurs des swaps

5 ans et 7 ans à 0 en fixant leur fixed rate, grâce à l’utilisation de deux solveurs (1 pour fixer le fixed rate du Swap 5 ans, et un autre pour fixer le

fixed rate du Swap 7ans, comme dans la question 3). La macro réalisée se présente comme ci-dessous :

Sub solvvf()

Range("J23").Select

SolverOk SetCell:="$J$23", MaxMinVal:=3, ValueOf:=1, ByChange:="$F$13", Engine _

:=1, EngineDesc:="GRG Nonlinear"

SolverOptions MaxTime:=0, Iterations:=0, Precision:=0.00000001, Convergence:= _

0.000000001, StepThru:=False, Scaling:=False, AssumeNonNeg:=True, Derivatives:= _

2

SolverOptions PopulationSize:=100, RandomSeed:=0, MutationRate:=0.075, Multistart _

:=False, RequireBounds:=False, MaxSubproblems:=0, MaxIntegerSols:=0, _

IntTolerance:=0.1, SolveWithout:=False, MaxTimeNoImp:=30

SolverOk SetCell:="$J$23", MaxMinVal:=3, ValueOf:=1, ByChange:="$F$13", Engine _

:=1, EngineDesc:="GRG Nonlinear"

SolverOk SetCell:="$J$23", MaxMinVal:=3, ValueOf:=1, ByChange:="$F$13", Engine _

:=1, EngineDesc:="GRG Nonlinear"

SolverSolve

Range("Q25").Select

SolverOk SetCell:="$Q$25", MaxMinVal:=3, ValueOf:=1, ByChange:="$M$13", Engine _

:=1, EngineDesc:="GRG Nonlinear"

SolverOptions MaxTime:=0, Iterations:=0, Precision:=0.00000001, Convergence:= _

0.000000001, StepThru:=False, Scaling:=False, AssumeNonNeg:=True, Derivatives:= _

2

SolverOptions PopulationSize:=100, RandomSeed:=0, MutationRate:=0.075, Multistart _

:=False, RequireBounds:=False, MaxSubproblems:=0, MaxIntegerSols:=0, _

IntTolerance:=0.1, SolveWithout:=False, MaxTimeNoImp:=30

SolverOk SetCell:="$Q$25", MaxMinVal:=3, ValueOf:=1, ByChange:="$M$13", Engine _

:=1, EngineDesc:="GRG Nonlinear"

SolverOk SetCell:="$Q$25", MaxMinVal:=3, ValueOf:=1, ByChange:="$M$13", Engine _

Page 14: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

14

:=1, EngineDesc:="GRG Nonlinear"

SolverSolve

End Sub

Les boutons avec la macro ont été utilisés dans les dix situations. On a bien vérifié que la valeur des Swaps était à chaque fois ramenée à zéro.

Les résultats obtenus sont reportés dans le tableau ci-dessous :

Scénarios Value of the bond

portfolio Variation value

portfolio Duration Hedging Duration/Convexity Hedging

Swap 7years Hedging error Swap 5years Hedging error Swap 7years Hedging error

Initial situation Initial values of β0, β1 & β2 65 299 758,89 € -55,46401463 65,23650126 -102,678206

Small parallel shifts β0

β0= +0,1% 64 931 159,20 € -368 599,69 € -55,16653974 0,297474888 64,91829543 -0,318205832 -102,1950598 0,483146204

β0= -0,1% 65 671 856,08 € 372 097,18 € -55,78318609 -0,319171465 65,64198326 0,405481996 -103,2449254 -0,56671939

Large parallel shifts β0

β0= +1,0% 61 764 751,80 € -3 535 007,10 € -52,50368541 2,960329215 61,75715753 -3,479343731 -97,62327829 5,054927695

β0= -1,0% 69 184 941,94 € 3 885 183,05 € -58,67669218 -3,212677554 68,99729136 3,760790101 -108,1289701 -5,45076415

Decrease & Increase long-to-short spread β1

β1= +1,0% 65 120 525,52 € -179 233,38 € -55,3785033 0,085511324 65,38441787 0,147916609 -102,6959374 -0,0177314

β1=-1,0% 65 479 625,68 € 179 866,78 € -55,56933515 -0,105320524 65,17427761 -0,062223646 -102,7416192 -0,06341324

Curvature moves β2

Page 15: Rapport

AMMOUR Badr/SECK Babacar FIN2/EFA 2012/2013

15

β2= +0,6% 65 200 338,64 € -99 420,26 € -55,41795844 0,046056189 65,33576237 0,099261109 -102,7015635 -0,02335756

β2= -0,6% 65 399 384,70 € 99 625,81 € -55,52957922 -0,065564595 65,22272274 -0,013778514 -102,7355353 -0,05732927

Flatening & steepening moves

{β0=-0,4%; β1=+1,2%} 66 588 331,50 € 1 288 572,61 € -56,60796931 -1,143954681 66,86531697 1,628815706 -104,8099263 -2,13172035

{β0=+0,4%; β1=-1,2%} 64 055 884,79 € -1 243 874,10 € -54,37010478 1,093909846 63,71833514 -1,518166114 -100,6650725 2,01313346

On remarque que les variations qui affectent le plus les valeurs du portefeuille et les hedging ratios sont celles liés aux larges variations (+/- 1%)

de β0, alors que pour les petites variations de β0 (+/-0.1%) et celles de β1 et β2, les variations sont légères, voire inexistantes au niveau des hedgings ratios.

Ensuite, dans un degré moindre les variations combinées « Flatening & steepening moves », affectent moins que pour les β0= +/-1,0% (environ la moitié) les valeurs de marché du portefeuille, ainsi que les hedging ratios. Ensuite, concernant les différentes méthodes utilisées, l’impact sur le Duration hedging est inférieur à celui de la Duration/Convexity Hedging pour les 10 scénarios, le Duration hedging avec un seul swap 7 ans est donc plus efficace que le Duration/Convexity Hedging avec deux Swaps de maturité 5 et 7ans