Sujet Investir selon Markowitz



Documents pareils
Le CAC 40, parité, diversité : Synthèse de l enquête de République & Diversité, en partenariat avec le CRAN

Présentation de la «Preuve d impôt» - IAS12 Quel est le format publié par les sociétés du CAC 40 dans leurs comptes consolidés en 2012?

CONDITIONS DEFINITIVES EN DATE DU 05 MAI 2008 CONCERNANT DES BONS D'OPTION WARRANTS SUR ACTIONS ET INDICE AVEC REGLEMENT EN ESPECES

CAC 40 : LES ENTREPRISES FEMINISEES

Application 1- VBA : Test de comportements d'investissements

Profil Financier du CAC 40

LIRE LA COTE BOURSIÈRE RE ET COMPRENDRE LES INDICES BOURSIERS

XL INVESTING TOOLS (XLIT)

Opérations de croissance externe des sociétés du CAC 40

LES ACTIONNAIRES INDIVIDUELS RESTENT CONFIANTS EN 2012!

Liste des sociétés assujetties à la Taxe sur les Transactions Financières (TTF) pour l'année fiscale Multiple issuers

La réputation des entreprises se joue-t-elle sur les réseaux sociaux?

Information sectorielle : la transition d IAS 14 à IFRS 8 en France et en Allemagne

FR AIR FRANCE-KLM Action ordinaire FR VIRBAC Action ordinaire FR VICAT Action ordinaire FR ALTAREA Action de

Travail de projet sur VBA

Universum French Student Survey 2008

COVEA SECURITE SICAV de droit français Monétaire court terme

RAPPORT 2006 : CHAPITRE II

Les fonds souverains dans le capital d une entreprise internationale, enjeux et perspectives

PORTAGE SALARIAL PROCÉDURE RESPONSABILITÉ CIVILE PROFESSIONNELLE GARANTIE DES SALAIRES ASSURANCE RAPATRIEMENT LÉGISLATION RÉFÉRENCES

LES ENTREPRISES DU CAC 40 ET LE SOCIAL BUSINESS

TUTORIAL REUTERS. Utilisation de l'utilitaire de recherche Reuters

Programmation Objet - Cours II

LibreOffice Calc : introduction aux tableaux croisés dynamiques

TD3 - Facturation avec archivage automatisé

Excel. Identification. Informations sur vos besoins et objectifs. Notions fondamentales. Fiche de validation des besoins en formation Bureautique

LE TABLEUR OPENOFFICE CALC : CONTRÔLES DE FORMULAIRES ACCÈS AUX BASES DE DONNÉES

Se Perfectionner à Excel

Note de cours. Introduction à Excel 2007

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

Le générateur d'activités

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Les experts du changement comportemental

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

22 bonnes pratiques pour améliorer durablement votre rapport annuel

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

10 TRUCS ET ASTUCES DOSSIER. pour bien investir sur les Produits de Bourse LE MAGAZINE DES PRODUITS DE BOURSE COMMERZBANK

RÉALISATION DE GRAPHIQUES AVEC OPENOFFICE.ORG 2.3

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. Version EXOCA 1

Parcours FOAD Formation EXCEL 2010

Exercice : la frontière des portefeuilles optimaux sans actif certain

claroline classroom online

PORTAGE SALARIAL PROCÉDURE CONTRAT DE TRAVAIL FRAIS PROFESSIONNELS AUTRES AVANTAGES OFFRES DE MISSIONS RESPONSABILITÉ CIVILE PROFESSIONNELLE

UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE»

Des résultats semestriels sous haute surveillance

Fiche Pratique. Présentation du problème. Installation du logiciel. Etape 1. MAJ le 17/10/2011

CORRIGES DES CAS TRANSVERSAUX. Corrigés des cas : Emprunts

Leverage & Short. Leverage & Short

Le Logiciel de Facturation ultra simplifié spécial Auto-Entrepreneur

Optez pour la liberté d entreprendre en toute sérénité

CAP BOX Note utilisateurs

