timeFilters

expectedRange

Description

L'action expectedRange calcule l'étendue (range) et l'étendue relative mobile pour chaque observation d'une série chronologique dans les données d'entrée. Elle est particulièrement utile pour analyser la volatilité et les variations locales au sein de séries temporelles.

timeFilters.expectedRange <result=results> <status=rc> / casOut={casouttable} dttmName="string" expectedRangeWindowLength=64-bit-integer rangeWindowLength=64-bit-integer timeSeriesTable={castable} xVarNames={"string-1" <, "string-2", ...>};
Paramètres
ParamètreDescription
dttmNameSpécifie le nom de la variable contenant les informations de date et d'heure dans la table d'entrée (obligatoire).
expectedRangeWindowLengthDéfinit la longueur de la fenêtre (en nombre d'observations) utilisée pour le calcul de l'étendue attendue. La valeur doit être un entier supérieur ou égal à 1 (obligatoire).
rangeWindowLengthDéfinit la longueur de la fenêtre (en nombre d'observations) pour le calcul de l'étendue initiale. La valeur doit être un entier supérieur ou égal à 1 (obligatoire).
timeSeriesTableSpécifie la table CAS d'entrée contenant les données de la série chronologique à analyser (obligatoire).
xVarNamesSpécifie une ou plusieurs variables indépendantes (les séries à analyser) dans la table d'entrée (obligatoire).
casOutSpécifie les paramètres de la table de sortie qui contiendra les résultats des calculs (nom, librairie, remplacement, etc.).
Préparation des Données Voir la fiche de ce code dataprep
Création d'un jeu de données de séries chronologiques simulées

Nous créons une table CAS nommée 'TSDATA' contenant une variable de temps 'DATE' et une variable de valeur 'VALUE' avec des données aléatoires pour simuler une série.

Copié !
1 
2DATA casuser.tsdata;
3FORMAT date date9.;
4DO i=1 to 100;
5date=intnx('day', '01JAN2023'd, i-1);
6value=100 + rannor(1)*5;
7OUTPUT;
8END;
9drop i;
10 
11RUN;
12 

Exemples

Cet exemple calcule l'étendue sur la variable 'VALUE' avec une fenêtre d'étendue de 3 jours et une fenêtre d'étendue attendue de 5 jours.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3timeFilters.expectedRange / timeSeriesTable={name="tsdata", caslib="casuser"} dttmName="date" xVarNames={"value"} rangeWindowLength=3 expectedRangeWindowLength=5 casOut={name="range_results", caslib="casuser", replace=true};
4 
5RUN;
6 
Résultat :
Une table 'range_results' est créée dans la librairie 'casuser', contenant les statistiques d'étendue calculées pour chaque date.

Calcul des étendues avec des fenêtres plus larges (5 et 10) pour lisser la volatilité, en spécifiant une étiquette pour la table de sortie.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3timeFilters.expectedRange / timeSeriesTable={name="tsdata", caslib="casuser"} dttmName="date" xVarNames={"value"} rangeWindowLength=5 expectedRangeWindowLength=10 casOut={name="range_results_detailed", caslib="casuser", replace=true, label="Analyse Volatilité"};
4 
5RUN;
6 
Résultat :
La table de sortie 'range_results_detailed' contient les calculs basés sur les fenêtres spécifiées et porte l'étiquette 'Analyse Volatilité'.

FAQ

Quel est l'objectif principal de l'action expectedRange ?
Quels sont les paramètres obligatoires pour utiliser cette action ?
Quelle est la fonction du paramètre casOut ?
Quelle contrainte s'applique aux paramètres expectedRangeWindowLength et rangeWindowLength ?
Comment spécifier les variables à analyser ?