DISPLAY '*******************************************************' DISPLAY 'LA VALORISATION DES MARCHES ACTIONS' DISPLAY '*******************************************************' CALENDAR 1980 1 12 *précise la fréquence des données et l'année de départ *données mensuelles, départ 1980 premier mois ALLOCATE 2000:12 *précise la date de la dernière entrée OPEN DATA chapitre16.xls *ouverture du fichier de données DATA(FORMAT=XLS,ORG=COLS) *description du fichier de données PRINT / *impression de toutes les séries du fichier ******************************************************* * Intitulé des séries * ******************************************************* /* t3m_us = taux d'intérêt des USA à trois mois t3m_fr = taux d'intérêt de la France à trois mois t10y_us = taux d'intérêt des USA à dix ans t10y_fr = taux d'intérêt de la France à dix ans pi_fr = valeur de l'indice des prix en points (Price Index) pour la France pe_fr = multiple de capitalisation associé à l'indice (Price Earning) pour la France pi_us = valeur de l'indice des prix en points (Price Index) pour les USA pe_us = multiple de capitalisation associé à l'indice (Price Earning) pour les USA */ SET ey_us =1/pe_us*100 *création de la variable ey_us *ey_us = earning yield pour les USA SET ey_fr =1/pe_fr*100 *ey_fr = earning yield pour la France GRAPH(HEADER='Etats-Unis',SUBHEADER="Earning Yield et taux d'intérêt",KEY=upr) 3 # ey_us # t3m_us # t10y_us GRAPH(HEADER='France',SUBHEADER='Earning Yield et taux d intérêt',KEY=upr) 3 # ey_fr # t3m_fr # t10y_fr DISPLAY '*******************************************************' DISPLAY 'Problème n°1 : Tests de stationnarité' DISPLAY '*******************************************************' DISPLAY 'QUESTION 1' DIFFERENCE t3m_us / dt3m_us *calcule la différence entre deux valeurs consécutives de la série *t3m_us et la nouvelle série ainsi obtenue s'appelle dt3m_us DIFFERENCE t10y_us / dt10y_us DIFFERENCE ey_us / dey_us SOURCE(noecho) lagselec.src *utilisation de la procédure lagselec.src , l'option noecho = ne pas imprimer la procédure *détermine le nombre de retards à introduire pour effectuer les tests ADF DOFOR series = t3m_us t10y_us ey_us *réalise l'action pour chacune des séries sélectionnées DISPLAY %LABEL([series] series) *permet d'afficher sur l'output le label de la série 'series' @LAGSELECT(MAXLAG=8,SCLAGS=18,DET=constant,SIGNIF=.05) series *mise en place de la procédure lagselect END DO SOURCE(NOECHO) urauto.src *utilisation de la procédure urauto.src pour effectuer les tests ADF @URAUTO(LAG=7) t3m_us @URAUTO(LAG=1) t10y_us @URAUTO(LAG=1) ey_us @URAUTO(LAG=7) dt3m_us @URAUTO(LAG=1) dt10y_us @URAUTO(LAG=1) dey_us *mise en place de la procédure urauto - tests ADF /* ***on peut retrouver les résultats de la procédure urauto en procédant aux estimations suivantes :***' SET temps = t *INREG dt3m_us # constant temps t3m_us{1} dt3m_us{1 TO 7} *estimation par les mco (dt3m_us {1 TO 7} signifie que parmi les *régresseurs figurent les 7 variables décalées de la variable dtm3_us) LINREG dt3m_us # constant t3m_us{1} dt3m_us{1 TO 7} LINREG dt3m_us # t3m_us{1} dt3m_us{1 TO 7} DIFFERENCE dt3m_us / d2t3m_us LINREG d2t3m_us # constant dt3m_us{1} d2t3m_us{1 to 7} LINREG d2t3m_us # dt3m_us{1} d2t3m_us{1 TO 7} */ DISPLAY 'QUESTION 2' SET lpi_us = log(pi_us) DIFFERENCE lpi_us / dlpi_us @LAGSELECT(MAXLAG=8,SCLAGS=18,DET=constant,SIGNIF=.05) lpi_us *on retient un décalage @URAUTO(LAG=1) lpi_us @URAUTO(LAG=1) dlpi_us *mise en place de la procédure urauto sur les indices de prix DISPLAY '*******************************************************' DISPLAY 'Problème n°2 : estimation de la relation de cointégration' DISPLAY '*******************************************************' DISPLAY 'QUESTION 1 (Estimation MCO)' LINREG ey_us / res_us # constant t3m_us t10y_us *on sauvegarde la série de résidus que l'on va nommer res_us PRJ eylt_us *calcul des valeurs estimées de ey_us, la série de ces valeurs *est appelée eylt DISPLAY 'QUESTION 2 (test de stationarité sur les résidus' @LAGSELECT(MAXLAG=8,SCLAGS=18,DET=constant,SIGNIF=.05) res_us *mise en place de la procédure lagselect sur le résidu res_us SET temps = t DIFFERENCE res_us / dres_us LINREG dres_us # constant res_us{1} dres_us{1} *test si la série des résidus est stationnaire, valeurs critiques du test à 5% et 1% sont -3.77 et -4.31 DISPLAY 'QUESTION 3 (Estimation des MCE)' LINREG dey_us # constant dt3m_us dt10y_us res_us{1} LINREG dt3m_us # constant dey_us dt10y_us res_us{1} LINREG dt10y_us # constant dey_us t3m_us res_us{1} DISPLAY '*******************************************************' DISPLAY 'Problème n°3 : Indicateurs de valorisation, niveaux' DISPLAY 'théoriques de l"indice et degré de surévaluation' DISPLAY '*******************************************************' DISPLAY 'QUESTION 1 (indicateur de valorisation)' SET inf_us = -1 SET sup_us = 1 *intervalle de confiance à 65% *inf_us = borne inférieure de l'évolution de l'indicateur de valorisation *sup_us = borne supérieure de l'évolution de l'indicateur de valorisation LINREG(NOPRINT) ey_us / res_us # constant t3m_us t10y_us SET iv_us = res_us / sqrt(%SEESQ) *iv_us = indicateur de valorisation des USA GRAPH(HEADER='Etats-Unis',SUBHEADER='indicateur de valorisation') 3 # iv_us # inf_us # sup_us DISPLAY 'QUESTION 2 (niveau théorique de l"indice de valorisation)' SET e_us = pi_us/pe_us *calcul des bénéfices SET pilt_us = 100*e_us / eylt_us *pilt_us = price index de long terme théorique SET pinf_us = 100*e_us / (eylt_us + sqrt(%SEESQ)) SET psup_us = 100*e_us / (eylt_us - sqrt(%SEESQ)) *encadrement de l'indice théorique de valorisation *pinf_us = price index théorique minimum *psup_us = price index théorique maximum GRAPH(HEADER='Price index de long terme théorique',KEY=upl) 3 # pilt_us # pinf_us # psup_us GRAPH(HEADER='Price index et niveau théorique',KEY=upl) 2 # pi_us # pilt_us DISPLAY 'QUESTION 3 (degré de surévaluation de l"indice boursier)' SET d_us = 100*(pi_us - pilt_us)/pilt_us *d_us = degré de surévaluation des USA GRAPH(HEADER='Degré de surévaluation') 1 # d_us