Le module Supply Chain pour un fonctionnement en réseau

IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES

FORMATION EXCEL NIVEAU 2

Formation VBA 3 Interagir

Tutoriel - flux de facturation

Edutab. gestion centralisée de tablettes Android

EN PRIVÉ La psychologie du Trading LE MAGAZINE DES PRODUITS DE BOURSE COMMERZBANK

Guide de configuration de SQL Server pour BusinessObjects Planning

Cyberclasse L'interface web pas à pas

Suivi de la formation

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

Sponsor de la conférence annuelle. Association des Anciens Mastère Spécialisé MSIT

YAPBA M. Logiciel libre de suivi de vos comptes

Introduction. Première connexion

PROGRAMMATION EVENEMENTIELLE sur EXCEL

Utilitaires méconnus de StrataFrame

Excel 2007 Niveau 3 Page 1

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Documentation Cobian

Logiciels concernés. Situation. Ciel et le pont comptable. Note conçue et rédigée par Jalons sprl tous droits réservés - 27/06/2007.

Comment créer et utiliser une fonction

Assistance à distance sous Windows

CATALOGUE DES FORMATIONS

CALC2QIF Conversion de données OpenOffice au format QIF

RAPPORT SEMESTRIEL. ACER ACTIONS S1 au Acer Finance Société de Gestion agrément AMF n GP-95009

strike La 1 re compétition de trading réel Trading Masters 2013

TAGREROUT Seyf Allah TMRIM

Table des matières. l a r c i e r

Programme détaillé. LES TABLEAUX DE BORD Formation en présentiel (21 h) accompagnée d un parcours e-learning Excel (5 h)

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. - media-2001.communication &.

PROSPECTUS SIMPLIFIE

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

PRÉSENTÉ PAR : NOVEMBRE 2007

Le meilleur de l'open source dans votre cyber cafe

TABLEAU CROISE DYNAMIQUE

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

LES ACCES ODBC AVEC LE SYSTEME SAS

Ineum Consulting. Pourquoi le PLM. Soirée Innovation industrielle «Usage des TIC en mode collaboratif & Industrie» Frédéric Morizot.

1 ) L élaboration des factures, des bordereaux de livraison et des factures proforma.

Utiliser des fonctions complexes

Transcription:

Sujet Investir selon Markowitz On veut introduire un logiciel qui teste un comportement d'investissement à la Markowitz. Pour préciser, on veut savoir si un acteur qui investit en reconfigurant périodiquement son portefeuille en tentant de se rapprocher des pondérations optimales indiquées par Markowitz va être ou non performant. Les deux parties principales sont les parties E2 et E3. Elles sont à traiter. Les parties E1 et E4 sont des parties optionnelles qui peuvent permettre d'optimiser la note. Les 4 étapes du programmes : E1 : récupération de quelques titres E2 : détermination du comportement d'investissement qui suit Markowitz E3 : création d'une interface de test E4 : benchmark de la stratégie Markowitz On demande, pour chaque question, de rédiger un minimum pour expliquer comment a été résolue la question. E1 : récupération de quelques titres qui sont sur la frontière optimale E1 : Sélection des titres et préparation des données. On organise une recherche au sein des titres du CAC 40. On a récupéré la liste des titres du CAC : cf le classeur et les deux variables globales. On veut, sur une période donnée, ne retenir que les titres qui sont sur la frontière efficiente. 1- Créer un répertoire sur le disque dur : ProjetVBA. Dans ce répertoire, on mettra les différents projets relevant du projet. Le chemin permettant d'accéder à ce répertoire est gérer comme une constante globale de type string. Ce sera une instruction du type : Const chemin As String = "E:\Documents and Settings\Dorat\Bureau\ProjetVBA\" Cette instruction est bien sûr à adapter en fonction du répertoire de destination effectivement choisi. 2- On considère l'instruction suivante (à écrire sur une seule ligne) : Workbooks.Open "http://ichart.finance.yahoo.com/table.csv? s=aca.pa&a=00&b=1&c=2005&d=10&e=31&f=2011&g=d&ignore=.csv" Après l'avoir testée, expliquer ce que produit cette instruction? Expliquez éventuellement cette instruction. 3- On peut modifier l'instruction proposée à la question précédente. On se contentera de changer le code du cours dans ce qui suit. Dans l'instruction précédente, le code du cours est ACA.PA. Il suffit de mettre à la place le code du cours désiré et d'exécuter l'instruction pour télécharger le cours. On demande de mettre en place l'ensemble des instructions pour télécharger le cours pour un code donné et mettre en forme les données, de manière à les obtenir sous forme de données date et numérique et d'avoir les données dans l'ordre chronologique. 1/8

