libname exo 'Z:\Econometrie appliquee\donnees'; /* ****************************************************************** */ /* chapit 07 - ESTIMATION ET VALIDATION SUR LES SOCIETES DU CAC 40 */ /* ****************************************************************** */ * ---------------------------------------------------------------------- ; * Cac : valeur de l'indice CAC40 en points ; * cacpi : série de price index de la série de CAC40 ; * cacri : série de return index de la série de CAC40 ; * pib1m : taux de placement sans risque (taux PIBOR à un mois) ; * bnp : valeur du titre en euro de la BNP ; * bnppi : série de price index de la série de la BNP ; * bnpri : série de return index de la série de la BNP ; * peu : valeur du titre en euro de Peugeot ; * peupi : série de price index de la série de Peugeot ; * peuri : série de return index de la série de Peugeot ; * car : valeur du titre en euro de Carrefour ; * carpi : série de price index de la série de Carrefour ; * carri : série de return index de la série de Carrefour ; * fra : valeur du titre en euro de France Telecom ; * frapi : série de price index de la série de France Telecom ; * frari : série de return index de la série de France Telecom ; * cap : valeur du titre en euro de Cap Gemini ; * cappi : série de price index de la série de Cap Gemini ; * capri : série de return index de la série de Cap Gemini ; * elf : valeur du titre en euro de ELF ; * elfpi : série de price index de la série de ELF ; * elfri : série de return index de la série de ELF ; * can : valeur du titre en euro de Canal+ ; * canpi : série de price index de la série de Canal+ ; * canri : série de return index de la série de Canal+ ; * ---------------------------------------------------------------------- ; libname exo 'Z:\Econometrie appliquee\donnees'; ods pdf file="Z:\Econometrie appliquee\Resultats\chapitre07.pdf"; title; * -------------------------------------------------- ; * Problème n°7.1 : Estimation par la méthode des MCO ; * -------------------------------------------------- ; * Point 1a : visualisation des séries brutes ; * ------------------------------------------ ; data chapit7; set exo.chapit07; hebdo = intnx('week','31dec1989'd, _n_-1); format hebdo ddmmyy.; t=_n_; r = pib1m/52; run; goption reset=global; title height=2 'Evolution indice CAC40'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=('Indice') order=(1400 to 4900 by 500) width=1 value=(h=1); axis2 label=('Temps') order=('31dec1989'd to '31aug1999'd by 182.5) value=(h=1); proc gplot data=chapit7; symbol value=none i=join color=blue; plot cac*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1; format hebdo year2.; run; quit; goption reset=global; title height=2 'Evolution du taux sans risque'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(0.04 to 0.28 by 0.04) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=chapit7; symbol value=none i=join color=blue; plot r*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1; format hebdo year2.; run; quit; goption reset=global; title height=2 'Evolution du price Index : Carrefour, Elf et Peugeot'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(0 to 7000 by 1000) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=chapit7; symbol1 value=none i=join color=black; symbol2 value=none i=join color=red; symbol3 value=none i=join color=green; plot (carpi elfpi peupi)*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1; format hebdo year2.; run; quit; goption reset=global; title height=2 'Evolution du return Index : Carrefour, Elf et Peugeot'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(0 to 20000 by 2500) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=chapit7; symbol1 value=none i=join color=black; symbol2 value=none i=join color=red; symbol3 value=none i=join color=green; plot (carri elfri peuri)*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1; format hebdo year2.; run; quit; goption reset=global; title height=2 'Evolution du price Index : Cap Gemini, France Telecom, BNP et Canal+'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(0 to 350 by 25) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=chapit7; symbol1 value=none i=join color=black; symbol2 value=none i=join color=red; symbol3 value=none i=join color=green; symbol4 value=none i=join color=blue; plot (cappi frapi bnppi canpi)*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1; format hebdo year2.; run; quit; goption reset=global; title height=2 'Evolution du return Index : Cap Gemini, France Telecom, BNP et Canal+'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(0 to 1000 by 50) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=chapit7; symbol1 value=none i=join color=black; symbol2 value=none i=join color=red; symbol3 value=none i=join color=green; symbol4 value=none i=join color=blue; plot (capri frari bnpri canri)*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1; format hebdo year2.; run; quit; * Point 1b : graphe des excès de rendement des sociétés versus le marché ; * ---------------------------------------------------------------------- ; data chapit7; set chapit7; rcac = ((cacri-lag1(cacri))/lag1(cacri))*100; rbnp = ((bnpri-lag1(bnpri))/lag1(bnpri))*100; rcan = ((canri-lag1(canri))/lag1(canri))*100; rcap = ((capri-lag1(capri))/lag1(capri))*100; rcar = ((carri-lag1(carri))/lag1(carri))*100; relf = ((elfri-lag1(elfri))/lag1(elfri))*100; rfra = ((frari-lag1(frari))/lag1(frari))*100; rpeu = ((peuri-lag1(peuri))/lag1(peuri))*100; ecac = rcac - r; ebnp = rbnp - r; ecan = rcan - r; ecap = rcap - r; ecar = rcar - r; eelf = relf - r; efra = rfra - r; epeu = rpeu - r; run; * Représentation graphique des excès de rendements de CANAL+ et ELF ; * avec les excès de rendement du marché ; * ----------------------------------------------------------------- ; goption reset=global; title height=2 'Comparaison des exces de rendement CAC40 et Elf'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(-15 to 15 by 5) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=chapit7; symbol1 value=none i=join c=red; symbol2 value=none i=join c=blue; plot (ecac eelf)*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1 ; format hebdo year2.; run; quit; goption reset=global; title height=2 'Comparaison des exces de rendement CAC40 et Canal+'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(-20 to 15 by 5) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=chapit7; symbol1 value=none i=join c=red; symbol2 value=none i=join c=blue; plot (ecac ecan)*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1; format hebdo year2.; run; quit; * Point 2 : estimation par les MCO ; * -------------------------------- ; * BNP ; * --- ; proc reg data=chapit7 ; model ebnp = ecac ; output out=bnp p=phatbnp r=resbnp; run; quit; goption reset=global; title height=2 'Residus BNP'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(-12 to 12 by 4) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=bnp; symbol1 value=none i=join c=blue; plot resbnp*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1 vref=0; format hebdo year2.; run; quit; * CANAL+ ; * ------ ; title ' '; proc reg data=chapit7 ; model ecan = ecac ; output out=canal p=phatcan r=rescan; run; quit; goption reset=global; title height=2 'Residus CANAL+'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(-15 to 15 by 5) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=canal; symbol1 value=none i=join c=blue; plot rescan*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1 vref=0; format hebdo year2.; run; quit; * CAP GEMINI ; * ---------- ; proc reg data=chapit7 ; model ecap = ecac ; output out=cap p=phatcap r=rescap; run; quit; goption reset=global; title height=2 'Residus CAP GEMINI'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(-12 to 16 by 4) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=cap; symbol1 value=none i=join c=blue; plot rescap*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1 vref=0; format hebdo year2.; run; quit; * CARREFOUR ; * --------- ; proc reg data=chapit7 ; model ecar = ecac ; output out=car p=phatcar r=rescar; run; quit; goption reset=global; title height=2 'Residus CARREFOUR'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(-10 to 12.5 by 2.5) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=car; symbol1 value=none i=join c=blue; plot rescar*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1 vref=0; format hebdo year2.; run; quit; * ELF ; * --- ; proc reg data=chapit7 ; model eelf = ecac ; output out=elf p=phatelf r=reself; run; quit; goption reset=global; title height=2 'Residus ELFR'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(-10 to 15 by 5) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=elf; symbol1 value=none i=join c=blue; plot reself*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1 vref=0; format hebdo year2.; run; quit; * FRANCE TELECOM ; * -------------- ; proc reg data=chapit7 ; model efra = ecac ; output out=fra p=phatfra r=resfra; run; quit; goption reset=global; title height=2 'Residus FRANCE TELECOM'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(-10 to 10 by 2.5) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=fra; symbol1 value=none i=join c=blue; plot resfra*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1 vref=0; format hebdo year2.; run; quit; * PEUGEOT ; * ------- ; proc reg data=chapit7 ; model epeu = ecac ; output out=peu p=phatpeu r=respeu; run; quit; goption reset=global; title height=2 'Residus PEUGEOT'; legend1 frame across=1 mode=protect position=(top left) offset=(3 cm, -1.5 cm); axis1 label=none order=(-10 to 10 by 2.5) width=1 value=(h=1); axis2 label=none order=('31dec1989'd to '31aug1999'd by 182.5) width=1 value=(h=1); proc gplot data=peu; symbol1 value=none i=join c=blue; plot respeu*hebdo / overlay legend=legend1 haxis=axis2 vaxis=axis1 vref=0; format hebdo year2.; run; quit; * -------------------------------------------------------- ; * Problème n°7.2 : Test et correction de l'autocorrélation ; * -------------------------------------------------------- ; * Point 1 : test de l'autocorrélation d'ordre 1 des résidus ; * --------------------------------------------------------- ; proc autoreg data=chapit7; model ebnp = ecac / dwprob ; run; proc autoreg data=chapit7; model ecan = ecac / dwprob ; run; proc autoreg data=chapit7; model ecap = ecac / dwprob ; run; proc autoreg data=chapit7; model ecar = ecac /dwprob ; run; proc autoreg data=chapit7; model eelf = ecac / dwprob ; run; proc autoreg data=chapit7; model efra = ecac / dwprob ; run; proc autoreg data=chapit7; model epeu = ecac / dwprob ; run; * Correction éventuelle de l'autocorrélation des résidus ; * en fixant à 1 le nombre maximum de retards ; * -------------------------------------------------------; proc autoreg data=chapit7; model ebnp = ecac / nlag=1 backstep method=uls; run; proc model data=chapit7 dwprob; parms a b; ebnp = a + b * ecac; %ar(ebnp,1); fit ebnp; run; quit; proc autoreg data=chapit7; model ecan = ecac / nlag=1 backstep method=uls; run; proc model data=chapit7 dwprob; parms a b; ecan = a + b * ecac; %ar(ecan,1); fit ecan; run; quit; proc autoreg data=chapit7; model ecap = ecac / nlag=1 backstep method=uls; run; proc model data=chapit7 dwprob; parms a b; ecap = a + b * ecac; %ar(ecap,1); fit ecap; run; quit; proc autoreg data=chapit7; model ecar = ecac / nlag=1 backstep method=uls; run; proc model data=chapit7 dwprob; parms a b; ecar = a + b * ecac; %ar(ecar,1); fit ecar; run; quit; proc autoreg data=chapit7; model eelf = ecac / nlag=1 backstep method=uls; run; proc model data=chapit7 dwprob; parms a b; eelf = a + b * ecac; %ar(eelf,1); fit eelf; run; quit; proc autoreg data=chapit7; model efra = ecac / nlag=1 backstep method=uls; run; proc model data=chapit7 dwprob; parms a b; efra = a + b * ecac; %ar(efra,1); fit efra; run; quit; proc autoreg data=chapit7; model epeu = ecac / nlag=1 backstep method=uls; run; proc model data=chapit7 dwprob; parms a b; epeu = a + b * ecac; %ar(epeu,1); fit epeu; run; quit; * ------------------------------------------- ; * Problème n°7.3 : Test sur les coefficients ; * ------------------------------------------- ; * Point 1 : test de significativité des paramètres de la régression pour ; * les 7 titres ==> cf. résultats du problème 7.2 ; * ---------------------------------------------------------------------- ; * Point 2 : test d'égalité à 1 du coefficient du régresseur "ecac" pour ; * les 7 titres ; * ---------------------------------------------------------------------- ; proc autoreg data=chapit7; model ebnp = ecac / nlag=1 backstep ; test ecac = 1; run; proc autoreg data=chapit7; model ecan = ecac / nlag=1 backstep ; test ecac = 1; run; proc autoreg data=chapit7; model ecap = ecac / nlag=1 backstep ; test ecac = 1; run; proc autoreg data=chapit7; model ecar = ecac / nlag=1 backstep ; test ecac = 1; run; proc autoreg data=chapit7; model eelf = ecac / nlag=1 backstep ; test ecac = 1; run; proc autoreg data=chapit7; model efra = ecac / nlag=1 backstep ; test ecac = 1; run; proc autoreg data=chapit7; model epeu = ecac / nlag=1 backstep ; test ecac = 1; run; ods pdf close;