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.
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`.
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é !
filename &ff zip "&fn";
data &outData;
infile &ff(F-F_Research_Data_Factors_daily.CSV) delimiter = ',' MISSOVER DSD lrecl=32767 firstobs=1 ;
informat Date yymmdd8.;
informat Mkt_RF best32. ;
informat SMB best32. ;
informat HML best32. ;
informat RF best32. ;
format Date date9. ;
format Mkt_RF best12. ;
format SMB best12. ;
format HML best12. ;
format RF best12. ;
input
Date
Mkt_RF
SMB
HML
RF
;
if ^missing(date);
array vars[4] Mkt_RF
SMB
HML
RF;
do i=1 to 4;
vars[i] = vars[i]/100;
end;
drop i;
run;
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é !
filename &rsp clear;
filename &ff clear;
%mend;
1
filename &rsp clear;
2
filename &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.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.