4- On donne l'ensemble des codes pour les cours du CAC40 (dont on a retiré des titres côtés depuis une période récente) Option Explicit Dim codes(1 To 40) As String, noms(1 To 40) As String Sub remplissagetableauxcodes() codes(1) = "AC.PA" codes(2) = "ACA.PA" codes(3) = "AI.PA" codes(4) = "ALO.PA" codes(5) = "ALU.PA" codes(6) = "BN.PA" codes(7) = "BNP.PA" codes(8) = "CA.PA" codes(9) = "CAP.PA" codes(10) = "CS.PA" codes(11) = "DG.PA" codes(12) = "EAD.PA" codes(13) = "EDF.PA" codes(14) = "EI.PA" codes(15) = "EN.PA" codes(16) = "FP.PA" codes(17) = "FTE.PA" codes(18) = "GLE.PA" codes(19) = "GSZ.PA" codes(20) = "KN.PA" codes(21) = "LG.PA" codes(22) = "MC.PA" codes(23) = "ML.PA" codes(24) = "MT.PA" codes(25) = "OR.PA" codes(26) = "PP.PA" codes(27) = "PUB.PA" codes(28) = "RI.PA" codes(29) = "RNO.PA" codes(30) = "SAN.PA" codes(31) = "SEV.PA" codes(32) = "SGO.PA" codes(33) = "STM.PA" codes(34) = "SU.PA" codes(35) = "TEC.PA" codes(36) = "UG.PA" codes(37) = "UL.PA" codes(38) = "VIE.PA" codes(39) = "VIV.PA" codes(40) = "VK.PA" noms(1) = "ACCOR" 2/8

noms(2) = "CREDIT AGRICOLE" noms(3) = "AIR LIQUIDE" noms(4) = "ALSTOM" noms(5) = "ALCATEL-LUCENT" noms(6) = "DANONE" noms(7) = "BNP PARIBAS" noms(8) = "CARREFOUR" noms(9) = "CAP GEMINI" noms(10) = "AXA" noms(11) = "VINCI " noms(12) = "EADS" noms(13) = "EDF" noms(14) = "ESSILOR INTL" noms(15) = "BOUYGUES" noms(16) = "TOTAL" noms(17) = "FRANCE TELECOM" noms(18) = "STE GENERALE-A-" noms(19) = "GDF SUEZ" noms(20) = "NATIXIS" noms(21) = "LAFARGE" noms(22) = "LVMH" noms(23) = "MICHELIN" noms(24) = "ARCELORMITTAL REG" noms(25) = "L'OREAL" noms(26) = "PPR" noms(27) = "PUBLICIS GROUPE" noms(28) = "PERNOD RICARD" noms(29) = "RENAULT" noms(30) = "SANOFI" noms(31) = "SUEZ ENV. CPY" noms(32) = "SAINT GOBAIN" noms(33) = "STMICROELECTRONICS " noms(34) = "SCHNEIDER ELECTRIC" noms(35) = "TECHNIP" noms(36) = "PEUGEOT" noms(37) = "UNIBAIL-RODAMCO" noms(38) = "VEOLIA ENVIRONN." noms(39) = "VIVENDI" noms(40) = "VALLOUREC" End Sub A partir de là et des instructions mises en évidences à la question précédente, on demande de créer une procédure pour télécharger l'ensemble des cours du CAC40 et tous les mettre dans un fichier unique avec une feuille contenant dans sa première colonne les dates de la période retenue (en l'occurence, les cours sont données par semaine sur la période du 01/01/2005 au 31/11/2011) et dans sa deuxième colonne le cours de l'action. A noter qu'on retient le cours de clôture pour chaque titre. Note : columns(i) désigne la collection de cases correspondant à la ième colonne dans un fichier VBA. Note : il faut exécuter la fonction de remplissage des tableaux avant utilisation de ces tableaux. 3/8

