Page 1 sur 25
Table des matires : 1. Introduction 2. Dmarche gnrale 2.1 Rcolte de donnes 2.2 Calculs de rendements 2.3 Calculs de volatilits 2.4 Recherche des taux sans risque 2.5 Calcul du Ratio de Sharpe 3. Benchmark avec le SMI 3.1 Le SMI 3.2 Structure des indices dactions de la SWX 3.3 Composition sectorielle du SMI au 29.12.2006 3.4 Comparaison de performance avec les indices 3.5 Caractristiques du SMI 3.6 Pondration et calcul 3.7 Matrice des carts de rendements mensuels 3.8 Matrice variance covariance 3.9 Volatilit de lindice 3.10 Rendements de lindice 3.11 Calculation du Bta 3.12 Calculation CAPM 3.13 Alpha 4. Limites du projet 5. Exemple 6. Conclusion 7. Sources 3 3 3 4 6 8 10 13 13 13 14 14 15 16 18 19 20 21 21 21 21 22 23 24 25
Page 2 sur 25
1. Introduction
Ce travail a t ralis dans le cadre du cours option majeure Finance & Risk Management la HEG de Genve. Nous avons dispos de 3 mois pour le rdiger et en voici le rsultat. Veuillez noter que ce dossier ne reprsente que le support crit de notre rapport et quil est troitement associ un document Excel/VBA. Nous vous souhaitons dores et dj une bonne lecture.
2. Dmarche gnrale
Lors des points suivants nous allons vous expliquer comment nous avons construit notre dmarche ainsi que les diffrents calculs et fonctions auxquels nous avons procd. Nous avons aussi intgr des notions thoriques et des formules mathmatiques qui faciliteront la comprhension du lecteur.
Page 3 sur 25
Page 4 sur 25
Pour calculer notre ratio de Sharpe nous avons voulu y introduire des donnes annualises. Cest pour cela que nous avons ajust nos fonctions dans ce sens. Dans Visual Basic : 'Calcul rendement espr annualis RendtEspAnn = ((1 + RendtEspMens(rng)) ^ 12) 1 Explications : 13. On nomme notre calcul au moyen de 14. La dimension RendtEspAnn doit correspondre lajout de 1 au calcul du rendement espr effectu sur les valeurs de la plage de cellule slectionne et on llve la puissance 12, le tout diminu de 1 afin dobtenir un rendement espr annuel 13. 14.
Page 5 sur 25
-1
Dans Visual Basic : Function Volmens(rng As Range) As Double Dim NbreCol As Integer Dim Prix As Variant Dim temp As Double NbreCol = rng.Rows.Count Prix = rng.Value 15. 16. 17. 18. 19. 20.
' calcul vol 21. temp = 0 22. For i = 2 To NbreCol temp = temp + (((RendtSimple(Prix(i - 1, 1), Prix(i, 1)) - 1) - RendtEspMens(rng)) ^ 2) 23. Next i 24. Volmens = ((1 / (NbreCol - 2)) * temp) ^ (1 / 2) End Function Explications : 15. Fonction de la volatilit mensuelle (rng tant gal la plage de cellule slectionne). La variable numrique doit avoir une grande capacit de stockage 16. La dimension NbreCol doit tre interprte comme une variable entire 17. La dimension Prix doit tre interprte comme une variable 18. La dimension temps doit tre considre comme une variable numrique avec une grande capacit de stockage 19. Le nombre de colonnes doit correspondre au nombre de plages de cellule dans ces rangs 20. Le prix doit correspondre la plage de cellule Value 21. On nomme notre calcul au moyen de 22. La dimension temp doit correspondre au chiffre 0 25. 26.
Page 6 sur 25
23. Rendement simple + fait appel une petite fonction qui divise le prix de la priode en cours la priode prcdente (afin de trouver le rendement de la priode en cours). Fait la somme des carrs des carts entre rendement mensuel de chaque priode et rendement espr 24. Pour litration suivante 25. Racine de la ligne 23 divise par le nombre de priodes de la colonne de prix slectionne (il y a n-1 rendement, moins 1 = n-2 pour le calcul de la volatilit) 26. Fin de la fonction Pour que nous puissions utiliser la volatilit dans le calcul du ratio de Sharpe, il est impratif dannualiser cette volatilit, comme nous lavons fait pour le rendement. Dans Visual Basic : 'calcul val annualise VolAnn = Volmens(rng) * (12 ^ 0.5) Explications : 27. On nomme notre calcul au moyen de 28. La dimension VolAnn doit correspondre au rsultat des calculs de volatilit sur la plage de cellule slectionne multipli par la racine de 12, afin dannualiser le rsultat 27. 28.
Page 7 sur 25
Page 8 sur 25
Pour tre en adquation avec lannualisation des autres paramtres de la formule du ratio de Sharpe, alors il nous faut annualiser la valeur mensuelle du taux sans risque. Dans Visual Basic : 'calcul taux sans risque annualis TauxRFAnn = ((1 + TauxFMens(rng)) ^ 12) 1 Explications : 40. On nomme notre calcul au moyen de 41. La dimension TauxRFAnn doit correspondre lajout de 1 au rsultat de la fonction TauxFmens appliqu la plage de cellule TauxFMens , cela lev la puissance 12, le tout diminu de 1 afin dobtenir un taux annuel 40. 41.
Page 9 sur 25
Ratio permettant de calculer la performance suprieure d'un investissement par rapport ce qu'aurait t la performance d'un placement sans risque. Il permet en outre de comparer diffrents placements entre eux. La formule de calcul du ratio de Sharpe est la suivante :
O : Sp : ratio de Sharpe d'un Portefeuille par exemple Rp : Rendement du portefeuille Rf : Rendement de l'avoir sans risque : Ecart-type du portefeuille (risque du portefeuille). Il ressort immdiatement de cette formule que :
Tout ratio de Sharpe ngatif indique un placement dont le rendement a t infrieur celui de l'avoir sans risque mais il reste difficile interprter. Tout ratio de Sharpe infrieur 1 indique un placement dont l'excdent de rendement par rapport au taux sans risque est infrieur au risque pris Un ratio de Sharpe plus lev est "meilleur" qu'un ratio de Sharpe bas.
Page 10 sur 25
A prsent, nous avons toutes les informations disposition pour pouvoir nous concentrer sur ce calcul de notre formule. Nous disposons de la rentabilit annualise des sous-jacents, des taux sans risque de la Confdration ainsi que les carts-type ou la volatilit annualise des 26 titres du SMI. Dans Visual Basic : Function RatioSharp(rng As Range) As Double Dim NbreCol As Integer Dim Prix As Variant Dim temp As Double Dim Taux As Variant Dim RendtEspAnn As Double, VolAnn As Double, TauxRFAnn As Double 42. 43. 44. 45. 46. 47.
48. 49.
'Calcul rendement espr annualis RendtEspAnn = ((1 + RendtEspMens(rng)) ^ 12) 1 'calcul val annualise VolAnn = Volmens(rng) * (12 ^ 0.5) 'calcul taux sans risque annualis TauxRFAnn = ((1 + TauxFMens(rng)) ^ 12) 1 'calcul du ratio de sharp RatioSharp = (RendtEspAnn - TauxRFAnn) / VolAnn End Function Explications :
42. Fonction du ratio de Sharpe (rng tant gal la plage de cellule slectionne par lutilisateur). La variable doit tre numrique et dune grande capacit 43. La dimension NbreCol doit tre interprte comme une variable entire 44. La dimension Prix doit tre interprte comme une variable 45. La dimension temps doit tre considre comme une variable numrique de grande capacit
Page 11 sur 25
46. La dimension Taux doit tre interprte comme une variable 47. Les dimensions RendtEspAnn , VolAnn et TauxRFAnn doivent tre considres comme une variable numrique de grande capacit 48. Le nombre de colonnes doit correspondre la priode de la plage slectionne par lutilisateur 49. Le prix doit correspondre la srie de prix contenue dans la plage de cellule slectionne par lutilisateur Value 50. On nomme notre calcul au moyen de 51. La dimension RendtEspAnn doit correspondre lajout de 1 au rsultat de la fonction RendtEspMens appliqu la plage de cellule slectionne que l on lve la puissance 12, le tout diminu de 1 pour obtenir le rendement espr annuel 52. On nomme notre calcul au moyen de 53. La dimension VolAnn doit correspondre la Volmens de la plage de cellule slectionne par lutilisateur multipli par la racine de 12 pour annualiser 54. On nomme notre calcul au moyen de 55. La dimension TauxRFAnn doit correspondre lajout de 1 au rsultat de la fonction TauxFMens appliqu la plage de cellule slectionne, cela lev la puissance 12, le tout diminu de 1 afin dobtenir le taux sr annualis 56. On nomme notre calcul au moyen de 57. La valeur du Ratio de Sharpe dun sous-jacent doit tre gale la valeur du rendement espr annualis diminu du taux sans risque annualis, le tout divis par la volatilit annualise 58. Fin de la fonction
Page 12 sur 25
3.1 Le SMI
Le Swiss Market Index reflte les tendances des blues chips suisses. Les titres du SMI reprsentent environ 90% du volume de ngoce ralis sur tous les titres cots la SWX. Le SMI a t calcul pour la premire fois le 30 juin 1988 avec une base de 1500 points. Sa composition est ractualise une fois par an. Son calcul s'effectue en temps rel, chaque nouvelle transaction sur un titre inclus dans le SMI provoque un nouveau calcul du niveau de l'indice. La famille SMI inclut trois indices, savoir le Swiss Market Index (SMI), le SMI MID (SMIM) et le SMI Expanded. Elle comprend les titres des plus grandes capitalisations les plus liquides du march boursier suisse. Elle reprsente plus de 95% de la capitalisation boursire des actions suisses. Lensemble du march suisse (titres suisses) est reprsent par la famille dindices SPI. Le SMI fait principalement office dindice non corrig des dividendes (indice des cours), mais il est galement publi en tant qu'indice de performance sous la dsignation SMIC (SMI Cum Dividend).
Page 13 sur 25
3.4 Comparaison des performances avec les indices de blue chips internationaux (TR, CHF ajust)
Page 14 sur 25
Ajustement du nombre dactions et du free float : Premier jour de ngoce du mois doctobre et davril
Capitalisation boursire ajuste du free float (au 29.12.2006) CHF 1065.9 milliards
Page 15 sur 25
La pondration des titres au sein de ces indices est base comme pour tous les indices boursiers SWX sur la capitalisation flottante. Les indices de la famille SMI sont actualiss en temps rel aprs chaque transaction et publis toutes les trois secondes. Puisque les cours historiques du SMI sont ractualiss chaque transaction suite sa nouvelle pondration (afin que le prix du panier puisse tre comparable), nous avoir choisi de calculer ses rendements et sa volatilit nous mme en prenant arbitrairement sa pondration au 29 dcembre 2006.
ABB LTD N ADECCO N BALOISE N CIBA SC N CLARIANT N CS GROUP N GIVAUDAN N HOLCIM N JULIUS BAER N NESTLE N NOVARTIS N RICHEMONT
4.4728591 0.9649796 0.6319834 0.5251528 0.3940668 8.6746662 0.6740346 2.1203686 1.1144918 16.278824 16.3951246 3.4770101
ROCHE GS SERONO -B- I SGS N SWATCH GROUP I SWATCH GROUP N SWISS LIFE HOLDING N SWISS RE N SWISSCOM N SYNGENTA N SYNTHES N UBS N ZURICH FINANCIAL N
14.4016956 0.5346858 0.7606016 0.8175136 0.2704833 0.9672626 3.3154408 0.8079761 2.0625588 0.7918763 13.8293771 4.45017
Page 16 sur 25
Les indices de la famille SMI sont calculs selon la mthode de Laspeyres en effectuant la moyenne arithmtique d'une slection de titres dfinie. Le niveau actuel de lindice sobtient en divisant la somme des capitalisations des valeurs contenues dans lindice par un diviseur.
Page 17 sur 25
Afin de comparer le titre choisi au Benchmark SMI, nous avons fait une matrice pouvant calculer pour le SMI sa volatilit. Le systme de la matrice nous permet de comparer chacune des actions entre elles. Elle agit comme deux boucles. Une grande boucle slectionne la premire action. Une petite boucle permet alors de comparer la premire action (exemple : ABB) avec chacune des 25 autres. Puis la grande boucle vient ensuite la deuxime action pour la comparer aux 25 autres. Ainsi de suite Grande boucle
Petite boucle On constate que la corrlation de laction ABB par elle-mme est gale 1
Matrice(IntCol, IntLi) = (RendtSimple(Prix(IntLi - 1, 1), Prix(IntLi, 1)) - 1) DblRendtEsp 64 Next IntLi Next IntCol Explications : 59. Chaque action (1 26) 60. Appel de la fonction du calcul du rendement espr pour laction i 61. Concerne les prix des cellules slectionnes par lutilisateur 7 8
Page 18 sur 25
62. Pour la premire priode pas de rendement donc cart = 0 63. Pour chaque priode aprs la priode 1 64. Pour chaque priode t, calcul le rendement simple de la priode t moins le rendement espr de laction i sur toute la priode slectionne
Explications : 65. Laction i 66. Laction j 67. Rinitialise 68. Lignes commencent 1 69. Permet de mesurer pour chacune des action par rapport elle-mme et chacune des autre la somme des carts la moyenne sur la priode slectionne (xi-E(Ri))*(yj-E(Rj)) 70. Fait en continu jusqu la prochaine itration 71. Incrmente dans la matrice rsultat de la ligne 5 / n-1 pour normaliser le rsultat
Page 19 sur 25
La volatilit du SMI va tendre vers les carts types des grandes capitalisations boursires du SMI comme par exemple Nestl et Novartis plutt que les petites capitalisations comme ABB. Cest pourquoi nous devons pondrer toutes les actions. Dans Visual Basic : temp = 0 For i = 1 To NbreCol For j = 1 To NbreCol temp = temp + (Varpond(1, i) * Varpond(1, j) * Covariance(i, j)) Next VolIndMens = (temp ^ 0.5) 72 73 74 75 76
Explications 72. Rinitialise 73. Pour chaque action i 74. Pour chaque action j 75. Proportion respective de chacun des couple daction(i,i) ou (i,j) multipli la covariance (i,i) ou (i,j) 76. Racine de la variance = la volatilit Exemple :
Action i1 Action i1 Action i2 Action i3 1 ;1 1 ;2 1 ;3 Action i2 2 ;1 2 ;2 2 ;3 Action i3 3 ;1 3 ;2 3 ;3
Page 20 sur 25
Page 21 sur 25
4. Limites du projet
Pour les donnes sur les titres du SMI cots la SWX, nous nous sommes limits prendre les valeurs mensuelles (cours de fin de mois) et avons adapt nos calculs dans ce sens. Nos fichiers auraient t tout simplement trop chargs. Nous pensons nanmoins que la prcision de notre travail reste intacte et lutilisateur disposera dinformations tout aussi prcises et quintressantes. Au sujet des taux sans risques dlivrs par la BNS, nous avons mensualiss les taux qui taient indiqus, pour chaque mois de la priode, sous forme annualise. Par soucis dadquation dans nos calculs, par exemple pour le ratio de Sharpe, nous avons pris les taux annualiss correspondant la priode slectionne par lutilisateur. Concernant les explications sur VBA, nous ne pouvons malheureusement pas expliquer toutes les fonctions de nos macros et cela, bien videmment, pour des questions de temps et de volume du dossier. Nanmoins, les macros principales sont expliques de manire prcise.
Page 22 sur 25
5. Exemple
Nous avons choisi pour notre exemple, laction Nestl, durant la priode du 31 dcembre 2005 au 29 dcembre 2006. Nous pouvons constater que laction Nestl un ratio de Sharpe positif ce qui signifie que compte tenu des risques pris cest un meilleur investissement que des obligations de la confdration. Cependant, par rapport lindice SMI, son ratio de Sharpe est infrieur. On peut voir que si laction avait eu la mme volatilit que le SMI soit 9.25, son rendement naurait t que de 5.54% contre 15. 12 pour le SMI (17.8-2.68). On peut ainsi mieux comparer les deux investissements. Le graphique nous illustre trs bien le fait que le SMI a un rendement-risque nettement meilleur laction Nestl durant cette priode.
Page 23 sur 25
6. Conclusion
En conclusion, nous pouvons avouer que la complicit du travail dpassait ce quoi nous nous attendions. Nanmoins nous nous sommes beaucoup bass sur des ouvrages consacrs VBA et sur des changes dopinions sur des forums de discussion consacrs au programme. En ralisant notre travail nous nous sommes rendus compte de la puissance dun tel outil. Malgr sa difficult de manipulation, nous pensons quune bonne matrise de VBA est susceptible de bien aider les risk managers et autres personnes de la profession. Nanmoins, la ralisation dun tel travail ne fait pas de nous des professionnels de VBA, loin de l, leffort fournir et la concentration ncessaire la comprhension de la mise en place dun tel travail dpasse bon nombre de nos projets respectifs. De ce travail de projet, nous tirons donc un enrichissement personnel et nous pensons mme lutiliser titre personnel. En effet, lutilisation de cet outil savre trs pratique et nous indique des informations qui ne sont pas toujours accessibles.
Page 24 sur 25
7. Sources:
1. Ouvrages : Livre, Financial Modeling , Simon Benninga, 2nd dition, MIT Press 2. Utilisations de formules mathmatiques : http://www.bnains.org/risque/risque.htm 3. Consultation de sites internet pour VBA: http://www.developpez.net/forums/forumdisplay.php?f=28 http://www.forum.moteurprog.com/visual-basic/forum-2-1-0.htm http://www.cathyastuce.com/w-agora/download_forum.php http://www.presence-pc.com/forum/ 4. Consultation de sites internet pour informations boursires : http://www.snb.ch/d/index3.html http://www.swx.com/index.html
Page 25 sur 25