Rapport

publicité
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
Travail de projet sur VBA
Calcul du Ratio de Sharpe
Page 1 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
Table des matières :
1. Introduction
3
2. Démarche générale
3
2.1 Récolte de données
2.2 Calculs de rendements
2.3 Calculs de volatilités
2.4 Recherche des taux sans risque
2.5 Calcul du Ratio de Sharpe
3
4
6
8
10
3. Benchmark avec le SMI
3.1 Le SMI
3.2 Structure des indices d’actions de la SWX
3.3 Composition sectorielle du SMI au 29.12.2006
3.4 Comparaison de performance avec les indices
3.5 Caractéristiques du SMI
3.6 Pondération et calcul
3.7 Matrice des écarts de rendements mensuels
3.8 Matrice variance covariance
3.9 Volatilité de l’indice
3.10 Rendements de l’indice
3.11 Calculation du Béta
3.12 Calculation CAPM
3.13 Alpha
13
13
13
14
14
15
16
18
19
20
21
21
21
21
4. Limites du projet
22
5. Exemple
23
6. Conclusion
24
7. Sources
25
Page 2 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
1. Introduction
Ce travail a été réalisé dans le cadre du cours à option majeure « Finance & Risk
Management » à la HEG de Genève. Nous avons disposé de 3 mois pour le rédiger et en voici
le résultat. Veuillez noter que ce dossier ne représente que le support écrit de notre rapport et
qu’il est étroitement associé à un document Excel/VBA. Nous vous souhaitons d’ores et déjà
une bonne lecture.
2. Démarche générale
Lors des points suivants nous allons vous expliquer comment nous avons construit notre
démarche ainsi que les différents calculs et fonctions auxquels nous avons procédé. Nous
avons aussi intégré des notions théoriques et des formules mathématiques qui faciliteront la
compréhension du lecteur.
2.1 Récolte de données
Pour effectuer cette étude sur le ratio de Sharpe nous avons décidé de nous baser sur le SMI
(Swiss Market Index), cet indice étant celui que nous connaissons le mieux.
Nous avons déterminé une période de cotation des titres s’échelonnant du 03.01.2001 au
29.12.2006, soit 6 années complètes pour les 26 titres de l’indice. A l’origine, il était prévu
que nous mettions en place un programme capable de télécharger automatiquement les cours
mais au vu du temps disponible pour réaliser cette tâche, nous avons finalement effectué notre
travail sur des données historiques de 6 ans.
Pour récolter toutes les cotations concernées, nous nous sommes basés sur le programme
professionnel de finance « Bloomberg ». Nous avons ensuite transféré toutes ces informations
sur le programme « Excel ». Pour des raisons de grandeur de fichier nous nous sommes
limités à garder que les cotations de fin de mois de chaque titre ainsi que les rendements y
relatifs.
Page 3 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
2.2. Calcul du rendement
Pour trouver le rendement d’un titre il suffit de prendre l’évolution en valeur absolue de ce
titre sur une période donnée et diviser ce chiffre par la valeur initiale du titre. Nous avons
développé dans VBA les fonctions suivantes :
Dans Visual Basic :
Function RendtEspMens(rng As Range) As Double
Dim NbreCol As Integer
Dim Prix As Variant
Dim temp As Double
1.
2.
3.
4.
NbreCol = rng.Rows.Count
Prix = rng.Value
temp = 1
For i = 2 To NbreCol
5.
6.
7.
8.
temp = temp * RendtSimple(Prix(i - 1, 1), Prix(i, 1))
Next I
9.
10.
RendtEspMens = temp ^ (1 / (NbreCol - 1)) – 1
11.
End Function
12.
Explications :
1. Fonction du rendement espéré mensuel (rng étant égal à une plage de cellule) le résultat de
la fonction correspond à une variable double soit une variable numérique avec une grande
possibilité de stockage
2. La dimension « NbreCol » doit être interprétée comme une variable entière
3. La dimension « Prix » doit être interprétée comme une variable
4. La dimension « temps » doit être interprétée comme une variable avec une grande capacité
de stockage
5. Variable correspond au nombre de ligne d’une plage de cellule sélectionnée. Elle revient à
déterminer le nombre de période t qui couvre la sélection de l’utilisateur
6. Le prix doit correspondre à la plage de cellule « Value »
7. La dimension « temp » doit correspondre au chiffre 1
8. Pour chaque itération nombre de ligne contenant le prix. Commence à 2 car le 1er
rendement commence à la 2ème période
9. Total de la multiplication des rendements simples mensuels. Fait une boucle pour chaque
période
10. Pour l’itération suivante
11. Racine de la Ligne 9 divisé par le facteur n-1 pour trouver : 1+ rendement espéré. On fait
+1 donne le rendement espéré
12. Fin de la fonction
Page 4 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
Pour calculer notre ratio de Sharpe nous avons voulu y introduire des données annualisées.
C’est pour cela que nous avons ajusté nos fonctions dans ce sens.
Dans Visual Basic :
'Calcul rendement espéré annualisé
RendtEspAnn = ((1 + RendtEspMens(rng)) ^ 12) – 1
13.
14.
Explications :
13. On nomme notre calcul au moyen de « ‘ »
14. La dimension « RendtEspAnn » doit correspondre à l’ajout de 1 au calcul du rendement
espéré effectué sur les valeurs de la plage de cellule sélectionnée et on l’élève à la puissance
12, le tout diminué de 1 afin d’obtenir un rendement espéré annuel
Page 5 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
2.3. Calcul de la volatilité
La volatilité correspond en terme mathématique à l’écart-type. Cet écart-type est égal à la
racine de la variance, cette dernière étant égale à la somme des carrés des distances entre les
différentes valeurs de l'échantillon et la moyenne.
Formule de l’écart-type :
-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)
25.
End Function
26.
Explications :
15. Fonction de la volatilité mensuelle (rng étant égal à la plage de cellule sélectionnée). La
variable numérique doit avoir une grande capacité de stockage
16. La dimension « NbreCol » doit être interprétée comme une variable entière
17. La dimension « Prix » doit être interprétée comme une variable
18. La dimension « temps » doit être considérée comme une variable numérique 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
Page 6 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
23. Rendement simple + fait appel à une petite fonction qui divise le prix de la période en
cours – la période précédente (afin de trouver le rendement de la période en cours). Fait la
somme des carrés des écarts entre rendement mensuel de chaque période et rendement espéré
24. Pour l’itération suivante
25. Racine de la ligne 23 divisée par le nombre de périodes de la colonne de prix sélectionnée
(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 impératif
d’annualiser cette volatilité, comme nous l’avons fait pour le rendement.
Dans Visual Basic :
'calcul val annualisée
VolAnn = Volmens(rng) * (12 ^ 0.5)
27.
28.
Explications :
27. On nomme notre calcul au moyen de « ‘ »
28. La dimension « VolAnn » doit correspondre au résultat des calculs de volatilité sur la
plage de cellule sélectionnée multiplié par la racine de 12, afin d’annualiser le résultat
Page 7 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
2.4. Recherche des taux sans risque
Le taux sans risque étant un paramètre important dans la formule du ratio de Sharpe nous
avons contacté la BNS (Banque Nationale Suisse) et avons recueilli les données des taux sans
risque mensuels à 10 ans de la Confédération. Pour éviter toute confusion, les taux sans risque
figurant dans l’onglet « prix mensuels » ont été mensualisés, les informations contenues dans
l’onglet « taux sans risque BNS » correspondent à des taux annualisés.
Dans Visual Basic :
Public Function TauxFMens(rng As Range) As Double
29.
Dim NbreCol As Integer
Dim Taux As Variant
Dim temp As Double
NbreCol = rng.Rows.Count
30.
31.
32.
33.
temp = 1
For Each Rg In rng
34.
35.
temp = temp * (1 + Sheets(2).Range("B" & Rg.Row).Value)
36.
Next
TauxFMens = (temp ^ (1 / (NbreCol - 1))) – 1
37.
38.
End Function
39.
Explications :
29. Fonction du taux sans risque (rng étant égal à la plage de cellule) la variable numérique
doit avoir une grande capacité de stockage
30. La dimension « NbreCol » doit être interprétée comme une variable entière
31. La dimension «Taux» doit être interprétée comme une variable
32. La dimension « temps » doit être considérée comme une variable numérique avec une
grande capacité de stockage
33. Le nombre de colonnes doit correspondre au nombre de ligne de la plages de cellule
sélectionnée par l’utilisateur. Elle indique le nombre de période que couvre la plage de
cellule
34. La dimension « temp » doit correspondre au chiffre 1
35. Pour chaque cellule contenue à l’intérieur de la plage de cellule
36. total de la multiplication de 1+ tous les taux sûr de la colonne B de chaque période
37. Ensuite
38. Total de la ligne 36 / nombre de période -1, c’est-à-dire les nombre de rendement
mensuels
39. Fin de la fonction
Page 8 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
Pour être en adéquation avec l’annualisation des autres paramètres 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
40.
41.
Explications :
40. On nomme notre calcul au moyen de « ‘ »
41. La dimension « TauxRFAnn » doit correspondre à l’ajout de 1 au résultat de la fonction
« TauxFmens » appliqué à la plage de cellule « TauxFMens », cela élevé à la puissance 12, le
tout diminué de 1 afin d’obtenir un taux annuel
Page 9 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
2.5. Calcul du ratio de Sharpe
Le Ratio de Sharpe
Ratio permettant de calculer la performance supérieure d'un investissement par rapport à ce
qu'aurait été la performance d'un placement sans risque. Il permet en outre de comparer
différents 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 immédiatement de cette formule que :
•
•
•
Tout ratio de Sharpe négatif indique un placement dont le rendement a été
inférieur à celui de l'avoir sans risque mais il reste difficile à interpréter.
Tout ratio de Sharpe inférieur à 1 indique un placement dont l'excédent de
rendement par rapport au taux sans risque est inférieur au risque pris
Un ratio de Sharpe plus élevé est "meilleur" qu'un ratio de Sharpe bas.
Page 10 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
A présent, nous avons toutes les informations à disposition pour pouvoir nous concentrer sur
ce calcul de notre formule. Nous disposons de la rentabilité annualisée des sous-jacents, des
taux sans risque de la Confédération ainsi que les écarts-type ou la volatilité annualisée 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.
NbreCol = rng.Rows.Count
Prix = rng.Value
48.
49.
'Calcul rendement espéré annualisé
RendtEspAnn = ((1 + RendtEspMens(rng)) ^ 12) – 1
50.
51.
'calcul val annualisée
VolAnn = Volmens(rng) * (12 ^ 0.5)
52.
53.
'calcul taux sans risque annualisé
TauxRFAnn = ((1 + TauxFMens(rng)) ^ 12) – 1
54.
55.
'calcul du ratio de sharp
RatioSharp = (RendtEspAnn - TauxRFAnn) / VolAnn
56.
57.
End Function
58.
Explications :
42. Fonction du ratio de Sharpe (rng étant égal à la plage de cellule sélectionnée par
l’utilisateur). La variable doit être numérique et d’une grande capacité
43. La dimension « NbreCol » doit être interprétée comme une variable entière
44. La dimension «Prix» doit être interprétée comme une variable
45. La dimension « temps » doit être considérée comme une variable numérique de grande
capacité
Page 11 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
46. La dimension «Taux» doit être interprétée comme une variable
47. Les dimensions « RendtEspAnn », « VolAnn » et « TauxRFAnn » doivent être considérées
comme une variable numérique de grande capacité
48. Le nombre de colonnes doit correspondre à la période de la plage sélectionnée par
l’utilisateur
49. Le prix doit correspondre à la série de prix contenue dans la plage de cellule sélectionnée
par l’utilisateur« Value »
50. On nomme notre calcul au moyen de « ‘ »
51. La dimension « RendtEspAnn » doit correspondre à l’ajout de 1 au résultat de la fonction
« RendtEspMens » appliqué à la plage de cellule sélectionnée que l’ on élève à la puissance
12, le tout diminué de 1 pour obtenir le rendement espéré annuel
52. On nomme notre calcul au moyen de « ‘ »
53. La dimension « VolAnn » doit correspondre à la « Volmens » de la plage de cellule
sélectionnée par l’utilisateur multiplié par la racine de 12 pour annualiser
54. On nomme notre calcul au moyen de « ‘ »
55. La dimension « TauxRFAnn » doit correspondre à l’ajout de 1 au résultat de la fonction
« TauxFMens »appliqué à la plage de cellule sélectionnée, cela élevé à la puissance 12, le
tout diminué de 1 afin d’obtenir le taux sûr annualisé
56. On nomme notre calcul au moyen de « ‘ »
57. La valeur du Ratio de Sharpe d’un sous-jacent doit être égale à la valeur du rendement
espéré annualisé diminué du taux sans risque annualisé, le tout divisé par la volatilité
annualisée
58. Fin de la fonction
Page 12 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
3. Benchmark avec le SMI
Pour notre travail en VBA nous avons choisi de traiter le Ratio de Sharpe sur toutes les
actions du SMI du 3 janvier 2001 au 29 décembre 2006. Nous avons naturellement choisi
comme benchmark l’indice SMI.
3.1 Le SMI
Le Swiss Market Index reflète les tendances des blues chips suisses. Les titres du SMI
représentent environ 90% du volume de négoce réalisé sur tous les titres cotés à la SWX.
Le SMI a été calculé pour la première fois le 30 juin 1988 avec une base de 1500 points. Sa
composition est réactualisée une fois par an. Son calcul s'effectue en temps réel, 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 représente plus de 95% de la capitalisation
boursière des actions suisses. L’ensemble du marché suisse (titres suisses) est représenté par
la famille d’indices SPI.
Le SMI® fait principalement office d’indice non corrigé des dividendes (indice des cours),
mais il est également publié en tant qu'indice de performance sous la désignation SMIC®
(SMI® Cum Dividend).
3.2 Structure des indices d’actions de la SWX
Page 13 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
3.3 Composition sectorielle du SMI au 29.12.2006
3.4 Comparaison des performances avec les indices de blue chips
internationaux (TR, CHF ajusté)
Page 14 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
3.5 Caractéristiques du SMI
Noms
Swiss Market Index
Symbol
SMI
Security no.
998089
ISIN
CH0009980894
Reuters RIC
SSMI
Bloomberg ticker
SMI
Définition
Les 30 titres (au maximum) les plus liquides et les plus fortement
capitalisés du SPI
Méthode de Calcul
Laspeyres, pondération par la capitalisation boursière (free float)
Valeur de base des Indices
Total Return Index : 30.06.1998 = 1 500
Price Index : 30.06.1988 = 1500
Lancement
30.06.1988
Publication
Chaque seconde
Univers de sélection
SPI
Critères d’admission
Capitalisation minimum (free float) : 0.45% de la capitalisation du SPI
Prise en compte du classement trimestriel sur la base du chiffre d’affaires et
de la capitalisation
Liquidité : min. 50% de la liquidité moyenne du SPI
Révision de la composition
des Indices
Premier jour de négoce du mois d’octobre
Ajustement du nombre d’actions
et du free float :
Premier jour de négoce du mois d’octobre et d’avril
Produits basés sur l’indice
Futures et options Eurex, warrants, produits structurés, ETF
Nombre de titres au 29.12.2006
26
Capitalisation boursière totale
(au 29.12.2006)
1'155.6 milliards
Capitalisation boursière ajustée
du free float (au 29.12.2006)
CHF 1065.9 milliards
Page 15 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
La pondération des titres au sein de ces indices est basée comme pour tous les indices
boursiers SWX sur la capitalisation flottante. Les indices de la famille SMI® sont actualisés
en temps réel après chaque transaction et publiés toutes les trois secondes.
Puisque les cours historiques du SMI sont réactualisés à chaque transaction suite à sa nouvelle
pondération (afin que le prix du panier puisse être comparable), nous avoir choisi de calculer
ses rendements et sa volatilité nous même en prenant arbitrairement sa pondération au 29
décembre 2006.
3.6 pondération et calcul
ABB LTD N
4.4728591
ROCHE GS
14.4016956
ADECCO N
0.9649796
SERONO -B- I
BALOISE N
0.6319834
SGS N
CIBA SC N
0.5251528
SWATCH GROUP I
0.8175136
CLARIANT N
0.3940668
SWATCH GROUP N
0.2704833
SWISS LIFE HOLDING N
0.9672626
CS GROUP N
8.6746662
0.5346858
0.7606016
GIVAUDAN N
0.6740346
SWISS RE N
3.3154408
HOLCIM N
2.1203686
SWISSCOM N
0.8079761
JULIUS BAER N
1.1144918
SYNGENTA N
2.0625588
NESTLE N
16.278824
SYNTHES N
0.7918763
NOVARTIS N
16.3951246
UBS N
RICHEMONT
3.4770101
ZURICH FINANCIAL N
13.8293771
4.45017
Page 16 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
Les indices de la famille SMI® sont calculés selon la méthode de Laspeyres en effectuant la
moyenne arithmétique d'une sélection de titres définie. Le niveau actuel de l’indice s’obtient
en divisant la somme des capitalisations des valeurs contenues dans l’indice par un diviseur.
Page 17 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
Afin de comparer le titre choisi au Benchmark SMI, nous avons fait une matrice pouvant
calculer pour le SMI sa volatilité.
Le système de la matrice nous permet de comparer chacune des actions entre elles.
Elle agit comme deux boucles. Une grande boucle sélectionne la première action. Une petite
boucle permet alors de comparer la première action (exemple : ABB) avec chacune des 25
autres. Puis la grande boucle vient ensuite à la deuxième action pour la comparer aux 25
autres. Ainsi de suite…
Grande boucle
Petite boucle
On constate que la corrélation de l’action ABB
par elle-même est égale à 1
3.7 Matrice des Ecarts Rendements mensuels à la moyenne (Géométrique)
Permet de calculer pour chaque action le rendement excessif, soit, le rendement mensuel
moyen – le rendement espéré
Dans Visual Basic :
For IntCol = 1 To UBound(Matrice, 1)
Prix = rng.Columns(IntCol).Value
DblRendtEsp = RendtEspMens(rng.Columns(IntCol))
Matrice(IntCol, 1) = 0
59
60
61
62
For IntLi = 2 To UBound(Matrice, 2)
63
Matrice(IntCol, IntLi) = (RendtSimple(Prix(IntLi - 1, 1), Prix(IntLi, 1)) - 1) – DblRendtEsp
64
Next IntLi
7
Next IntCol
8
Explications :
59. Chaque action (1 à 26)
60. Appel de la fonction du calcul du rendement espéré pour l’action i
61. Concerne les prix des cellules sélectionnées par l’utilisateur
Page 18 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
62. Pour la première période pas de rendement donc écart = 0
63. Pour chaque période après la période 1
64. Pour chaque période t, calcul le rendement simple de la période t moins le rendement
espéré de l’action i sur toute la période sélectionnée
3.8 Matrice Variance covariance
Dans Visual Basic :
For i = 1 To NbreCol
For j = 1 To NbreCol
temp = 0
For IntLi = 1 To NbreLi
temp = temp + (Matrice(i, IntLi) * Matrice(j, IntLi))
Next IntLi
Covariance(i, j) = temp * (1 / (NbreLi - 2))
65
66
67
68
69
70
71
Explications :
65. L’action i
66. L’action j
67. Réinitialise
68. Lignes commencent à 1
69. Permet de mesurer pour chacune des action par rapport à elle-même et à chacune des
autre la somme des écarts à la moyenne sur la période sélectionnée ∑(xi-E(Ri))*(yj-E(Rj))
70. Fait en continu jusqu’à la prochaine itération
71. Incrémente dans la matrice résultat de la ligne 5 / n-1 pour normaliser le résultat
Page 19 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
3.9 Volatilité de l’indice
La volatilité du SMI va tendre vers les écarts types des grandes capitalisations boursières du
SMI comme par exemple Nestlé et Novartis plutôt que les petites capitalisations comme
ABB. C’est pourquoi nous devons pondérer 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
72
73
74
75
VolIndMens = (temp ^ 0.5)
76
Explications
72. Réinitialise
73. Pour chaque action i
74. Pour chaque action j
75. Proportion respective de chacun des couple d’action(i,i) ou (i,j) multiplié à la covariance
(i,i) ou (i,j)
76. Racine de la variance = la volatilité
Exemple :
Action i1
Action i2
Action i3
Action i1
1 ;1
2 ;1
3 ;1
Action i2
1 ;2
2 ;2
3 ;2
Action i3
1 ;3
2 ;3
3 ;3
Page 20 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
3.10 Rendement de l’indice
Dans Visual Basic :
temp = 0
For i = 1 To NbreCol
temp = temp + (Varpond(1, i) * RendtEspMens(rng.Columns(i)))
Next i
77
78
79
80
RendtIndMens = temp
81
Explications
77. Réinitialise
78. Nombre d’action
79. Somme de la proportion de l’action i multiplié par le résultat de la fonction
« RendtEspMens »
80.pour chaque action
81. (Se référer à la fonction pour connaître le calcul)
3.11 Calculation du Béta (Cf. Fichier Excel)
Somme de toutes les covariances d’une action avec toutes les autres divisé par la volatilité de
l’indice = β
3.12 Calculation CAPM (Cf. Fichier Excel)
Prime de risque : rendement du marché – taux fixe
Rendement espéré = taux fixe + β *prime de risque
3.13 Alpha (Cf. Fichier Excel)
Il correspond au rendement réalisé inférieur au rendement que l’on devrait faire selon
CAPM.
Page 21 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
4. Limites du projet
Pour les données sur les titres du SMI cotés à la SWX, nous nous sommes limités à prendre
les valeurs mensuelles (cours de fin de mois) et avons adapté nos calculs dans ce sens. Nos
fichiers auraient été tout simplement trop chargés. Nous pensons néanmoins que la précision
de notre travail reste intacte et l’utilisateur disposera d’informations tout aussi précises et
qu’intéressantes.
Au sujet des taux sans risques délivrés par la BNS, nous avons mensualisés les taux qui
étaient indiqués, pour chaque mois de la période, sous forme annualisée. Par soucis
d’adéquation dans nos calculs, par exemple pour le ratio de Sharpe, nous avons pris les taux
annualisés correspondant à la période sélectionnée par l’utilisateur.
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. Néanmoins, les macros principales sont expliquées de manière précise.
Page 22 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
5. Exemple
Nous avons choisi pour notre exemple, l’action Nestlé, durant la période du 31 décembre
2005 au 29 décembre 2006. Nous pouvons constater que l’action Nestlé à un ratio de Sharpe
positif ce qui signifie que compte tenu des risques pris c’est un meilleur investissement que
des obligations de la confédération. Cependant, par rapport à l’indice SMI, son ratio de
Sharpe est inférieur. On peut voir que si l’action avait eu la même volatilité que le SMI soit
9.25, son rendement n’aurait é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 très bien le fait que
le SMI a un rendement-risque nettement meilleur à l’action Nestlé durant cette période.
Page 23 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
6. Conclusion
En conclusion, nous pouvons avouer que la complicité du travail dépassait ce à quoi nous
nous attendions. Néanmoins nous nous sommes beaucoup basés sur des ouvrages consacrés à
VBA et sur des échanges d’opinions sur des forums de discussion consacrés au programme.
En réalisant notre travail nous nous sommes rendus compte de la puissance d’un tel outil.
Malgré sa difficulté de manipulation, nous pensons qu’une bonne maîtrise de VBA est
susceptible de bien aider les risk managers et autres personnes de la profession. Néanmoins, la
réalisation d’un tel travail ne fait pas de nous des « professionnels » de VBA, loin de là,
l’effort à fournir et la concentration nécessaire à la compréhension de la mise en place d’un tel
travail dépasse bon nombre de nos projets respectifs.
De ce travail de projet, nous tirons donc un enrichissement personnel et nous pensons même
l’utiliser à titre personnel. En effet, l’utilisation de cet outil s’avère très pratique et nous
indique des informations qui ne sont pas toujours accessibles.
Page 24 sur 25
Céline GIRARD
Finance & Risk Management
Sébastien FARDEL
7. Sources:
1. Ouvrages :
Livre, « Financial Modeling », Simon Benninga, 2nd édition, MIT Press
2. Utilisations de formules mathématiques :
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 boursières :
http://www.snb.ch/d/index3.html
http://www.swx.com/index.html
Page 25 sur 25
Téléchargement