Publié le :
Finance EXTERNE

Macro Martin_Ratio

Ce code est également disponible en : Deutsch English Español
En attente de validation
Cette macro calcule le ratio de Martin en divisant l'excédent de rendement annualisé par l'Ulcer Index. Elle orchestre l'appel à plusieurs macros utilitaires (%return_excess, %return_annualized, %Ulcer_Index) et combine les résultats via une étape DATA utilisant la fonction LAG pour effectuer la division entre les résultats empilés.
Analyse des données

Type : EXTERNE


Les données d'entrée sont fournies via le paramètre macro 'returns'.

1 Bloc de code
MACRO
Explication :
Définition de la macro acceptant les paramètres de données (rendements), taux sans risque (Rf), échelle temporelle et méthode de calcul.
Copié !
1%macro Martin_Ratio(returns, Rf= 0, scale= 1, method= DISCRETE, dateColumn= DATE, outData= MartinRatio);
2... %mend;
3 
2 Bloc de code
MACRO CALL
Explication :
Appels aux macros sous-jacentes pour calculer les rendements excédentaires, les annualiser et calculer l'Ulcer Index.
Copié !
1%return_excess(...);
2%return_annualized(...);
3%Ulcer_Index(...);
4 
3 Bloc de code
DATA STEP Data
Explication :
Empile les résultats annualisés et l'Ulcer Index. Utilise la fonction LAG pour diviser la valeur de la première table (rendement) par celle de la seconde (risque) pour obtenir le ratio.
Copié !
1DATA &outData (drop= &i);
2 SET &annualized &ulcer_index;
3 array Ulcer[*] &vars;
4 DO &i= 1 to dim(Ulcer);
5 Ulcer[&i]= lag(Ulcer[&i])/Ulcer[&i];
6 END;
7RUN;
4 Bloc de code
DATA STEP Data
Explication :
Finalisation de la table de sortie : ajout de l'étiquette '_STAT_' et conservation uniquement de la dernière observation contenant le ratio calculé.
Copié !
1DATA &outData;
2 FORMAT _stat_ $32.;
3 SET &outData END= last;
4 _STAT_= 'Martin Ratio';
5 IF last;
6RUN;
5 Bloc de code
PROC DATASETS
Explication :
Suppression des tables temporaires de travail.
Copié !
1PROC DATASETS lib=work nolist;
2 delete &ulcer_index &annualized;
3RUN;
4QUIT;
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.