Die Daten werden von einer externen URL heruntergeladen: 'http://mba.tuck.dartmouth.edu/pages/faculty/ken.french/ftp/F-F_Research_Data_Factors_daily_CSV.zip'. Anschließend werden sie verarbeitet und in einem internen SAS-Datensatz gespeichert.
1 Codeblock
MACRO DÉFINITION
Erklärung : Definiert das Makro `download_ff3` mit einem Parameter `outData` zur Angabe des Namens des Ausgabedatensatzes (Standard 'ff3'). Deklariert lokale Variablen `fn`, `rsp`, `ff` und weist ihnen zufällige, eindeutige Dateinamen für die temporären Filerefs zu, die für den Download und den Zugriff auf die ZIP-Datei verwendet werden.
Erklärung : Weist einen Fileref (`&rsp`) dem temporären Dateinamen (`&fn`) für die heruntergeladene ZIP-Datei zu. `PROC HTTP` wird dann verwendet, um eine GET-Anfrage an die angegebene URL zu senden und den Inhalt (die ZIP-Datei) in die Datei herunterzuladen, die dem Fileref `&rsp` zugeordnet ist.
Erklärung : Weist einen Fileref (`&ff`) der heruntergeladenen ZIP-Datei zu, um sie als ZIP-Bibliothek zu verwenden. Ein `DATA STEP` wird initiiert, um den durch `&outData` angegebenen Datensatz zu erstellen. Die `INFILE`-Anweisung liest die CSV-Datei 'F-F_Research_Data_Factors_daily.CSV' innerhalb der ZIP-Datei, verwendet das Komma als Trennzeichen, behandelt fehlende Werte und liest ab der ersten Zeile. Informate werden für Datums- und numerische Variablen definiert. Die Variablen werden gelesen, und eine Bedingung `if ^missing(date)` filtert Datensätze mit fehlendem Datum. Eine `ARRAY`-Schleife wird verwendet, um die vier Faktorvariablen (Mkt_RF, SMB, HML, RF) durch 100 zu teilen, um sie in Prozent umzuwandeln. Die Iterationsvariable `i` wird anschließend gelöscht.
Kopiert!
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;
Erklärung : Gibt die Filerefs `&rsp` und `&ff` frei, die für die temporären Dateien verwendet wurden, und gewährleistet so die Bereinigung der Ressourcen. `%mend` markiert das Ende der Makrodefinition.
Kopiert!
filename &rsp clear;
filename &ff clear;
%mend;
1
filename &rsp clear;
2
filename &ff clear;
3
%mend;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Copyright (c) 2015 by The Financial Risk Group, Cary, NC, USA.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.