5- Question sur le retraitement des données. 6- Si vous avez pu répondre à la question 2), expliquez comment on aurait pu généraliser la procédure pour télécharger tous les cours, mais sur une plage de date définie par l'utilisateur et non plus donnée, et en proposant également à l'utilisateur de choisir la périodicité des cours. E2 : Détermination de la série des portefeuilles Quoiqu'il ait été fait à l'étape E1, on part du fichier Cours.xlsm pour l'étape E2. Ce fichier contient les titres du CAC 40 dont on a ôté les trois titres les plus récemment intégrés à l'indice (ArcelorMital, CapGemini et Suez Env CPY) pour éviter d'avoir des titres seulement côtés sur une partie de la période considérée. Le but est ici de simuler le comportement d'un investisseur qui prendrait sa décision en fonction d'une stratégie Markowitz. 1- On crée une feuille Rdt. Dans cette feuille, on va faire apparaître l'ensemble des rendements correspondant aux cours de la feuille "Cours". On crée une procédure pour compléter l'ensemble des rendements à partir des cours. La feuille Rdt doit être invisible 2- Faire en sorte que la procédure qui permet de déterminer l'ensemble des rendements soit déclenchée lors de l'ouverture du classeur, ou à chaque modification de la feuille Cours (ainsi on s'assure que les rendements soient toujours corrects par rapport aux cours) 3- On demande de créer d'une fonction qui, à partir d'un numéro de colonne (soit la donnée d'un titre) et à partir de la donnée d'un numéro de période N calcul la moyenne des rendements du titre, pour la période 2 à la période N. On recommande d'utiliser la forme suivante pour la fonction : Function rendementmoyen(numtitre As Integer, numperiode As Integer) As Double Cette fonction utilise la feuille dans laquelle sont contenus les rendements. 4- De la même manière, on créer une fonction qui permet de calculer le risque lié à un titre pour une période donnée. De manière classique, le risque est pris comme l'écart type sur la série des rendements. Function ecarttype(numtitre As Integer, numperiode As Integer) As Double 5- On crée une nouvelle feuille Opt. Dans cette feuille, on va chercher le portefeuille optimal pour une période donnée. On crée une procédure qui permet de remplir cette feuille pour une période donnée. Sur cette feuille, on fait apparaître, pour l'ensemble des titres 4/8

leur rendement, leur risque pour la période donnée. On fait également apparaître la matrice de variance-covariance des titres pour cette période. On laissera les 10 premières lignes vides. On peut nommer la procédure qui permet de remplir cette feuille en utilisant les données de la feuille Rdt et les fonctions qui ont été précédemment implémentées : Sub remplissageopt(numperiode As Integer) 6- On crée une procédure d'optimisation pour déterminer le portefeuille optimal à partir des éléments introduits dans la feuille Opt. Dans la feuille Opt, on fait apparaître les pondérations de portefeuille. A noter que la dernière pondération est déterminée comme 1 diminué de la somme des autres pondérations. Pour calculer le risque et le rendement du portefeuille, on peut utiliser les deux fonctions suivantes : Function rendementportefeuille(ponderation As Range, rendementstitres As Range) As Double Dim i As Integer rendementportefeuille = 0 For i = 1 To ponderation.count rendementportefeuille = rendementportefeuille + ponderation(i) * rendementstitres(i) Next End Function Function risqueportefeuille(ponderation As Range, matricevarcov As Range) As Double Dim i As Integer, j As Integer risqueportefeuille = 0 For i = 1 To matricevarcov.columns.count For j = 1 To matricevarcov.rows.count risqueportefeuille = risqueportefeuille + ponderation(i) * ponderation(j) * matricevarcov(i, j) Next Next risqueportefeuille = risqueportefeuille ^ (0.5) End Function Il suffit d'implémenter ces deux fonctions dans deux cases Excel pour avoir le calcul actualisé du risque et de la rentabilité du portefeuille. On fait également apparaître le ration de Sharpe (rendement du portefeuille / risque du portefeuille). La feuille obtenue peut ressembler à cela : 5/8

Soit en affichant les formules : 6/8

7- A partir d'une macro, on utilise le solveur pour déterminer le portefeuille optimal, soit le portefeuille qui maximise le ratio de Sharpe (on recherche le portefeuille optimal en utilisant le solveur et en plaçant des contraintes de manière à ce que les pondérations soient toujours comprises entre 0 et 1, soit qu'il n'y ait pas de vente à découvert). On pourra appeler cette macro Optimisation. On constate qu'au vu du nombre des différentes pondérations, le solveur met un certain temps à résoudre l'optimisation. NB : il faut activer le solveur parmi les objets Excel pour que cette macro puisse ensuite fonctionner. 8- La présente procédure repose sur les procédures créées aux questions 5) et 6) On créer une nouvelle feuille "Marko"qui va contenir la simulation d'une stratégie fondée sur Markowitz que l'on affichera dans une feuille "Marko".. On base cette stratégie sur une certaine échéance : hebdomadaire, mensuelle, annuelle... Ce qui suit dépend de la périodicité retenue, mais on pourrait généraliser au cas de chacune des périodicités. Supposons que l'on retienne une periodicité mensuelle. On simule le comportement suivant : lors de la période 10 (choix arbitraire), on remplit la feuille Opt, en utilisant la procédure de la question 5), puis on trouve le portefeuille optimal pour cette période. On l'affiche dans la feuille "Marko". On passe à la période suivante, la période 40, on fait la même chose etc... On 7/8

