Cette macro calcule le ratio de Sharpe pour évaluer la performance d'un actif ajustée au risque. Elle nécessite un jeu de données de rendements et un taux sans risque (valeur fixe ou variable). Le script s'appuie sur des macros auxiliaires non définies ici (%return_excess, %Standard_Deviation, %get_number_column_names, %ranname) pour le calcul des excès de rendement et de l'écart-type (volatilité). Le calcul final divise la moyenne des excès de rendement par leur écart-type via une étape DATA utilisant la fonction LAG.
Analyse des données
Type : EXTERNE
Les données financières (rendements) sont attendues via le paramètre macro '&returns'. Aucun jeu de données n'est généré ou chargé en dur dans le script.
1 Bloc de code
MACRO UTILS
Explication : Initialisation des variables macro et génération de noms de tables temporaires aléatoires via des macros utilitaires.
Explication : Combinaison des moyennes et des écarts-types. Utilisation de la fonction LAG pour diviser la moyenne (ligne précédente) par l'écart-type (ligne courante) afin d'obtenir le ratio de Sharpe.
Copié !
data &outData (keep= _stat_ &vars);
format _STAT_ $32.;
set &_tempRP &_tempStd(in=b);
array Sharpe[*] &vars;
do &i= 1 to dim(Sharpe);
Sharpe[&i]= lag(Sharpe[&i])/Sharpe[&i];
end;
_STAT_= 'Sharpe Ratio';
if b;
run;
1
DATA &outData (keep= _stat_ &vars);
2
FORMAT _STAT_ $32.;
3
SET &_tempRP &_tempStd(in=b);
4
5
array Sharpe[*] &vars;
6
DO &i= 1 to dim(Sharpe);
7
Sharpe[&i]= lag(Sharpe[&i])/Sharpe[&i];
8
END;
9
10
_STAT_= 'Sharpe Ratio';
11
IF b;
12
RUN;
6 Bloc de code
PROC DATASETS
Explication : Suppression des tables temporaires de travail.
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.
« Ce script illustre une mise en œuvre avancée de l'analyse de portefeuille via le langage macro SAS. Le Ratio de Sharpe est le standard de l'industrie pour mesurer l'excès de rendement par unité de risque (volatilité). L'enjeu ici est d'automatiser ce calcul sur un nombre indéterminé d'actifs tout en garantissant la reproductibilité des résultats. »
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.