Publié le :
ETL EXTERNE

Téléchargement des facteurs Fama-French 3

Ce code est également disponible en : Deutsch English Español
En attente de validation
Cette macro, `download_ff3`, est conçue pour automatiser le processus de téléchargement et de préparation des données des facteurs Fama-French 3. Elle utilise `PROC HTTP` pour récupérer un fichier ZIP contenant les données quotidiennes depuis l'URL spécifiée. Ensuite, un `DATA STEP` lit le fichier CSV contenu dans le ZIP, applique les formats et informats appropriés, divise les valeurs des facteurs (Mkt_RF, SMB, HML, RF) par 100 pour les exprimer en pourcentages, et crée un jeu de données SAS© de sortie. Les filerefs temporaires sont ensuite libérées.
Analyse des données

Type : EXTERNE


Les données sont téléchargées depuis une URL externe : 'http://mba.tuck.dartmouth.edu/pages/faculty/ken.french/ftp/F-F_Research_Data_Factors_daily_CSV.zip'. Elles sont ensuite traitées et stockées dans un jeu de données SAS interne.

1 Bloc de code
MACRO DÉFINITION
Explication :
Définit la macro `download_ff3` avec un paramètre `outData` pour spécifier le nom du jeu de données de sortie (par défaut 'ff3'). Déclare des variables locales `fn`, `rsp`, `ff` et leur assigne des noms de fichiers uniques aléatoires pour les filerefs temporaires utilisées pour le téléchargement et l'accès au ZIP.
Copié !
1%macro download_ff3(outData=ff3);
2
3%local fn rsp ff;
4 
5%let fn = %ranname()._zip;
6%let rsp = %ranname();
7%let ff = %ranname();
2 Bloc de code
PROC HTTP
Explication :
Assigne un fileref (`&rsp`) au nom de fichier temporaire (`&fn`) pour le fichier ZIP téléchargé. `PROC HTTP` est ensuite utilisée pour effectuer une requête GET à l'URL spécifiée et télécharger le contenu (le fichier ZIP) dans le fichier associé au fileref `&rsp`.
Copié !
1filename &rsp "&fn";
2 
3PROC HTTP method="GET"
4 url="http://mba.tuck.dartmouth.edu/pages/faculty/ken.french/ftp/F-F_Research_Data_Factors_daily_CSV.zip"
5 out=&rsp;
6QUIT;
3 Bloc de code
DATA STEP Data
Explication :
Assigne un fileref (`&ff`) au fichier ZIP téléchargé pour y accéder comme à une bibliothèque ZIP. Un `DATA STEP` est initié pour créer le jeu de données spécifié par `&outData`. L'instruction `INFILE` lit le fichier CSV 'F-F_Research_Data_Factors_daily.CSV' à l'intérieur du ZIP, en utilisant la virgule comme délimiteur, en gérant les valeurs manquantes et en lisant à partir de la première ligne. Les informats sont définis pour les variables de date et numériques. Les variables sont lues, et une condition `if ^missing(date)` filtre les enregistrements avec une date manquante. Une boucle `ARRAY` est utilisée pour diviser par 100 les quatre variables de facteurs (Mkt_RF, SMB, HML, RF) afin de les convertir en pourcentages. La variable d'itération `i` est ensuite supprimée.
Copié !
1filename &ff zip "&fn";
2 
3DATA &outData;
4INFILE &ff(F-F_Research_Data_Factors_daily.CSV) delimiter = ',' MISSOVER DSD lrecl=32767 firstobs=1 ;
5 informat Date yymmdd8.;
6 informat Mkt_RF best32. ;
7 informat SMB best32. ;
8 informat HML best32. ;
9 informat RF best32. ;
10 FORMAT Date date9. ;
11 FORMAT Mkt_RF best12. ;
12 FORMAT SMB best12. ;
13 FORMAT HML best12. ;
14 FORMAT RF best12. ;
15INPUT
16 Date
17 Mkt_RF
18 SMB
19 HML
20 RF
21;
22 
23IF ^missing(date);
24 
25array vars[4] Mkt_RF
26 SMB
27 HML
28 RF;
29DO i=1 to 4;
30 vars[i] = vars[i]/100;
31END;
32drop i;
33 
34RUN;
4 Bloc de code
NETTOYAGE
Explication :
Libère les filerefs `&rsp` et `&ff` qui ont été utilisées pour les fichiers temporaires, assurant un nettoyage des ressources. `%mend` marque la fin de la définition de la macro.
Copié !
1filename &rsp clear;
2filename &ff clear;
3%mend;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright (c) 2015 by The Financial Risk Group, Cary, NC, USA.