obtient la série des portefeuilles retenus. On calcule ce qu'aurait gagné un individu qui à chaque période d'investissement aurait vendu le portefeuille dont il disposait pour acheter le nouveau portefeuille calculé. E3 : Création d'une interface On veut utiliser ce qui a été produit dans la partie E2 pour pouvoir faire des simulations. 1- On crée une interface UserForm qui permet de choisir une périodicité, un niveau de risque et qui permet de faire la simulation correspondante. La périodicité devra être exprimée comme un entier qui correspond au délai avant l'actualisation du portefeuille. Le risque indiqué correspondra au niveau de risque à ne pas dépasser. Ce userform doit également contenir deux boutons : l'un permet de lancer la procédure qui actualise les rendements à partir des cours et l'autre permet de lancer la simulation. Dessiner ce UserForm. 2- Pour le UserForm, il doit être lancé au démarrage du classeur 3- Il faut s'assurer que les champs textes dans lesquels sont introduits la périodicité et le niveau de risque ne contiennent que des valeurs numériques. 4- Pour le niveau de risque, il doit être intégré dans la simulation : il faut que les portefeuilles sélectionnés à chaque période ne dépassent pas le niveau de risque déterminé par l'utilisateur. 5- Faire que le UserForm affiche les résultats de la simulation après qu'elle ait été lancée. Pour cela, faire deux onglets dans le UserForm, une fois que la simulation est lancée, l'onglet de résultats apparaît et indique la progression de la simulation, puis au final, les résultats de la simulation. E4 : benchmark de la stratégie Markowitz On rajoute sur l'interface la possibilité de tester d'autres stratégies (investissement selon la moyenne mobile, investissement au hasard,.). Ces stratégies sont simulées en même temps que la stratégie markowitz. Le logiciel affiche au final quelle est la meilleure stratégie et permet de consulter les différentes stratégies. 8/8